Table of Contents

Toma RADU (66980) - 4x4x4 Cube Light

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Descriere generală

rradutomaschemagenerala.jpg

Hardware Design

Software Design

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

Rezultate Obţinute

Doua animatii interesante:

watch Random light 4x4x4 Led Cube

watch Display Name 4x4x4 Led Cube

Concluzii

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.

Download

radutomacube.rar

Jurnal

radutomatransistor.jpg radutomaspate.jpg radutomafata.jpg

Bibliografie/Resurse

Datasheet ATMEGA324: http://cs.curs.pub.ro/wiki/pm/_media/doc8272.pdf