Proiect realizat de: Voinea Miruna-Georgiana
Grupa: 334CB
Proiectul are la bază faimosul joc Whack a mole: există mai multe găuri pe unde cârtițele pot scoate capul, iar obiectivul jucătorului este de a le împiedica să iasă din ascunzătoare prin lovituri cu un ciocănel.
Listă de piese:
Mediul de dezvoltare folosit: Arduino IDE
Schemă electrică realizată cu Tinkercad
Bibliotecă externă: LiquidCrystal_I2C.h
Flow joc:
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 LED aprins: în caz afirmativ, scorul este incrementat, iar în caz contrar, jucătorul pierde o viață.
Pentru a afișa scorul și numărul de vieți rămase, se folosește LCD-ul cu modul I2C.
Proiectul este complet funcțional.
Link demo: https://youtu.be/IChtsEEhekQ
Sunt foarte mulțumită de rezultatele obținute deoarece am reușit să implementez exact ce mi-am propus.
Întregul proiect a fost o experiență plăcută: m-a ajutat să înțeleg mai bine noțiunile explicate la laborator și chiar am descoperit că proiectele cu Arduino nu sunt atât de complicate pe cât credeam.
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.
Pentru interacțiunea cu display-ul lcd, am folosit biblioteca LiquidCrystal_I2C.h preluată de pe https://www.optimusdigital.ro/ro/optoelectronice-lcd-uri/2894-lcd-cu-interfata-i2c-si-backlight-albastru.html?search_query=lcd+i2c&results=18
Pentru utilizarea întreruperilor: https://forum.arduino.cc/t/multiple-hardware-interrupts-for-arduino-uno/571974/14