This shows you the differences between two versions of the page.
|
pm:prj2021:abirlica:snake [2021/05/25 17:53] maria_aurelia.cadar |
pm:prj2021:abirlica:snake [2021/06/01 16:06] (current) maria_aurelia.cadar |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ===== Snake ===== | ===== Snake ===== | ||
| ===== Autor ===== | ===== Autor ===== | ||
| - | Cadar Maria-Aurelia | + | **Autor**: [[maria_aurelia.cadar@stud.acs.upb.ro|CADAR Maria-Aurelia]] |
| ===== Introducere ===== | ===== Introducere ===== | ||
| Proiectul reprezinta implementarea clasicului joc Snake pe un ecran LCD la care adaug un buzzer pentru a scoate un sunet de fiecare data cand sarpele ajunge la hrana. | Proiectul reprezinta implementarea clasicului joc Snake pe un ecran LCD la care adaug un buzzer pentru a scoate un sunet de fiecare data cand sarpele ajunge la hrana. | ||
| ===== Descriere generală ===== | ===== Descriere generală ===== | ||
| - | Jucatorul poate controla linia ce reprezinta sarpele ce se poate deplasa sus, jos, stanga, dreapta cu ajutorul unor butoane. In implementare am ales sa folosesc biblioteca nokia5110. | + | Jucatorul poate controla linia ce reprezinta sarpele ce se poate deplasa sus, jos, stanga, dreapta cu ajutorul unor butoane. In implementare am ales sa folosesc biblioteca pentru nokia5110. |
| === Schema bloc === | === Schema bloc === | ||
| {{:pm:prj2021:abirlica:schemablocaura.png?700|}} | {{:pm:prj2021:abirlica:schemablocaura.png?700|}} | ||
| Line 11: | Line 11: | ||
| === Lista de componente === | === Lista de componente === | ||
| * Arduino UNO\\ | * Arduino UNO\\ | ||
| - | * Breadboard\\ | + | * 2 Breadboard\\ |
| * LCD Nokia5110\\ | * LCD Nokia5110\\ | ||
| * 5 butoane\\ | * 5 butoane\\ | ||
| Line 33: | Line 33: | ||
| {{:pm:prj2021:abirlica:snake-linie-2.jpg?500|}}\\ | {{:pm:prj2021:abirlica:snake-linie-2.jpg?500|}}\\ | ||
| + | |||
| + | ===== Software Design ===== | ||
| + | Biblioteci folosite: | ||
| + | * EEPROM.h - folosita pentru a citi anumite valori atunci cand placuta este oprita | ||
| + | * Adafruit_GFX.h - folosita pentru desenarea sarpelui | ||
| + | * Adafruit_PCD8544.h - folosita pentru display-ul Nokia 5110 LCD | ||
| + | Mediul de dezvoltare utilizat a fost Arduino IDE.\\ | ||
| + | \\ | ||
| + | Coordonatele de inceput ale sarpelui le stochez in 2 vectori. Initial sarpele are o lungime predefinita si directia de deplasare, viteza si pozitiile fixate. Verific mereu daca unul dintre butoane este apasat, in cazul in care este apasat, schimb directia de orientare a sarpelui, iar pentru o perioada de timp nu se va mai putea schimba directia. Aceasta perioada de timp, stocata in variabila 'time' reprezinta si viteza sarpelui. In cazul in care niciun buton nu a fost apasat, sarpele inainteaza in directia in care este orientat. Verific constant daca sarpele are coliziune cu oul, in acest caz scorul si lungimea sarpekui cresc, iar buzzer-ul scoate un bipait scurt, iar daca sarpele are coliziune cu el insusi si in acest caz afisez textul "Game over", precum si scorul si high score-ul, iar buzzer-ul scoate un bipait mai lung. O alta functionalitate a jocului este butonul de pauza, care odata apasat, jocul ia o pauza de 5 secunde. | ||
| + | ===== Rezultate obtinute ===== | ||
| Snake:\\ | Snake:\\ | ||
| {{:pm:prj2021:abirlica:snake-linie-1.jpg?300|}}\\ | {{:pm:prj2021:abirlica:snake-linie-1.jpg?300|}}\\ | ||
| Line 39: | Line 49: | ||
| Game Over:\\ | Game Over:\\ | ||
| {{:pm:prj2021:abirlica:snake-game-over.jpg?300|}}\\ | {{:pm:prj2021:abirlica:snake-game-over.jpg?300|}}\\ | ||
| - | ===== Software Design ===== | + | |
| - | ===== Rezultate obtinute ===== | + | Demo: [[https://youtu.be/FGP5dOXqaN8 | Snake]]\\ |
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| + | Am reusit sa realizez clasicul joc Snake pe un ecran de Nokia. Am invatat sa ma documentez despre conectarea pieselor cu Arduino si despre afisarea pe un display. | ||
| ===== Download ===== | ===== Download ===== | ||
| - | <note tip> Documentatia in format PDF este: {{:pm:prj2021:abirlica:snake.pdf|}}\\ | + | <note tip> Documentatia in format PDF este: {{:pm:prj2021:abirlica:cadar_aurelia_334CC_snake.pdf| Snake}}\\ |
| + | Codul proiectului: {{:pm:prj2021:abirlica:cadar_maria_aurelia_334CC.zip| Snake}}\\ | ||
| Link pagina: https://ocw.cs.pub.ro/courses/pm/prj2021/abirlica/snake </note>\\ | Link pagina: https://ocw.cs.pub.ro/courses/pm/prj2021/abirlica/snake </note>\\ | ||
| ===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
| - | * Schema electrica a fost realizata folosind [[ https://www.autodesk.com/products/eagle/free-download?plc=F360&term=1-YEAR&support=ADVANCED&quantity=1 | Eagle]]\\ | + | * Schema electrica a fost realizata folosind [[ https://www.autodesk.com/products/eagle/free-download?plc=F360&term=1-YEAR&support=ADVANCED&quantity=1 | Eagle]]\\ |
| - | * Schema bloc a fost realizata folosind [[https://www.draw.io]] | + | * Schema bloc a fost realizata folosind [[https://www.draw.io]] |
| + | * [[https://github.com/adafruit/Adafruit-GFX-Library]] | ||
| + | * [[https://github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library]] | ||
| + | * [[https://www.arduino.cc/en/Reference/EEPROM]] | ||
| + | * [[https://lastminuteengineers.com/nokia-5110-lcd-arduino-tutorial/]] | ||