Andrei-Marian CODREANU (24864) - Snake

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul consta in implementarea unui joc Snake folosind un LCD si patru butoane. Scopul jocului este de a hrani sarpele cat mai mult si de a evita coliziunea capului cu orice alt obstacol din plan.

Descriere generală

Pentru implementarea jocului folosec patru butoane care vor schimba directia sarpelui catre stanga, dreapta, sus sau jos. Input-ul va fi tratat de catre unitatea de procesare ATMega324 iar output-ul il constitui dispozitivil LCD. Pozitia 'mancarii' va fi generata aleator, iar ecranul va fi actualizat la frecventa variabila. In momentul cand sarpele s-a hranit, el va deveni cu o unitate mai mare (coada lui va fi mai lunga), iar viteza lui va creste. Vor exista mai multe nivele, cu obstacole diferite, fiecare prezentand un grad mai mare de dificultate. Pentru a trece de la un nivel la altul, sarpele va trebuie sa atinga o anumita lungime. De asemenea va mai exista un 'bonus', reprezentat de o 'mancare' mai mare, care va contribui la dimensiunea sarpelui cu mai multe unitati. In partea din dreapta a ecranului va fi afisat numarul nivelului, viteza sarpelui si dimensiunea curenta a sarpelui.

Hardware Design

Am achizitionat urmatoarele:

  1. Display LCD grafic BLUE 128×64 ST7920 de pe olx.ro la un pret de 55Lei.
  2. 20 de fire colorate de tip Mama-Tata de 30 cm la aprox. 15Lei
  3. Buton 6x6x6 (2Lei) x 6
  4. Cablaj de test 140×90 la 6Lei
  5. Placa de baza PM2016
  6. Microcontroller ATMega324 [ATMEGA324PA-PU]
  7. Quartz 16MHz [HC-49S]
  8. Dioda Zener [BZX55C3V3] x 2
  9. Soclu microcontroller [LC40]
  10. Condensator ceramic 15 pF [CML 15pF 50V NP0]
  11. Condensator ceramic 100nF [CML 100nF 50V NP0]
  12. Rezistenta 10K [RW25CF 10K]
  13. Rezistenta 1K5 [RW25CF 1K5]
  14. Rezistenta 100R [RW25CF 100R]
  15. Rezistenta 470R [RW25CF 470R]
  16. Conector USB-B [USB B-PCB-R]
  17. Led 3mm ROSU [CLL-50221] x 2
  18. Pini tata x40

Schema electrica:

Software Design

Am dezvoltat jocul in programmer's notepad AVR. Am folosit ca librarie pentru display u8glib.

Rezultate Obţinute

Rezultatele constau intr-un joc snake complet functional, cu 3 nivele.

Concluzii

A fost un proiect interesant care m-a ajutat sa realizez care este potentialul unui microcontroller.

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2016:avoinescu:dumitru_alin.

codreanu_andrei-marian.zip

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

pm/prj2016/avoinescu/snakelcdcodreanu.txt · Last modified: 2021/04/14 17:07 (external edit)
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