This is an old revision of the document!
Introducere
Proiectul este un joc de tip endless runner inspirat din jocul cu dinozaurul din Google Chrome, rulat pe un microcontroler ATmega328P Xplained Mini.
Jucatorul controleaza un dinozaur care sare peste obstacole, folosind un singur buton
Jocul este afisat pe un ecran OLED SSD1306 de 128×64 pixeli
Un senzor de lumina (LDR) detecteaza lumina din camera si schimba automat tema ecranului intre modul luminos si dark mode
Descriere generala
Proiectul a fost creat in jurul placii ATmega328P-Xplained-Mini drept creier principal. La aceasta am conectat un ecran OLED SSD1306 de 128×64, un buton si un senzor de lumina LDR pentru detectia luminozitatii ambientale.
Module Hardware
Microcontrolerul (ATmega328P Xplained Mini): Unitatea centrala a proiectului, ruleaza logica jocului, coordoneaza comunicatia cu ecranul prin SPI, citeste senzorul de lumina prin ADC si proceseaza intreruperea de la buton.
Modulul de Iesire Vizuala (OLED SSD1306 128×64): Comunica cu microcontrolerul prin interfata hardware SPI, randeaza dinozaurul, obstacolele, solul si scorul. Suporta comanda nativa de inversare hardware (0xA6 / 0xA7), permitand comutarea instantanee intre tema luminoasa si dark mode fara redesenarea ecranului.
Modulul de Intrare Digitala (Buton Tactil): Conectat la pinul PD2, care suporta intreruperea externa INT0. O singura apasare porneste jocul, apasarile ulterioare declanseaza saritura dinozaurului. Pull-up-ul intern al microcontrolerului este activat, eliminand necesitatea unui rezistor extern.
Module Software
Game State Machine: Gestioneaza starile globale ale sistemului (STATE_IDLE, STATE_RUNNING, STATE_GAME_OVER), controland ce logica se executa la un moment dat si cum se tranzitioneaza intre stari la apasarea butonului.
Game Logic: Avanseaza pozitiile obstacolelor, aplica gravitatia asupra dinozaurului, creste progresiv viteza de derulare si executa detectia de coliziune prin compararea bounding box-urilor dinozaurului si cactusilor.
Descriere generala
Lista de piese:
Schema electrica