This is an old revision of the document!
TicTacToe++ este o consolă de buzunar care mută clasicul joc “X și 0” de pe hârtie pe hardware propriu. Proiectul rezolvă o problemă simplă: dependența de ecrane tactile și software complex, oferind în schimb o experiență tactilă, cu butoane fizice și un sistem care funcționează oriunde, fără internet sau reclame.
Creierul sistemului este un microcontroler care gestionează singur regulile, afișează starea jocului pe un ecran OLED clar și oferă feedback sonor prin buzzer. Este un gadget “open-source” construit de la zero, care pune accent pe portabilitate și pe satisfacția de a te juca pe un dispozitiv asamblat chiar de tine.
Pe lângă distracție, proiectul este un exemplu practic de electronică aplicată. Demonstrează cum poți folosi componente ieftine și eficiente pentru a crea un sistem de gaming funcțional, fiind ideal pentru oricine vrea să vadă cum codul scris pe calculator prinde viață într-un obiect fizic pe care îl poți ține în mână.
Componentele principale pe care le utilizez în proiect sunt:
Microcontroler ATmega328P (Xplained Mini)
Este unitatea centrală de procesare a consolei, responsabilă pentru rularea logicii jocului și coordonarea tuturor perifericelor. Acesta citește semnalele de la butoane, procesează mutările jucătorilor și transmite datele vizuale către ecran și semnalele audio către buzzer. Placa permite programarea facilă prin interfața Micro-USB și oferă suficienți pini I/O pentru extinderi ulterioare.
Display OLED 0.96 inch
Am utilizat un afișaj OLED cu rezoluție de 128×64 pixeli pentru a oferi interfața grafică a jocului TicTacToe++. Acesta comunică cu microcontrolerul prin protocolul I2C (Inter-Integrated Circuit), utilizând doar doi pini de date (SDA și SCL), ceea ce reduce complexitatea cablajului. Ecranul afișează grila de joc, simbolurile “X” și “0”, cursorul de selecție și mesajele de stare (victorie, remiză sau rândul jucătorului).
Butoane Push-Button (Input Control)
Sistemul utilizează un set de 5 butoane tactile pentru controlul interacțiunii: patru butoane pentru navigarea pe grilă (sus, jos, stânga, dreapta) și un buton central pentru confirmarea mutării (Select). Fiecare buton este configurat folosind rezistențele interne de tip pull-up ale microcontrolerului pentru a asigura citiri digitale stabile și pentru a simplifica circuitul electronic pe breadboard.
Buzzer Pasiv
Modulul buzzer pasiv este utilizat pentru a oferi feedback audio în timp real, îmbunătățind experiența de utilizare și accesibilitatea dispozitivului. Spre deosebire de un buzzer activ, acesta permite generarea de frecvențe variabile, oferind posibilitatea de a programa sunete distincte pentru mutări valide, avertizări în cazul mutărilor incorecte și melodii scurte de tip “8-bit” pentru finalul jocului. Acest feedback auditiv permite utilizatorului să confirme acțiunile fără a fi necesară monitorizarea constantă a ecranului.
Breadboard și Fire Jumper (Tată-Tată)
Pentru asamblarea prototipului am utilizat un breadboard de 400 de puncte, care permite conectarea componentelor fără necesitatea lipirii. Comunicarea fizică între componente se realizează prin fire de conexiune de tip “Tată-Tată”, asigurând un sistem modular ce permite depanarea rapidă și modificarea circuitului în timpul dezvoltării software-ului.
Suport de baterii 4xAA
Asigură alimentarea autonomă a consolei la o tensiune de aproximativ 6V, oferind portabilitate sistemului. Alimentarea este conectată la pinul VIN al plăcii de dezvoltare, care reglează tensiunea la 5V pentru a proteja microcontrolerul și perifericele conectate.