This is an old revision of the document!
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.
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.
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.
Arhitectura proiectului este structurata in jurul placii de dezvoltare ATmega328P-XMINI. Sistemul este impartit in mai multe module principale:
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.
Microcontrolerul gestioneaza logica jocului, miscarea inamicilor, detectia coliziunilor, actualizarea scorului si sincronizarea evenimentelor folosind timere hardware si intreruperi periodice.
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).
Lista de piese:
Schema electrica: TODO
Proiectul va fi implementat folosind limbajul C si va utiliza perifericele hardware ale microcontrolerului:
TODO
TODO