This shows you the differences between two versions of the page.
pm:prj2021:amocanu:nokia-snake [2021/06/02 18:56] nicolae.croitoru99 |
pm:prj2021:amocanu:nokia-snake [2021/06/02 19:53] (current) nicolae.croitoru99 [Concluzii] |
||
---|---|---|---|
Line 37: | Line 37: | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | Descrierea codului aplicaţiei (firmware): | ||
+ | * mediu de dezvoltare: Arduino IDE | ||
+ | * librării şi surse 3rd-party: | ||
+ | * Adafruit_GFX.h | ||
+ | * Adafruit_PCD8544.h | ||
+ | * MPU6050.h | ||
+ | * stdlib.h | ||
+ | * time.h | ||
+ | * Wire.h | ||
+ | * algoritmi şi structuri pe care plănuiţi să le implementaţi | ||
+ | * coliziunea intre doua puncte | ||
+ | * instructiuni de logica (if, for) | ||
+ | * surse şi funcţii implementate | ||
+ | * surse: | ||
+ | - https://github.com/jrowberg/i2cdevlib/tree/master/Arduino (pentru MPU) | ||
+ | - https://github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library (pentru LCD) | ||
+ | - https://github.com/adafruit/Adafruit-GFX-Library (pentru LCD) | ||
+ | * functii: | ||
+ | - intro(): afisarea mesajului de inceput pe lcd | ||
+ | - init_snake(): la fiecare joc nou se initializeaza scorul, directiile, pozitiile hranei si a capului sarpelui, lungimea sarpelui, corpul sarpelui (si desenarea acestuia implicita). | ||
+ | - setup(): initializarea giroscopului, lcd-ului, apelul intro() si init_snake(), definirea altor variabile legate de joc si scor. | ||
+ | - loop(): verificarea daca jocul trebuie sa reinceapa (trebuie reinitializat sarpele), citirea de la accelerometru/giroscop a datelor, desenare margini (ziduri), desenarea sarpelui, desenarea hranei, implementarea logicii miscarii, coliziunea dintre capului sarpelui si margini, respectiv mancare, generearea unei pozitii noi pentru hrana, daca meciul se termina, se afiseaza mesajul de final impreuna cu scorul curent si cel mai bun scor din sesiunea curenta, iar apoi reincepe jocul). | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
*Demo: | *Demo: | ||
https://www.youtube.com/watch?v=ZlC1YUIlON0 | https://www.youtube.com/watch?v=ZlC1YUIlON0 | ||
- | *Cod sursă: | ||
- | https://github.com/valentin-99/Nokia-Snake | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Overall, it was pretty funny ^_^. A fost interesant sa lucrez la proiect, pentru partea de hardware am fost putin confuz la inceput, insa a mers totul bine, iar pe partea de software a durat ceva pana sa folosesc datele corect de la giroscop. Am finalizat proiectul, daca m-as fii apucat mai din timp probabil as mai fii incercat sa implementez cateva mici functionalitati, precum cresterea in lungime a sarpelui la fiecare punct in plus si cresterea vitezei acestuia la anumite milestone-uri de punctaj. | ||
===== Download ===== | ===== Download ===== | ||
- | + | *Cod sursă: | |
- | ===== Jurnal ===== | + | https://github.com/valentin-99/Nokia-Snake |
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== |