Prezentarea pe scurt a proiectului:
Jocul este implementat pe microcontroller-ul ATmega328p și include următoarele funcționalități:
* Afișaj video: Comunicarea cu ecranul LCD se realizează prin protocolul SPI.
* Controlul mișcării: Coordonatele navei sunt controlate prin joystick. Tensiunile potențiometrelor aferente axelor X și Y sunt convertite în valori numerice prin modulul ADC integrat pe microcontroller.
* Acțiuni: Butoanele sunt conectate la pinii digitali (GPIO). Pentru a filtra zgomotul mecanic (contact bounce) fără a folosi funcții blocante precum delay(), se utilizează un algoritm de debouncing bazat pe Timere.
| Nr. crt. | Nume componentă | Specificații | Cantitate |
|---|---|---|---|
| 1 | Arduino Uno | Placă de dezvoltare bazată pe microcontroller-ul ATmega328p | 1 |
| 2 | Modul ecran LCD | Modul LCD de 1.44'' cu SPI și Controller ST7735 (128×128 px) | 1 |
| 3 | Joystick analogic | Modul joystick cu 2 potențiometre (axa X, axa Y) | 1 |
| 4 | Buton (Push button) | Microîntrerupător tactil | 2 |
| 5 | Breadboard | Placă de test 830 de puncte | 1 |
| 6 | Fire de conexiune | Set fire Dupont (Male-Male, Male-Female) | 1 set |
| 7 | Cablu USB | Pentru alimentare și programare | 1 |
Placa Arduino Uno: Aceasta conține microcontroller-ul ATmega328p care gestionează logica jocului, afișajul pe display și citește inputurile date de joystick și butoane.
Ecran LCD: Pe acest ecran va fi afișat jocul “Micro Invaders” prin protocolul SPI.
Joystick: Acesta conține 2 potențiometre care determină poziția navei pe ecran prin maparea valorilor sale la coordonatele X și Y.
Butoane: Folosite pentru a trage cu proiectile către inamici.
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.