This shows you the differences between two versions of the page.
|
pm:prj2026:victor.stoica0203:ioana_maria.serban [2026/05/06 23:36] ioana_maria.serban created |
pm:prj2026:victor.stoica0203:ioana_maria.serban [2026/05/11 14:55] (current) ioana_maria.serban |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| ===== Introducere ===== | ===== Introducere ===== | ||
| - | Proiectul consta in realizarea unui joc simplificat de tip Chicken Invaders folosind placa de dezvoltare ATmega328P-XMINI si un display LCD1602. Jucatorul controleaza o nava aflata pe linia inferioara a ecranului si trebuie sa elimine inamicii care apar periodic pe ecran. | + | Proiectul constă în realizarea unui joc simplificat de tip Chicken Invaders folosind placa de dezvoltare ATmega328P-XMINI și un display LCD1602. Jucătorul controlează o navă aflată pe linia inferioară a ecranului și trebuie să elimine inamicii care apar periodic pe ecran. |
| - | Scopul proiectului este implementarea unui sistem embedded interactiv care combina mai multe concepte studiate la laboratorul de Microprocesoare, precum utilizarea timerelor hardware, a intreruperilor, a conversiei analog-digitale (ADC) si a semnalelor PWM. | + | Scopul proiectului este implementarea unui sistem embedded interactiv care combină mai multe concepte studiate la laboratorul de Microprocesoare, precum utilizarea timerelor hardware, a întreruperilor, a conversiei analog-digitale (ADC) și a semnalelor PWM. |
| - | Consider ca acest proiect este util deoarece imi ofera posibilitatea de a aplica practic notiunile studiate in laborator intr-un proiect interactiv si vizual, apropiat de domeniul jocurilor video, folosind resurse hardware limitate specifice sistemelor embedded. | + | Consider că acest proiect este util deoarece îmi oferă posibilitatea de a aplica practic noțiunile studiate în laborator într-un proiect interactiv și vizual, apropiat de domeniul jocurilor video, folosind resurse hardware limitate specifice sistemelor embedded. |
| - | ===== Descriere generala ===== | + | ===== Descriere generală ===== |
| - | Arhitectura proiectului este structurata in jurul placii de dezvoltare ATmega328P-XMINI. Sistemul este impartit in mai multe module principale: | + | Arhitectura proiectului este structurată în jurul plăcii de dezvoltare ATmega328P-XMINI. Sistemul este împărțit în mai multe module principale: |
| * Modulul de Input (Control): | * Modulul de Input (Control): | ||
| - | Permite controlul navei prin intermediul unui potentiometru sau al butoanelor. Pozitia navei este citita folosind modulul ADC al microcontrolerului, iar actiunile utilizatorului sunt tratate folosind GPIO si intreruperi externe. | + | 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): | ||
| - | Microcontrolerul gestioneaza logica jocului, miscarea inamicilor, detectia coliziunilor, actualizarea scorului si sincronizarea evenimentelor folosind timere hardware si intreruperi periodice. | + | Microcontrolerul gestionează logica jocului, mișcarea inamicilor, detecția coliziunilor, actualizarea scorului și sincronizarea evenimentelor folosind timere hardware și întreruperi periodice. |
| * Modulul de Output: | * Modulul de Output: | ||
| - | Afisarea jocului se realizeaza pe un display LCD1602, iar efectele sonore sunt generate cu ajutorul unui buzzer pasiv controlat prin PWM. Optional, LED-urile vor fi utilizate pentru semnalizarea anumitor stari 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 28: | Line 28: | ||
| Lista de piese: | Lista de piese: | ||
| - | * Placa de dezvoltare ATmega328P-XMINI / Arduino UNO compatibil | + | * Placă de dezvoltare ATmega328P-XMINI |
| - | * Display LCD1602A HD44780 | + | * Display LCD1602A HD44780 cu modul I2C |
| - | * Potentiometru 10K | + | * Modul joystick cu buton |
| + | * Buton tactil | ||
| * Buzzer pasiv | * Buzzer pasiv | ||
| - | * Microintrerupatoare | + | * LED RGB |
| - | * LED-uri | + | * Rezistențe 220R |
| - | * Rezistente 220R / 10K | + | |
| * Breadboard | * Breadboard | ||
| * Fire jumper | * Fire jumper | ||
| * Cablu USB | * Cablu USB | ||
| - | Schema electrica: 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 ===== | ||
| - | Proiectul va fi implementat folosind limbajul C si va utiliza perifericele hardware ale microcontrolerului: | + | Proiectul va fi implementat folosind limbajul C și va utiliza perifericele hardware ale microcontrolerului: |
| - | * ADC pentru citirea inputului analogic | + | * ADC pentru citirea axelor 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 butoane si LED-uri | + | * GPIO pentru controlul LED-ului RGB |
| - | * USART pentru debug si afisarea scorului in Serial Monitor | + | * USART pentru debug și afișarea scorului în Serial Monitor |
| - | ===== Rezultate Obtinute ===== | + | ===== Rezultate Obținute ===== |
| TODO | TODO | ||
| Line 62: | Line 82: | ||
| * 29.04.2026 - Alegerea temei | * 29.04.2026 - Alegerea temei | ||
| - | * 06.05.2026 - Crearea paginii wiki si definirea structurii proiectului | + | * 06.05.2026 - Crearea paginii wiki și definirea structurii proiectului |
| - | * 06.05.2026 - Adaugarea descrierii generale si a schemei bloc | + | * 06.05.2026 - Adăugarea descrierii generale și a schemei bloc |
| + | * 11.05.2026 - Stabilirea configurației hardware și conectarea componentelor | ||