Proiectul meu a constat in realizarea unui display de tip dotmatrix, cu dimensiunile 16×8.
Am utilizat 2 matrice de leduri bicolore, fiecare avand dimensiunea 8×8. Am ales sa utilizez acest tip de matrice in primul rand pentru faptul ca pot fi reprezentate mai multe culori (rosu / verde, si portocaliu prin combinarea celor doua), astfel paleta aplicatiilor ce pot folosi un astfel de display fiind mult mai variata (se pot reprezenta grafic simboluri mai complexe, prin utilizarea celor trei culori disponibile).
Am realizat mai departe, folosind acest tip de afisaj, un joc multiplayer - TRON LEDCYCLE (titlul original - TRON LIGHTCYCLE).
Regula jocului:
Placuta realizata in prima etapa a proiectului este unitatea centrala a proiectului.
Pe porturile A si C ale acesteia sunt conectate 2 gamepad-uri, unul pentru fiecare jucator. Fiecare gamepad dispune de 6 butoane/comenzi: 4 pentru directie, si 2 action buttons (A - weapon, B - reset game).
Display-ul comunica prin SPI cu microcontroller-ul. Datorita conectorilor utilizati si modului dispunerii porturilor/pinilor pe placa centrala, nu am putut utiliza numai portul B pentru comunicatia seriala /latch / reset, am fost nevoit sa ocup si portul D pentru doar 2 pini. Nu a fost un neajuns totusi, numarul total de pini disponibili a fost mai mult decat suficient.
Schema electrica:
(pentru a mentine schema la un grad acceptabil de claritate, nu am mai reprezentat conectarea celui de-al doilea gamepad, nici conectarea ultimelor doua shift registers la coloanele cu leduri rosii)
Lista de piese:
Nume componenta | Cantitate |
---|---|
matrice led 8×8 bicolora TBA23-11EGWA | 2 |
74HC595 shift register | 4 |
ULN2803 eight darlington array | 1 |
4022 johnson counter | 1 |
conectori panglica 2×10 | 8 |
cablu panglica | 2m |
socluri, barete pini mama/tata | - |
cablu utp | - |
Detalii implementare:
Alte detalii:
Necesar: suita WINAVR.
Am utilizat librariile libusb pentru windows pentru a genera driver-ul pentru placuta, pentru sistemul meu de operare (windows 7 x64)
Printre facilitatile oferite de codul/sursele mele, se numara un text-scroller scalabil si versatil, capabil de a afisa caractere alfa-numerice de latime variabila, precum si o selectie de simboluri / semne de punctuatie.
Am realizat un pixel-font de dimensiune 5×4 (5×5 pe alocuri), ce contine setul de caractere mai sus mentionat.
Implementarea jocului poate fi inteleasa mai usor urmarind comentariile din cod.
Timp de realizare placuta display: 2-3 zile
Timp realizare aplicatie software: aprox. 3-4 zile, in mai multe etape.
Totul functioneaza conform planului initial. O demonstratie poate fi vizionata in clipul urmator:
Un proiect nu foarte solicitant, dar care m-a ajutat sa inteleg multe lucruri, prin simplul fapt ca am fost nevoit sa caut si sa ma documentez singur.