Snake

Autor

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.

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 pentru nokia5110.

Schema bloc

Lista de componente

  • Arduino UNO
  • 2 Breadboard
  • LCD Nokia5110
  • 5 butoane
  • Buzzer
  • Rezistente
  • Fire conexiune mama - mama
  • Fire conexiune tata - mama

Schema electrica

Hardware Design

Conectare ecran LCD - Arduino UNO:
Modulul LCD Nokia 5110 vine cu 8 pini conectati astfel:

  • RST → D3
  • CE → D4
  • DC → D5
  • D1N → D6
  • CLK → D7
  • VCC → 3V
  • BL → 3V
  • GND → GND


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:

Paused:

Game Over:

Demo: Snake

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

Documentatia in format PDF este: Snake
Codul proiectului: Snake
Link pagina: https://ocw.cs.pub.ro/courses/pm/prj2021/abirlica/snake


Bibliografie/Resurse

pm/prj2021/abirlica/snake.txt · Last modified: 2021/06/01 16:06 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