This is an old revision of the document!
Avoidino - Destroy 'n Run
Introducere
Prezentare pe scurt:
Un joc simplu inspirat puțin din jocul Subway Surfers, afișat pe un ecran LCD și controlat cu un keypad.
Jocul constă în a evita obstacole prin mutări la stânga sau la dreapta, cu posibilitatea de a distruge obstacolele prin tragerea de gloanțe pentru a te feri și a câștiga mai multe puncte, toate prin intermediul keypad-ului.
În timpul jocului, un LED de culoare verde va rămâne aprins, iar la pierderea jocului prin coliziunea cu un obstacol, se va stinge LED-ul verde și se va aprinde cel roșu.
Se vor auzi zgomote la distrugerea obstacolelor și la pierderea jocului prin intermediul unui buzzer.
Scopul jocului este pur recreativ.
Descriere generală
Hardware Design
Lista de componente utilizate:
-
-
Breadboard
Fire
-
-
Rezistențe
2 LED-uri RGB
Schema electrica:
Detalii despre pini:
Alocarea pinilor s-a făcut cu scopul de a asigura compatibilitate cu perifericele folosite și de a permite un control eficient la nivel de registru atunci când este necesar.
Ecranul TFT este conectat prin magistrala SPI, utilizând pinii standard pentru Arduino UNO: pinul digital 10 pentru CS (chip select), 9 pentru DC (data/command) și 12 pentru reset (RST).
Tastatura matricială (keypad-ul) este conectată la pinii analogici A0–A4, împărțiți în patru pini de rând (A1–A4) și un pin de coloană (A0), ceea ce permite multiplexarea tastelor fără a consuma pini digitali suplimentari.
Buzzer-ul este conectat pe pinul digital 3 (PD3), care corespunde ieșirii de tip PWM OC2B a Timerului 2. Alegerea acestui pin permite generarea de semnal audio controlat în mod direct prin setarea registrelor TCCR2A/B și OCR2A/B, în locul folosirii funcției de nivel înalt tone().
LED-urile roșu și verde sunt conectate pe pinii PD5 și PD6, controlați direct prin portul PORTD. Această mapare a pinilor reflectă atât constrângerile hardware ale plăcii, cât și obiectivul de a lucra cât mai aproape de nivelul de registru.
Software Design
Descrierea codului aplicaţiei (firmware):
mediu de dezvoltare (if any) (e.g. AVR Studio, PlatformIO)
biblioteci şi surse 3rd-party folosite (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
Concluzii
Cod sursă - Download
Demo