Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2021:abirlica:snake [2021/05/25 17:58]
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\\ ​+  * Breadboard\\ ​
   * LCD Nokia5110\\ ​   * LCD Nokia5110\\ ​
   * 5 butoane\\ ​   * 5 butoane\\ ​
Line 35: Line 35:
  
 ===== Software Design ===== ===== 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 ===== ===== Rezultate obtinute =====
 Snake:​\\ ​ Snake:​\\ ​
Line 42: Line 49:
 Game Over:​\\ ​ Game Over:​\\ ​
 {{:​pm:​prj2021:​abirlica:​snake-game-over.jpg?​300|}}\\ ​ {{:​pm:​prj2021:​abirlica:​snake-game-over.jpg?​300|}}\\ ​
 +
 +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/​]]
pm/prj2021/abirlica/snake.1621954703.txt.gz · Last modified: 2021/05/25 17:58 by maria_aurelia.cadar
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0