This is an old revision of the document!
Prezentarea pe scurt a proiectului:
Jocul este implementat pe microcontroller-ul ATmega328P și include următoarele funcționalități:
| Nr. crt. | Nume componentă | Specificații | Cantitate |
|---|---|---|---|
| 1 | Arduino Nano | 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 | 1 |
| 5 | Breadboard | Placă de test 830 de puncte | 1 |
| 6 | Fire de conexiune | Fire cu izolație PVC (22AWG) | 1 set |
| 7 | Cablu USB | Pentru alimentare și programare | 1 |
| Componentă | Pin Componentă | Pin Arduino Nano | Port / Registru ATmega328P | Descriere |
|---|---|---|---|---|
| Display LCD | VCC | 5V | — | Alimentare logică ecran. |
| GND | GND | — | Masă circuit. | |
| SCL | Pin 13 | PORTB (PB5) | Hardware SPI Clock: Sincronizează transferul rapid de date. | |
| SDA | Pin 11 | PORTB (PB3) | Hardware SPI MOSI: Linie master-to-slave pentru trimis pixeli. | |
| RES | Pin 9 | PORTB (PB1) | Reset hardware la inițializarea ecranului. | |
| DC | Pin 8 | PORTB (PB0) | Data/Command: Schimbă starea între comenzi (0) și pixeli (1). | |
| CS | Pin 10 | PORTB (PB2) | Chip Select: Activează/dezactivează magistrala SPI pentru ecran. | |
| BLK | 3.3V | — | Alimentare LED Backlight (lumină fundal). | |
| Joystick | 5V | 5V | — | Alimentare potențiometre interne. |
| GND | GND | — | Referință masă (0V). | |
| VRx | Pin A0 | ADC0 (Canal 0) | Convertor Analog-Digital: Citește poziția X (valori 0-1023). | |
| VRy | Pin A1 | ADC1 (Canal 1) | Convertor Analog-Digital: Citește poziția Y (valori 0-1023). | |
| Push Button | Pin 1 | Pin 3 | PORTD (PD3) | Citire rapidă stare buton. Are Pull-up intern activat. |
| Pin 2 | GND | — | Închide circuitul la masă când butonul este apăsat. |
Link video: https://youtu.be/86-g_5LCc6M?si=7hPv4MY68I2BOmY2
Aplicația a fost dezvoltată pe VS Code cu extensia PlatformIO.
Pentru controlul ecranului TFT și randarea primitivelor grafice, au fost utilizate următoarele librării externe:
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.