This is an old revision of the document!
Whack a mole
Proiect realizat de: Voinea Miruna-Georgiana
Grupa: 334CB
Introducere
Proiectul are la bază faimosul joc Whack a mole: există mai găuri pe unde cârtițele pot scote capul, iar obiectivul jucătorului este de a le împiedica să iasă din ascunzătoare prin lovituri cu un ciocănel.
Descriere generală
Spre deosebire de jocul tradițional, în loc de cârtițe vom avea led-uri, iar în loc să folosim un ciocănel, vom apăsa pe butoane.
Apariția unei cârtițe va fi semnalată de aprinderea unui led, iar pentru a câștiga puncte, jucătorul trebuie să apese butonul din dreptul led-ului respectiv.
Intervalele la care se aprind led-urile vor fi controlate cu ajutorul unui timer.
Pe măsură ce jocul avansează, scorul se va modifica și va fi afișat pe un LCD.
Hardware Design
Listă de piese:
Aici puneţi tot ce ţine de hardware design:
listă de piese
-
diagrame de semnal
rezultatele simulării
Software Design
Mediul de dezvoltare folosit: Arduino IDE
Schemă electrică realizată cu Tinkercad
Bibliotecă externă: LiquidCrystal_I2C.h
Flow joc:
La început, jucătorul are 3 vieți.
Se aprinde unul dintre cele 4 LED-uri reprezentând cârtițele.
Jucătorul poate lovi o cârtiță apăsând pe butonul din dreptul LED-ului.
Dacă LED-ul se stinge înainte ca jucătoul să apese pe buton sau se apasă un buton greșit, jucătorul pierde o viață.
Jocul se termină atunci când numărul de vieți ajunge să fie 0.
Am folosit timer1 pentru a controla intervalul de timp în care un LED este aprins, astfel încât atunci când timpul expiră, jucătorul să piardă o viață.
Atunci când se apasă un buton, se declanșează o întrerupere, butonul fiind identificat cu ajutorul funcției checkBit. Se verifică dacă butonul corespunde ultimului buton aprins: în caz afirmativ, scorul este incrementat, iar în caz negativ, jucătorul pierde o viață.
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
Proiectul este complet funcțional.
Link demo: https://youtu.be/IChtsEEhekQ
Care au fost rezultatele obţinute în urma realizării proiectului vostru.
Concluzii
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
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.
Export to PDF