Autorul poate fi contactat la adresa: Login pentru adresa
Programul este realizat in limbajul de programare C, si compilatorul utilizat este avr-gcc.
Cubul va realiza doua animatii unul reprezentat de afisarea numelui meu, altul de aprinderea random de leduri.
Acest lucru se realizeaza pe baza intreruperilor declansate prin apasarea celor doua butoane.
Implementare: Am definit un enum cu care identific fiecare pin pentru fiecare led impreuna cu un enum pentru fiecare nivel.
Functii:
Functia printLed:
—primeste un index de la 0 la 15 pentru un led de pe un nivel, un index de la 0 la 3 pentru nivel si un timp
—aprinde si tine aprins un led pentru timpul primit
Functia randomLight:
—primeste dim care reprezinta dimensiunea cozii in care se stocheaza ledurile aprinse
—countIter numarul de leduri care vor fi aprinse pe tot parcursul animatiei
—aprinde cate un led stins ales random pana ajunge la numarul maxim
—dupa numarul maxim, sting cel mai vechi led aprins si aprind altul
Functia printRaduToma:
—apeleaza functiile corespunzatoare literelor
Proiectul a fost laborios pe partea hardware (foarte multa grija si timp pentru lipitul cubului), dar a fost interesant.
Dupa constructia cubului a fost usor sa realizez animatiile, facand acest lucru cu multa placere.
Datasheet ATMEGA324: http://cs.curs.pub.ro/wiki/pm/_media/doc8272.pdf