Snake
Autor: Ciurea Robert-Mihai 333CB
Introducere
Scopul proiectului îl constituie crearea jocului Snake pe o matrice RGB LED și afișarea scorului pe un display LED de 4×7. De asemenea, se va genera sunet la atingerea marginilor ecranului sau în momentul în care șarpele prinde un obiect de pe ecran.
Am ajuns la această idee de proiect după ce am realizat ca aparatul etilotest nu era o idee suficient de complicata pentru proiect si eram sigur ca nu mi-ar fi fost aprobat, așa că aici mi-am propus sa-mi complic viața cât mai mult cu putință astfel încât să învăț chestii noi și să mă și distrez nițel.
Descriere generală
Un jucător va controla șarpele folosind 4 butoane, afișarea jocului propriu-zis se va face pe o matrice de LED-uri roșii 8×8, în momentul în care jucătorul obține un punct, pe un display led de 8 cifre o să se incrementeze un contor ce va reprezenta scorul curent.
În momentul în care jucătorul pierde jocul, se va aprinde un LED roșu și se va auzi o sonorizare din buzzer pentru a marca finalul jocului, respectiv va putea vizualiza scorul final pe display led-ul de 8 cifre.
Display LED-ul prezinta 8 butoane ce vor fi utilizate pentru a se putea selecta și gradul de dificultate al jocului, acesta default va avea nivelul de dificultate cel mai mic. Dificultatea va fi marcată de viteza de mișcare a șarpelui
Hardware Design
Display LED cu 8 Cifre și Butoane Bazat pe TM1638
Placa de Dezvoltare Compatibila cu Arduino UNO R3 (ATmega328p + ATmega16u2)
4 x butoane
breadboard
buzzer activ de 3 V
LED RGB cu catod comun
Matrice de LED-uri Bicoloră Roșie și Verde 8×8 3.75 mm
fire tată - tată
fire mama - mama
Structura TinkerCad pentru planificarea modului de utilizare al buzzerului ce anunta terminarea jocului. Aici iau in calcul si un buton intrucat am ales sa fac testarea simultana a celor doua componente pentru procesul de invatare si asigurare a functionalitatii componentelor.
Buzzer-ul are drept scop marcarea finalizarii joculiu. Am ales sa utilizez un buzzer activ astfel incat sa nu fiu nevoit sa adaug o sura externa de curent, tinand cont ca buzzerul pasiv functioneaza prin aparitia unor variatii de tensiune ce duc la generarea sunetului. In cadrul modului de test configurat, buzzer-ul este activat in momentul in care se apasa butonul de pe breadboard.
Diagrama de circuit pentru configurarea conectarii matricii de LED-uri la arduino uno
Scopul matricii de led-uri il constituie afisarea jocului propriu-zis de snake, jucatorul putand vizualiza sarpele, impreuna cu obiectul ce trebuie sa fie consumat de sarpe pentru a obtine puncte, jocul se opreste in momentul in care sarpele se atinge pe el insusi in orice punct al acestuia.
Am utilizat un TM1638 LED and Key Display intrucat pe langa functionalitatea basic de a arata pe un ecran LED mai multe informatii in functie de necesitati, acesta vine incorporat si cu o serie de 8 butoane si 8 led-uri in functie de ceea ce se apasa.
Scopul aecstui device il constituie contabilizarea numarului de puncte acumulate in timpul unui joc impreuna cu stabilirea nivelului de dificultate al jocului. Nivelul de dificultate insemnand viteza de miscare a sarpelui.
Software Design
Descrierea codului aplicaţiei (firmware):
mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
librării şi surse 3rd-party (e.g. Procyon AVRlib)
algoritmi şi structuri pe care plănuiţi să le implementaţi
(etapa 3) surse şi funcţii implementate
Rezultate Obţinute
Care au fost rezultatele obţinute în urma realizării proiectului vostru.
În etapele următoare… stay tuned!
Concluzii
În etapele următoare… stay tuned!
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:prj2009:cc:dumitru_alin.
Jurnal
Bibliografie/Resurse
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.
Export to PDF