Nume proiect
Introducere
Proiectul consta intr-un cob format din led-uri care:
Descriere generală
Hardware Design
Pe langa componentele necesare placii de test am mai folosit:
64 de leduri;
4 rezistente 2k2
4 tranzistori BC547
Software Design
Descrierea codului aplicaţiei (firmware):
Nu am folosit nici un mediu de dezvoltare
Nu sunt necesare librarii 3rd-party
Algoritmul:
Exista declarata o matrice “unsigned char cube[4][2];” ce reprezinta cubul in orice moment. Fiecare coloana a acestei (2*char) matrici reprezinta un layer din cubul fizic. Fiecare element din coloana corespune a doua randuri ale unui layer din cub, de exemplu elementul cube[1][0] corespunde primelor doua randuri de pe layerul 3 din cub.
Functia main are doua roluri, pe langa faptul ca face toate initializarile, mai are doua roluri
Verifica inputul utilizatorului (apasarea butonului pentru schimbarea aplicatiei)
Afiseaza fiecare layer al matricei cu un delay de 5ms intre ele. Deoarece timpul este mic si al efectului de POV privitorul nu observa ca doua un singur layer este aprins la un moment dat.
Una din initializarile facut in main este ce-a a unui intreruperi ce se executa la o jumatate de secunda. Aceasta intrerupere schimba frame-ul animatiei. Exista doua variabile globale ce indica animatia si frame-ul curent, astfel se poate sincroniza foarte exact animatia.
Codul sursa implementeaza 3 animatii care pot fi observate si in filmul al carui link se gaseste mai jos. Schimbarea acestora se realizeaza folosind un buton legat la pinul PD6.
http://www.youtube.com/watch?v=dpCwx9Tu8jo
Rezultate Obţinute
Au fost obtinute toate rezultate dorite.
Concluzii
Download