This is an old revision of the document!
Proiectul constă într-o tablă interactivă de 8×8, în care fiecare celulă este iluminată folosind LED-uri. Tabla va putea fi folosită pentru a juca diverse jocuri clasice (ex: 4-in-a-row, checkers), dar și pentru a rula diverse animații vizuale.
Scopul proiectului este crearea unei platforme hardware de divertisment retro, controlabilă prin butoane, care să ofere un feedback vizual rapid și fluid. Utilitatea rezidă în combinarea logicii de joc cu controlul matricelor de LED-uri și gestionarea resurselor externe (card SD), rezultând o consolă de jocuri minimalistă.
Pentru a interacționa cu tabla, vor fi prezente mai multe butoane dedicate comenzilor jucătorilor și pentru selectarea modului de joc dorit. De asemenea, sistemul va integra un modul pentru card SD, permițând încărcarea și rularea unor animații custom-made create de utilizator.
Schema bloc:
Lista de piese:
Schema electrică:
Sistemul utilizează o arhitectură monolitică bazată pe stări (State Machine) și principii OOP. Execuția este Time-Triggered (neblocantă), controlată de un Task Scheduler în loop() care impune o frecvență de aproximativ 50 FPS (FRAME_DELAY de 20ms). Memoria este alocată exclusiv static.
Timer2 prin custom_millis()) previne desincronizările cauzate de biblioteca FastLED, care blochează temporar întreruperile standard.
Arhitectura folosește State Pattern și polimorfism prin clasa abstractă de bază App, permițând decuplarea logică și comutarea dinamică între module (aplicații/jocuri). Contractul standard impune următoarele etape:
activeApp), garantând o izolare completă a codului, o adăugare facilă de noi funcționalități și evitând blocajele de execuție.Funcționalități și concepte de bază folosite pe microcontroler:
Work in progress