This shows you the differences between two versions of the page.
|
pm:prj2026:victor.stoica0203:ioana_maria.serban [2026/05/11 13:44] ioana_maria.serban |
pm:prj2026:victor.stoica0203:ioana_maria.serban [2026/05/11 14:55] (current) ioana_maria.serban |
||
|---|---|---|---|
| Line 14: | Line 14: | ||
| * Modulul de Input (Control): | * Modulul de Input (Control): | ||
| - | Permite controlul navei prin intermediul unui joystick. Poziția navei este citită folosind modulul ADC al microcontrolerului, iar apăsarea joystick-ului este tratată folosind GPIO și întreruperi externe. Opțional, pot fi adăugate butoane suplimentare pentru start, restart sau pauză. | + | Permite controlul navei prin intermediul unui joystick. Poziția navei este citită folosind modulul ADC al microcontrolerului, iar apăsarea joystick-ului este tratată folosind GPIO și întreruperi externe. Un buton tactil suplimentar este utilizat pentru funcțiile de start, restart și pauză. |
| * Modulul de Control (Game Engine): | * Modulul de Control (Game Engine): | ||
| Line 20: | Line 20: | ||
| * Modulul de Output: | * Modulul de Output: | ||
| - | Afișarea jocului se realizează pe un display LCD1602, iar efectele sonore sunt generate cu ajutorul unui buzzer pasiv controlat prin PWM. Opțional, LED-urile vor fi utilizate pentru semnalizarea anumitor stări ale jocului (hit, game over etc). | + | Afișarea jocului se realizează pe un display LCD1602 cu interfață I2C, iar efectele sonore sunt generate cu ajutorul unui buzzer pasiv controlat prin PWM. Un LED RGB va fi utilizat pentru semnalizarea anumitor stări ale jocului (hit, game over, pauză etc). |
| - | {{schema_bloc.png?700}} | + | {{schema_bloc_chicken_invaders.png?700}} |
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| Line 29: | Line 29: | ||
| * Placă de dezvoltare ATmega328P-XMINI | * Placă de dezvoltare ATmega328P-XMINI | ||
| - | * Display LCD1602A HD44780 | + | * Display LCD1602A HD44780 cu modul I2C |
| * Modul joystick cu buton | * Modul joystick cu buton | ||
| + | * Buton tactil | ||
| * Buzzer pasiv | * Buzzer pasiv | ||
| - | * LED-uri | + | * LED RGB |
| - | * Rezistențe 220R / 10K | + | * Rezistențe 220R |
| * Breadboard | * Breadboard | ||
| * Fire jumper | * Fire jumper | ||
| * Cablu USB | * Cablu USB | ||
| - | Schema electrică: TODO | + | ===== Schema electrică ===== |
| + | |||
| + | ^ Componentă ^ Pin componentă ^ Pin microcontroller ^ | ||
| + | | LCD1602 I2C | SDA | PC4 | | ||
| + | | LCD1602 I2C | SCL | PC5 | | ||
| + | | LCD1602 I2C | VCC | VCC | | ||
| + | | LCD1602 I2C | GND | GND | | ||
| + | | Joystick | VRx | PC0 | | ||
| + | | Joystick | VRy | PC1 | | ||
| + | | Joystick | SW | PD2 | | ||
| + | | Joystick | VCC | VCC | | ||
| + | | Joystick | GND | GND | | ||
| + | | Buzzer pasiv | + | PB1 | | ||
| + | | Buzzer pasiv | - | GND | | ||
| + | | LED RGB | R | PD6 | | ||
| + | | LED RGB | G | PD5 | | ||
| + | | LED RGB | B | PB2 | | ||
| + | | LED RGB | pin comun | GND | | ||
| + | | Buton tactil | semnal | PD3 | | ||
| + | | Buton tactil | al doilea pin | GND | | ||
| ===== Software Design ===== | ===== Software Design ===== | ||
| Line 44: | Line 64: | ||
| Proiectul va fi implementat folosind limbajul C și va utiliza perifericele hardware ale microcontrolerului: | Proiectul va fi implementat folosind limbajul C și va utiliza perifericele hardware ale microcontrolerului: | ||
| - | * ADC pentru citirea axei X a joystick-ului | + | * ADC pentru citirea axelor joystick-ului |
| - | * GPIO / întreruperi externe pentru apăsarea joystick-ului | + | * GPIO / întreruperi externe pentru apăsarea joystick-ului și a butonului tactil |
| * Timere hardware pentru game loop | * Timere hardware pentru game loop | ||
| * PWM pentru efecte sonore | * PWM pentru efecte sonore | ||
| - | * GPIO pentru LED-uri | + | * GPIO pentru controlul LED-ului RGB |
| * USART pentru debug și afișarea scorului în Serial Monitor | * USART pentru debug și afișarea scorului în Serial Monitor | ||
| Line 64: | Line 84: | ||
| * 06.05.2026 - Crearea paginii wiki și definirea structurii proiectului | * 06.05.2026 - Crearea paginii wiki și definirea structurii proiectului | ||
| * 06.05.2026 - Adăugarea descrierii generale și a schemei bloc | * 06.05.2026 - Adăugarea descrierii generale și a schemei bloc | ||
| + | * 11.05.2026 - Stabilirea configurației hardware și conectarea componentelor | ||