Proiectul consta in crearea unui joc. Acesta contine o matrice de 16 led-uri multiplexate, 16 butoane, 1 display. Jocul aprinde random unul din cele 16 leduri la un interval de timp, iar jucatorul trebuie sa apese pe butonul corespunzator led-ului aprins pentru a lua punctul, lucru care este observat prin aprinderea intregii matrice de led-uri.
Matricea de led-uri este controlata de micro-controller, generand aprinderea random a unui led. Led-urile sunt multiplexate pentru ca nu aveam suficiente porturi. Ledurile sunt legate pe coloane prin catod, iar pe linii sunt legate prin anod. Astfel, la 16 led-uri este nevoie de 1 port. Butoanele au fost puse pe 16 pini, 2 porturi, deoarece multiplexarea lor nu a avut rezultatele dorite.
Piese folosite:
-16 led-uri, 3 mm, albastre
-4 rezistente 100 ohmi
-16 butoane, 6×6, 2mm
-placuta test
-display
Programarea micro-controllerului se va face cu ajutorul programului WinAvr in limbajul C Memorarea se face într-un vector, unde se seteaza valorile pinilor din PORTA
Jocul functioneaza dupa cum mi-am propus initial. Nu functioneaza ultima linie de butoane, deoarece nu se poate folosi PORTD dupa cum mi-am propus. Nu functioneaza afisajul pe display, deoarece nu a mai fost implementat.
Proiectul a fost destul de interesant. Algoritmul este destul de simplu, iar multiplexarea a ajutat foarte mult in economisierea porturilor. Nu a fost dificil de realizat, dar datorita unor probleme la anumite porturi, proiectul nu este 100% functional.