Jocul de X și 0 nu are nevoie de nici o prezentare. Simplu și relaxant, el a însoțit omenirea de pe vremea Egiptului antic și până în prezent. Hârtie, nisip, papirus, pamânt, toate pot servi drept suprafețe de joacă. Dar cum ar fi o matrice de leduri?
Proiectul meu presupune implementarea unui joc de X și 0 pe o matrice de 9×9 leduri. Ledurile din matrice sunt dispuse cromatic astfel încât fiecare căsuță să conțină un X roșu și un 0 verde. Jocul este destinat utilizării multiplayer, selectarea căsuței făcându-se din 2 butoane.
În virtutatea proverbului “după muncă, și răsplată”, odată încheiate aventurile în tărâmul letconului și depășite probele software, voi putea invita colegi, prieteni, părinți la un joc de X și 0 un pic mai… personalizat.
Push Buttons:
Afisare Matrice Leduri:
Interacțiune:
Listă de piese:
Am desenat schema electrică în Eagle urmând ideea de bază dintr-o schemă de pe internet care poate fi gasită la resurse hardware.
Descrierea codului aplicaţiei (firmware):
Din lipsă de timp, am reușit să implementez doar partea hardware, deci practic jumătate din ce mi-am propus. Am dorit inițíal să lucrez în paralel la partea hardware și la cea software: într-o pauză de lipituri să simulez programul în Proteus, însă limitările simulatorului m-au încurcat și m-am axat pe construirea părții de hardware. Nu am reușit încă să testez placa pentru că am avut o mică problemă cu programarea microcontrollerului, fiind necesară probabil rescrierea bootloader-ului.
Update! Am testat placa și din punct de vedere hardware este în regulă.
The making of
Capitolul I
81*2+9*2+9*2+9*3+… Clar pierd șirul piciorușelor. Mai bine trec la treabă:).
Să văd cum le lipesc. Hmm…plăcuța de test are conexiuni pe linie… Aș putea profita pentru a nu mai lipi între ele catodurile ledurilor pe fiecare linie.
Ce-ar fi să construiesc matricea coloană cu coloană, lipind anodurile ledurilor?
Zis și făcut.
Matrița din carton:
Gata coloanele!
Tabela de X și 0
Capitolul II
Aventura lipiturilor continuă: rezistențe, tranzistoare, barete, fire nărăvașe
Placuța finala:
Capitolul III
În sfârșit, ultimele lipituri sunt gata. Multimetrul le confirmă corectitudinea.
Să vedem cum merge! Pentru început să aprind un singur led. Vai, dar nu se poate:
Could not find USB device www.fischl.de/AVRUSBBoot
Could not find USB device “AVRUSBBoot” with vid=0x16c0 pid=0x5dc
… iar în Proteus apar mereu erori în timpul simulării…
THE END?