Sunteți pe pagina 1din 54

PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012

CAP.1. INTRODUCERE
Aceast lucrare este structurat n dou mari pri: n prima parte sunt prezentate att
cteva considerente teoretice, ct i anumite soluii anterioare ale tehnologiei LED, iar n
partea a doua este prezentat realizarea unui cub LED, precum i programarea configuraiei
imaginii prin soft.
CAP. 2. CONSIDERENTE TEORETICE I SOLUII ANTERIOARE
2.1. TEHNOLOGIA LED
n LED este o surs de lumin mic, de cele mai multe ori nsoit de un circuit
electric care permite modularea formei radiaiei luminoase. De cele mai multe ori acestea
sunt utilizate ca indicatori n cadrul dispozitivelor electronice, dar din ce n ce mai mult au
nceput s fie utilizate n aplicaii de putere ca surse de iluminare. !uloarea luminii emise
poate fi n spectrul infrarou, vizibil, sau ultraviolet i depinde de compoziia i de starea
materialului semiconductor folosit . "e lng iluminare, LED#urile sunt folosite din ce n ce
mai des ntr#o serie mare de dispozitive electronice.
Electroluminescena a fost descoperit n anul $%&' de ctre (. ). *ound, care a
folosit un cristal de carbur de siliciu i un detector primitiv dintr#un metal semiconductor.
*usul +leg ,ladimirovich Losev a creat primul LED prin anii $%-&. !ercetarea sa a
fcut ncon.urul lumii, ns nu s#a gsit nici o ntrebuinare a acesteia timp de cteva decenii.
/n anul $%0$, 1ob 1iar i 2ar3 "ittman au descoperit c, aplicnd curent unui alia.
din galiu i arsen, acesta emite o radiaie infraroie. "rimul LED cu emisie n spectrul vizibil
4rou5 a fost realizat n anul $%0- de ctre 6ic7 (olon3a7, cnd lucra la 2eneral Electric
!ompan3 . n fost student al acestuia, 8. 2eorge !raford a inventat primul LED de culoare
galben i a mbuntit factorul de iluminare al LED#urilor rou i rou # portocaliu de
circa zece ori, n anul $%'-. "n n $%09 LED#urile vizibile i cele infraroii costau foarte
mult, aproape -&& de dolari i nu puteau fi folosite la aplicaii minore.
"rima corporaie care a trecut la fabricarea LED#urilor pe scar larg a fost 8onsato
!orporation, care a realizat n anul$%09 LED#uri pentru indicare. Acestea au fost preluate de
ctre compania (e:lett "ac7ard i integrate n primele calculatoare alfanumerice. "rimele
LED#uri comercializate pe scar larg au fost folosite pentru nlocuirea indicatoarelor
incandescente, nti la echipamentele scumpe, ca cele de laborator i de teste, apoi, mai
1
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
trziu, la televizoare, radiouri, telefoane, calculatoare, chiar i ceasuri. Aceste LED#uri roii
nu puteau fi folosite dect pentru indicare, deoarece emisia de lumin nu era suficient pentru
iluminarea unei suprafee. /n decursul anilor s#au descoperit i alte culori ale LED#urilor, cu
capaciti mai mari de iluminare.
"rimul LED cu capacitate mare de iluminare a fost realizat de cercettorul ;hu.i
6a7amura n anul $%%< dintr#un alia. de =n2a6. Acesta a fost premiat n anul -&&0 cu
8ilennium >echnolog3 "rize pentru invenia sa
$
.
/n anul -&&9, cel mai puternic LED comercializat aparinea firmei sud#coreene ;eoul
;emiconductor
-
. n singur LED din seria ?#"o:er "' atinge performana de %&& Lumen la
$& @att, deci o eficiena de %& lmA@, echivalnd cu un bec obinuit de 'B@.
La $- mai -&$&, firma 6eCCus Lighting a prezentat cea mai puternica lamp LED de
uz casnic disponibil pe pia, cu o eficien de B& LumenA@att
<
. Luminozitatea lmpii
Arra3 LED "A*<9 este comparabil cu cea a unui bec obinuitAstandard de 'B @att atingnd
%9B Lumen la un consum de numai $9#-& @att, fiind n acelai timp i variabil
D
.
La $- aprilie -&$&, firma >oshiba a prezentat prototipul celei mai puternice lampi
LED de uz casnic i industrial, cu o eficien de $-& LumenA@att
B
. Luminozitatea lmpii
LED este comparabil cu cea a unui bec obinuitAstandard de $&& @att, atingnd $0%&
Lumen.
2.2. AFIAREA IMAGINII DE UN ECRAN LCD I AVANTAJELE
TEHNOLOGIEI LED
"rincipalele domenii ce necesit surse de lumin LED sunt construciile, amena.rile
interioare, producia publicitar.
na dintre cele mai ntlnite utilizri ale LED#urilor sunt monitoarele iAsau
televizoarele. /n funcEie de tehnologia folosit pentru afiFarea imaginii, se disting n acest
moment < mari categorii de monitoareAtelevizoare:
CRT Cathodic Ray Tube G sau aFa numitele HtelevizoareAmonitoare cu tubI G tehnologie
destul de veche Fi duntoare ochilor datorit nivelului ridicat de radiaEii emise, fiind folosit
ns n continuare de ctre graficienii profesioniFti datorit reproducerii eCcelente a culorilorJ
1
http://ro.wikipedia.org/wiki/LED
2
http://www.seoulsemicon.com/en/prCenter/news/view.asp?seq!"
#
http://www.ne$$uslighting.com/news/press%eleases/news&'"121'.php
!
http://www.arra(lighting.com/products/arra(&par#).html
"
http://www.tlt.co.*p/tlt/inde$&e.htm
2
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
LCD Liquid Crystal Display G cea mai ntlnit tehnologie la ora actual G
monitoareleAtelevizoarele bazate pe aceast tehnologie consum mai puEin comparativ cu cele
!*>, au dimensiuni mai mici dect acestea Fi ofer o reproducere a culorilor apropiat ca Fi
calitate, n condiEiile neafectrii vederii privitoruluiJ
Plasma G tehnologie ntlnit n principal la televizoarele de mari dimensiuni. Acestea ofer
o calitate eCcelent a culorilor, ns cu costul unui consum energetic puEin mai ridicat dect
cel al tehnologiei L!DJ
"roductorii pun ns accentul pe tehnologia L!D, aceasta evolund eCtrem de mult
din momentul lansrii pe piaE. "rincipala noutate n cadrul acesteia o reprezint tehnologia
L!D LED.
Kiecare imagine afiFat de ctre monitor este format din mici puncte, numite Fi
piCeli, poziEionaEi unul lng cellalt. Asemenea unui goblen, fiecare punct 4piCel5 de pe
ecran ia o anumit culoare pentru ca ntr#un final s se afiFeze imaginea propriu zis pe
intreaga suprafaE a displa3#ului.
/ns pentru ca piCelii s se aprind Fi pentru ca aceFtia s afiFeze imaginea dorit, au
nevoie de o surs de lumin, care n general poate fi de tip !!KL 4Lmpi Kluorescente cu
Lumin Alb5 sau LED.
/ntre cele dou tipuri de surs de lumin eCist anumite diferene care determin ca
tehnologia LED s prezinte anumite avanta.e fa de tehnologia !!KL, cum ar fi :
# monitoarele clasice 4non#LED5 sunt iluminate folosind dou neoane fluorescente
amplasate n partea de sus Fi cea de .os a ecranului. Acest lucru nseamn o
iluminare uFor neuniform, iar la o vizualizare atent prEile de sus Fi cele de .os
sunt, n general, mai luminoase, efect observabil mai ales pe negru.
# iluminare uniform : ntruct ecranele monitoarelor L!D LED beneficiaz de
LED#uri amplasate pe toate cele D margini sau pe ntreaga suprafaE 4n funcEie de
model5, luminozitatea este repartizat uniform, indiferent c vorbim de partea de
sus sau cea de mi.loc a ecranului.
# luminozitate Fi contrast mai bune, culori mai vii: monitoarele iluminate cu LED#
uri beneficiaz de un nivel de luminozitate mai ridicat dect cele de tip !!KL. De
asemenea, n cazul unor modele de monitoare Fi contrastul este mai ridicat, acesta
a.ungnd la valori de pn la $&.&&&.&&&:$.
#
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
# consum sczut de energie: consumul de energie al ecranelor L!D LED este de
aproape dou ori mai mic dect al ecranelor cu tehnologie !!KL, lucru care
avanta.eaz eCtrem de mult mai ales computerele portabile 4un consum energetic
mai mic al componentelor rezultnd o autonomie mai mare pentru noteboo75 Fi
televizoarele de mari dimensiuni care necesit un nivel ridicat de iluminare pentru
o funcEionare corespunztoare.
# dimensiuni mai mici : deoarece LED#urile sunt foarte mici, productorii au
libertatea de a creea monitoare Fi televizoare eCtrem de subEiri. Acest aspect
avanta.eaz nu numai piaEa de sisteme portabile 4unde computerele mobile cu
ecrane L!D LED sunt mai subEiri Fi mai uoare5, ci Fi pe cea a televizoarelor Fi
monitoarelor, acestea beneficiind acum de grosimi de neimaginat n urm cu
cEiva ani. De eCemplu, 8onitorul L!D LED 1enL ,---& dispune de o grosime
de doar $,B cm, eCtrem de puEin dac ne gndim la monitoarele cu tub din urm cu
$& ani, cu adncime de <&#D&cm.
+ alt utilizare a LED#urilor este sistemul de iluminat bazat pe tehnologia ;;L#LED
4;olid ;tate Lightning#Light Emitting Diode5 # iluminare n stare solid cu diode
electroluminiscente, care utilizeaz semiconductori pentru a produce lumina i, spre
deosebire de iluminatul incandescent 4becuri cu filament5, sau iluminatul fluorescent 4neoane
sau becuri economice5, utilizeaz toat energia electric pentru a produce lumina n spectrul
vizibil. >ehnologia incandescent utilizeaz numai $&M din energia electric consumat
pentru a produce lumina n spectrul vizibil, restul de %&M din energia consumat
transformndu#se n cldur. /n cazul iluminatului fluorescent, o mare parte din energia
consumat se transform n lungimi de und n afara spectrului vizibil 4radiaii infraroii sau
ultraviolet5, care sunt duntoare pentru ochiul uman.
;istemul de iluminat bazat pe tehnologia LED are o serie de aplicaii, cum ar fi:
!
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
# neoane 4tuburi5 cu LEDJ
# panouri cu LED G sunt o soluie modern i eficace att pentru iluminat spaii
comerciale, birouri ct i pentru aplicaii profesionale:cabinet medicale, studiouri
foto#>,J
# panglici cu LED G pot lua orice fel de form n orice fel de loc 4perei, sticl,
mobilier de lemn, punte eCterioar etc.5, pot fi rezistente la ap 4iluminat
ambiental fntni5J
# becuri cu LED G compatibile cu fasungurile obinuite, se alimenteaz de la
tensiunea reelei i conin n interior convertorul de tensiune de la --&, la $-,J
# spoturi cu LED G utilizate pentru tavane, scafe, perei, dar i n variant subteran
4rezistente la ap i presiune5J
# lmpi de iluminat publicAstradal cu LED G au o carcas de alia. de aluminiu
turnat sub presiune, rezistent la ap, antipraf, antivandalism, antitrznet, disipare
rapid de cldurJ
# proiectoare cu LED G care sunt nlocuitoarele proiectoarelor de putere bazate pe
lmpi cu halogen, doar c acestea au un consum de putere mult mai redus, dar au
un grad la fel de bun de iluminareJ
# iluminatoare de perete cu LED G se folosete ca iluminat architectural eCterior al
pereilor cldirilor, dar i ca iluminat interiorJ
# baghete cu LED G utilizate pentru iluminare din spate, pentru semnalizare, lumini
decorativeJ
# module cu LED G utilizate mai ales sub forma casetelor. Acestea reprezint
viitorul n producia publicitar. !onsumul deosebit de redus, de pn la $& ori
mai mic dect n cazul tuburilor de neon i durata mare de via de pn la B&.&&&
de ore de funcionare sunt principalele atuuri n alegerea unei casete luminoase cu
LED#uri.
!onform unor studii recente, pn n anul -&-& se vor nlocui complet toate sistemele
de iluminare convenionale, cu noua tehnologie LED 4diode emitatoare de lumina5 care ofer
principalele avanta.e de consum mai mic i durat de via mai mare.
2.3. DEFINIREA MICROCONTROLERULUI
!ontroller#ul este o structur destinat controlului unui proces fr s fie necesar
intervenia operatorului uman.
"
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
"rimele controlere au fost realizate n tehnologii pur analogice, unde s#au folosit
componente electronice discrete i componente electromecanice 4relee5.
Apariia i utilizarea microprocesoarelor de uz general a dus la o reducere consistent
a costurilor, dimensiunilor, consumului i o mbuntire a fiabilitii. ECist i la ora
actual o serie de astfel de controlere de calitate, realizate n .urul unor microprocesoare de uz
general cum ar fi ?9& 4?ilog5, 9&90A9&99 4=ntel5, 09&% 48otorola5, etc.
n microcontroler este un microcircuit care incorporeaz o unitate central 4!"5 i
o memorie, mpreun cu resurse care#i permit interaciunea cu mediul eCterior.
;tructura (ard:are a unui microcontroler
0
se prezint astfel:
Elementele de baz i conexiunile interne ale microcontroler
;chema bloc intern de principiu a unui microcontroler se prezint n figura $.$.
/n ea se disting principalele elemente componente Fi anume:
nitatea central de prelucrare 4procesare5
nitate de memorie
8agistrala
nitatea de intrri A ieFiri
!onvertorul analog#digital
nitatea serial
+
,oan E. -oles . /isteme cu microprocesoare
+
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
!ontorul liber
!ontorul independent
2.3.1. Unitatea central de procesare (prelucrare)
Este unul din principalele blocuri ale acestui circuit, avnd funcii incorporate de
adunare, nmulire, mprire i scdere. Locaiile unde se stocheaz informaia n CP se
numeste registru. 4fig. $.-.5
AFadar, registrele sunt locaEii de memorie al cror rol este acela de a eCecuta diferite
operaEii matematice sau logice precum Fi alte operaEii cu date oriunde se vor fi gsit acestea
!onform figurii, !" face schimb:
# bidirecEional de date cu celelalte elemente componente ale microcontrolerului
# unidirecEional de adrese 4transmisie5
# unidirecEional de informaEii de control 4transmisie5
>oate trasferurile 4schimburile5 de date Fi adrese se fac prin intermediul magistralelor
dedicate. =nformaEiile de control se transmit prin linii de control.
0
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
2.3.2. Unitatea de memorie
!emoria este o parte a microcontrolerului a crei funcEie este de a nmagazina date.
!el mai uFor mod de a eCplica este de a#l descrie ca un dulap mare cu multe sertare. Dac
presupunem c am marcat sertarele ntr#un asemenea fel nct s nu fie confundate, oricare
din conEinutul lor va fi atunci uFor accesibil. Este suficient s se Ftie denumirea sertarului Fi
astfel conEinutul lui poate fi accesat Fi cunoscut n mod sigur. 4fig. $.<.5
"entru a avea acces la o locaEie a unitEii de memorie 4pe scurt memorie5 este nevoie
s precizm adresa acesteia Fi operaEia ce se va efectua . Adresa se indic 4recepEioneaz5 pe
magistrala de adrese iar operaEia de efectuat se recepEioneaz pe o linie de control * A @. Fi
adresarea nu este altceva dect selectarea uneia din ele. LocaEia de memorie fiind selectat, pe
magistrala de date se regseFte conEinutul ei, n cazul n care pe linia de control se transmite o
)
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
comand de citire din memorie. * A @ N$. Dac prin linia de control se transmite comnda de
scriere 4nscriere5 n memorie * A @ N &, n locaEia selectat se va nscrie informaEia prezent
4prezentat5 pe magistrala de date.
Adesea, pentru eCactitate, linia de control se noteaz * A @ barat pentru a se preciza
nivele ce activeaz operaEia de citire A scriere.
Elementele prezentate nu au coneCiuni cu eCteriorul microprocesorului, pentru aceasta
fiind necesare alte elemente specifice.
2.3.3. Magistrala (Bus-ul)
1
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
!alea fizic de comunicaEie este numit magistral 2bus24fig. $.D.5 El este constituit
dintr#un grup de 9, $0, sau mai multe fire, egal cu numrul de biEi utilizat pentru
reprezentarea datelor A adreselor.
;unt dou tipuri de bus#uri:
# bus de adres
# bus de date.
"rimul const din numr de linii egal cu numrul de biEi prin care eCprimm adresa
locaEiei de memorie adresate Fi serveFte la transmiterea adreselor de la !" la unitatea de
memorie.
Al doilea bus const dintr#un numr de fire egal cu numrul de biEi prin care sunt
reprezentate datele Fi serveFte la interconectarea tuturor blocurilor din interiorul
microcontrolerului.
2.3.4. Unitatea intrare-ieire paralela
"entru asigurarea comunicaEiei cu eCteriorul microcontrolerul utilizeaz elemente
numite porturi. 4fig. $.B.5 ECist Fi se utilizeaz porturi de intrare, de ieFire sau porturi
bidirecEionale. "entru a se lucra cu un port este necesar selectare acestuia Fi apoi precizarea
operaEiei efectuate 4transmitere de date la sau recepEionare de la5.
1'
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
"ortul se comport n timpul lucrului ca o locaEie de memorie, efectundu#se citiri din
ea Fi nscrieri n ea. =nformaEiile acestei unitEi sunt accesibile la pinii microcontrolerului.
2.3.5. Unitatea de intrare / ieire serial
6ea.unsul esenEial al unitEii de intrare A ieFire prezentate anterior const n numrul
mare de linii necesar. Acest nea.uns poate deveni ma.or, uneori inacceptabil n condiEiile
transmiterii de date la distanEe mari 4sute de m # 7m5. ;oluEia va consta n reducerea
numrului de linii astfel nct s nu se afecteze funcEionalitatea Fi performanEe sistemului
realizat cu microcontroler.
+ prima soluEie cont n utilizarea a < linii cu urmtoarele destinaEii funcEionale:
# o linie pentru trimiterea de date,
# o linie pentru recepEie de date
# o linie de referinE folosit att pentru partea de intrare 4recepEie5ct Fi pentru partea
de ieFire 4transmitere5.
11
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
"entru ca aceasta modalitate de comunicare s funcEioneze, este necesar stabilirea
regulilor de schimb ale datelor. Aceste reguli sunt descrise de protocol. "rotocolul este de
aceea definit n avans ca s nu fie nici o nenEelegere ntre prEile ce comunic una cu alta.
; presupunem c am stabilit urmtorul protocol:
"n n momentul nceperii transmisiei pe linia de transmisie este setat
nivelul logic $. !nd se ncepe transmisia se aplic acestei linii nivelul
logic & pentru un interval de timp pe care#l notm >. Astfel receptorul este
anunEat c trebuie s#Fi activeze procedurile de recepEie. Dup eCpirarea
intervalului > se transmit pe linia de trasmisie 4emisie5 biEii corespunztori
informaEiei, ncepnd cu bitul cel mai putin semnificativ Fi terminnd cu
cel mai semnificativ. Kiecare bit se transmite pe o durat de timp egal cu
>. Dup transmiterea bitului cel mai semnificativ se aplic liniei de
transmitere nivelul logic $, ceea ce va marca 4Fi semnaliza5 sfrFitul
transmisiei unei date.
"rotocolul ce tocmai l#am descris este numit n literatura profesional 6*? 46on#
*eturn to ?ero5.
12
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
"entru c avem linii separate de recepEie Fi de transmitere, este posibil s recepEionm
Fi s transmitem date 4informaEii5 n acelaFi timp. Acest bloc de comunicare serial ce permite
acest mod de comunicare se numeFte full#dupleC model. ;pre deosebire de transmisia
paralel, n acest caz datele sunt transferate bit cu bit, sau ntr#o serie de biEi, de unde Fi
denumirea de comunicaEie serial.
Dup recepEia datelor, acestea trebuie citite din locaEia de recepEie, transmise la
memorie Fi nmagazinate n aceasta. La transmitere procesul este invers n sensul c datele
circul din memorie prin bus ctre locaEia de transmitere Fi de acolo ctre unitatea de recepEie
corespondent, conform protocolului.
2.3.. Unitatea timer
nitatea 4blocul5 timer este important pentru c ne furnizeaz informaEia de timp,
durat, protocol etc. !omponenta de baz a timer#ului este un contor liber 4free#run5 care este
de fapt un registru a crui valoare numeric creFte cu o unitate la intervale de timp egale, aFa
nct comparnd conEinutul su la dou momente distincte >$ Fi >- s se poat determina
prin diferenE intervalul de timp care s#a scurs. Aceast funcEie consum mare parte din
resursele >imer#ului.
2.3.!. "atc#dog-ul
n aspect deosebit de important este funcEionarea fr defecte a microcontrolerului Fi
a sistemului realizat, n situaEia eCploatrii n condiEii variate Fi dificile. ; presupunem c
urmare a unei anumite interferenEe 4adesea ntlnit n industrie5 microcontrolerul nostru se
opreFte din eCecutarea programului, sau Fi mai ru, ncepe s funcEioneze incorect.
1#
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
!nd aceasta se ntmpl cu un "! cu operator prezent, situaEia se rezolv printr#o
decizie voluntar, ce const n resetare urmat de continuarea lucrului.
/n cazul microcontrolerului nu eCist acest buton de resetare prin a crui acEionare s
se rezolve problema. "entru a depFi acest obstacol, a fost necesar introducerea blocului
numit "atchdo# # cine de paz. Acest bloc este de fapt un alt contor liber 4free#run5 unde
programul nostru trebuie s nscrie zero ori de cte ori se eCecut corect. /n caz c programul
se OnEepeneFteO, nu se va mai nscrie zero, iar conEinutul contorului va creFte pn la
atingerea valorii maCime, cnd se va reseta singur. Aceasta va duce la reluarea rulrii
programului. Acesta este un considerent deosebit important al fiecrui program ce trebuie s
fie fiabil fr supravegherea operatorului.
2.3.$. %on&ertorul 'nalog-(igital
"entru c semnalele de la periferice sunt substanEial diferite de cele pe care le poate
nEelege microcontrolerul 4zero Fi unu5, ele trebuie convertite ntr#un mod care s fie nEeles
de microcontroler. Aceast sarcin este ndeplinit de un bloc pentru conversia analo#$
di#ital sau de un convertor %D. Acest bloc este responsabil pentru convertirea unei
informaEii despre o anumit valoare analogic ntr#un numr binar Fi pentru a o transmite unui
bloc !" sub forma in care blocul !" o poate procesa.
1!
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
2.3.). *rogramul
"rogramul este partea care d viaE oricrui sistem cu microcontroler. "rogramarea
poate fi fcut n cteva limba.e ca %ssembler& C Fi 'asic, care sunt cele mai folosite
limba.e.
%ssembler aparEine limba.elor de nivel sczut ce sunt programate lent, dar folosesc
cel mai mic spaEiu n memorie Fi d cele mai bune rezultate cnd se are n vedere viteza de
eCecuEie a programului.
"rogramele n limba(ul C sunt mai uFor de scris, mai uFor de nEeles, dar sunt mai
lente n eCecutare dect programele n Assembler.
'asic este cel mai uFor de nvEat, Fi instrucEiunile sale sunt cele mai aproape de
modul de gndire a omului, dar, ca Fi limba.ul de programare !, este de asemenea mai lent
dect Assembler#ul. /n orice caz, nainte de a decide n privinEa unuia din aceste limba.e
trebuie studiate cu atenEie cerinEele privind viteza de eCecuEie, mrimea memoriei Fi timpul
disponibil pentru asamblarea sa.
Dup ce este scris programul, trebuie s se instaleze microcontrolerul ntr#un aparat Fi
lsat s lucreze. "entru a face aceasta trebuie s se aduge cteva componente eCterne
necesare pentru funcEionarea sa. 8ai nti trebuie s se dea viaE microcontrolerului prin
conectarea sa la o surs 4tensiune necesar pentru operarea tuturor instrumentelor electronice5
Fi oscilator. 1azat pe ceasul su, microcontrolerul eCecut instrucEiunile programului. /ndat
ce este alimentat, microcontrolerul va eCecuta un scurt control asupra sa, se va uita la
nceputul programului Fi va ncepe s#l eCecute. 8odul n care va lucra sistemul depinde de
mulEi factori, cei mai importanEi fiind priceperea dezvoltatorului de hard:are, Fi de
eCperienEa programatorului.
1"
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
CAP. 3. REALIZAREA PROIECTULUI
3.1. FUNCIONAREA CUBULUI DIN LED-URI

"roiectul urmrete realizarea unui displa3 tridimensional compus din B$- LED#uri.
LED#urile sunt dispuse pe 9 planuri, fiecare strat coninnd 0D de LED#uri. "entru
comandarea ntregului cub ar trebui s folosim un microcontroler de B$- porturi Fi foarte
multe fire trase prin interiorul acestuia. KuncEionarea acestor cuburi se bazeaz pe un
fenomen optic numit "+, # persistent a vederii. Dac aprindem un led intermitent foarte
repede, imaginea LED#ului aprins va rmne pe retin pentru scurt timp chiar Fi dup
stingerea acestuia.
Acest cub este alctuit din mai multe straturi Fi, aprinzndu#le pe fiecare ntr#un mod
foarte rapid, vom avea impresia c vom privi o imagine <D. Datorit acestei iluzii optice noi
privim doar niFte scheme -D ale acestor imagini, puse una peste alta. Acest fenomen se
numeFte multiplexare a imaginilor. Astfel, avnd acest configurare, pentru a controla cubul
LED vom avea nevoie de numai '- porturi de intrare#ieire 4din care 0D porturi reprezint
anozii i 9 porturi pentru fiecare nivel5.
/n imaginile urmtoare este prezentat o secvenE dintr#un program unde se poate
observa acesta iluzie optic.

3.2. ARHITECTURA( ANATOMIA CUBULUI DIN LED-URI
!ubul din LED#uri este format din coloane Fi straturi. "inii care reprezint catodul
LED#ului sunt lipiEi, formnd straturi. >oEi pinii care reprezint anodul sunt lipiEi formnd
coloane. Kiecare din cele 0D de coloane este legat la placa de comand separat, putnd fi
1+
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
controlat individual. De asemenea, fiecare din cele 9 straturi are cte o conectare
individual la placa de comand.
Kiecare strat este conectat la cte un tranzistor, acesta din urm avnd rolul de a
permite sau nu trecerea curentului prin fiecare strat.
"rin activarea tranzistotului de pe un strat, curentul de pe coloanele de anod vor trece
prin strat. >ranzistoarele celorlalte straturi fiind dezactivate, imaginea rezultat de cele 0D de
coloane este redat doar pe straturile selectate.
"entru a afiFa urmtorul strat se activeaz urmtorul tranzistor, corespunztor stratului
Fi imaginea va aprea n urma efectului ntlnit Fi la celelalte straturi. "rin activarea Fi
dezactivarea foarte rapid acestor tranzistori se obEin imaginile dorite, care concentrate, redau
forma <D a imaginii.
3.3. DIMENSIUNI I PORTURI
"entru a controla un cub format din leduri avem nevoie de cel puEin - seturi de
portuiri =A+, unul pentru coloana destinat anod Fi unul pentru straturile formate din catod.
"entru partea de anod se necesit CP- porturi =A+ iar CP< este dimensiunea cubului de LED#
uri. "entru un cub de dimensiunea 9C9C9 4CN95 avem nevoie de 0D de porturi =A+ pentru a
comanda anodul Fi 9 porturi pentru a comanda catodul.
/n tabelul $ se pot observa, n funcEie de dimensiune, cte porturi avem nevoie
pentru a comanda anodul Fi catodul acestui cub de leduri.
10
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
"entru cuburile de dimensiuni mici pn la 4DCDCD5 straturile de catod se vor
conecta direct la microcontroler datorit curentului mic care va trece prin ele. "entru
dimensiuni mai mari de cuburi curentul estre prea puternic Fi sunt Fanse de a arde unele
componente. "entru cubul de LED#uri de dimensiunea 9C9C9 cu $&mA pe LED, este nevoie
de o schimbare la &.0D Amperi.
1)
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
3.!. CONSTRUIREA CUBULUI
/n prima etap a construirii cubului a trebuit s#mi achiziEionez Fi s mi
confecionez un suport unde s pot concepe straturile de LED#uri.
/n imaginile de mai .os se poate observa conceperea acestui suport de la
trasarea ntregului caroia. Fi pn la finalizarea ntregului suport.
11
QP- Q QP-RQ
Dimensiune
cub
Anod !atod >otal
- D - 0
< % < $-
D $0 D -&
B -B B <&
0 <0 0 D-
' D% ' B0
9 0D 9 '-
% 9$ % %&
$& $&& $& $$&
$$ $-$ $$ $<-
$- $DD $- $B0
$< $0% $< $9-
$D $%0 $D -$&
$B --B $B -D&
$0 -B0 $0 -'-
Dimensiune
cub
LEDA
strat
>otal mA la Q
mAALED
$&m
A
-&mA
- D D& 9&
< % %& $9&
D $0 $0& <-&
B -B -B& B&&
0 <0 <0& '-&
' D% D%& %9&
9 0D 0D& $-9&
% 9$ 9$& $0-&
$& $&& $&&& -&&&
$$ $-$ $-$& -D-&
$- $DD $DD& -99&
$< $0% $0%& <<9&
$D $%0 $%0& <%-&
$B --B --B& DB&&
$0 -B0 -B0& B$-&
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
>rasarea caroia.ului
Locaiile unde vor fi aezate LED#urile
2'
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
Kinalizarea suportului i aezarea primului strat de LED#uri
rmtoarea etap a fost testarea fiecrui LED n parte pentru a evita apariia unor
probleme la finalul conceperii ntregului cub. Kiecare pin care reprezenta catodul a fost ndoit
pentru a putea concepe straturile.
>estarea LED#urilor
21
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
Lipirea cu cositor a LED#urilor i conceperea, pe rnd, a fiecrui strat
La toate straturile de LED#uri am parcurs urmtoarele etape, pentru a fi sigur c nu voi
ntmpina dificultEi n momentul n care cubul va fi lipit integral, astfel:
$. "regtirea celor 0D de LED#uri prin ndoirea ct mai aproape de baz a catodului la
un unghi de %& de grade.
-. >estarea celor 0D de LED#uri pentru a nu fi arse.
<. "oziEionarea corect n suportul de lemn.
D. Lipirea atent a fiecrui catod al LED#ului de cel care urmeaz.
B. Lipirea suporEilor de rezistenE, care sunt compui din srme de cupru de dimensiune
mic.
0. >estarea la final a fiecarui LED n parte, pentru a nu fi ars datorit temperaturii nalte
a ledcon#ului.
'. /ndeprtarea stratului, cu gri., de pe suport.
22
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
+binerea unui strat de LED#uri
!ele 9 straturi de LED#uri
2#
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
/n vederea realizrii cubului din LED#uri am folosit o gam de componente, cum ar fi:
B$-C LED
0DC rezistene
$C sau -C "!1
$C A>mega<- microcontroler
<C status LED
<C rezistene pentru status LED
9C 'D(!B'D =!
$0C "6---- tranzistoare
$0C rezistene $7
$C 'D(!$<9 =!
$C 8aCim 8AQ-<- =!
$C $D.'DB0 8(z cristal de cuar
-C --pK condesatori ceramici
$0C &.$uK condesatori ceramici
<C $&&&uK condensatori electrolitici
<C $&uK condensatori electrolitici
$C $&&uK condensatori electrolitici
9C -& pin =! socluri
$C D& pin =! socluri
-C $0 pin =! socluri
$C -#pin G terminal cu urub
$C - cablu cu - fire
%C 9#pin # terminal
2!
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
$C D#pin # terminal cu unghi drept
-C magistral cu $0 fire i conector
$C magistral cu $& fire i conector
magistral
-C butoane
-C magistrale cu fi
%C fi#mam cu 9 pin
!ablu serial
+ bucat de lemn pentru baz
;urs de alimentare de Bv.
3.". CONCEPEREA PL#CII DE COMAND#
La nceput am avut mai multe tentative de a aran.a componentele pe placa perforat.
A trebuit s Ein cont Fi de coneCiunile care eCist ntre componente Fi nu am dorit nclecarea
acestora.
!omponentele pe placa perforat
2"
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
Lipirea componentelor
2+
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
"laca de comand cu microcontroler#ul
!onectarea celor dou plci de comand
20
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
+ dat ce aceste dou plci au fost interconectate Fi programul a fost pus pe
microcontroler, acestea se pot conecta la cub Fi ntreg sistemul se poate porni pentru a
observa dac sunt unele probleme de rezolvat.
+ alt metod de a controla acest sistem este conectarea cubului la placa de dezvoltare
Arduino care are n componenEa sa microcontrolerul.
"laca Arduino
!onectare la una dintre plcile de comand
2)
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
!a Fi avanta. la aceast metod este acela c odat pus programul cubului n aplicaEia
Arduino, aceasta face verificarea codului Fi implicit creaz cele dou fiFiere ce urmeaz a fi
urcate pe microcontroler
'
.
Aplicaia Arduino
9
3.$. CODUL PROGRAMULUI
Sinclude TavrAinterrupt.hU
Sinclude Tstring.hU
Sdefine AQ=;VQ $
Sdefine AQ=;VW -
Sdefine AQ=;V? <
volatile unsigned char cubeX9YX9YJ
volatile int currentVla3er N &J
void setup45
Z
int iJ
0
http:AA:::.instructables.comAidALed#!ube#9C9C9AstepBA(o:#does#a#LED#cube#:or7A
)
http:AAarduino.ccAenA>utorialA(ome"age
21
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012

for4iN&J iT$DJ iRR5
pin8ode4i, +>">5J

AA pin8ode4A&, +>">5.
DD*! N &CffJ
"+*>! N &C&&J

AA *eset an3 "@8 configuration that the arduino ma3 have set up automagicall3[
>!!*-A N &C&&J
>!!*-1 N &C&&J
>!!*-A \N 4&C&$ TT @28-$5J AA !>! mode. clear counter on >!6>- NN +!*-A
+!*-A N $&J AA =nterrupt ever3 -B0&&th cpu c3cle 4-B0]$&&5
>!6>- N &C&&J AA start counting at &
>!!*-1 \N 4&C&$ TT !;--5 \ 4&C&$ TT !;-$5J AA ;tart the cloc7 :ith a -B0 prescaler

>=8;^- \N 4&C&$ TT +!=E-A5J
_
=;* 4>=8E*-V!+8"AVvect5
Z
int iJ


AA all la3er selects off
"+*>! N &C&&J
"+*>1 `N &C&fJ

"+*>1 \N &C&9J AA output enable off.

for 4iN&J iT9J iRR5
Z
"+*>D N cubeXcurrentVla3erYXiYJ
"+*>1 N 4"+*>1 ` &CK95 \ 4&C&' ` 4iR$55J
_

"+*>1 `N &b&&$$&$$$J AA +utput enable on.

if 4currentVla3er T 05
Z
#'
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
"+*>! N 4&C&$ TT currentVla3er5J
_ else if 4currentVla3er NN 05
Z
digital@rite4$-, (=2(5J
_ else
Z
digital@rite4$<, (=2(5J
_

currentVla3erRRJ

if 4currentVla3er NN 95
currentVla3er N &J
_
void loop45
Z
int i,C,3,zJ

:hile 4true5
Z

effectVplanboing4AQ=;V?, D&&5J
effectVplanboing4AQ=;VW, D&&5J
effectVplanboing4AQ=;VQ, D&&5J


effectVblin73-45J

effectVrandomVfiller4'B,$5J
effectVrandomVfiller4'B,&5J

effectVrain4$&&5J

effectVboCsideVrandsendVparallel 4AQ=;VQ, &, $B&, $5J
effectVboCsideVrandsendVparallel 4AQ=;VQ, $, $B&, $5J
effectVboCsideVrandsendVparallel 4AQ=;VW, &, $B&, $5J
effectVboCsideVrandsendVparallel 4AQ=;VW, $, $B&, $5J
effectVboCsideVrandsendVparallel 4AQ=;V?, &, $B&, $5J
effectVboCsideVrandsendVparallel 4AQ=;V?, $, $B&, $5J

_
_
#1
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
AA
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNN
AA Effect functions
AA
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNN
void dra:VpositionsVaCis 4char aCis, unsigned char positionsX0DY, int invert5
Z
int C, 3, pJ
fill4&C&&5J
for 4CN&J CT9J CRR5
Z
for 43N&J 3T9J 3RR5
Z
if 4invert5
Z
p N 4'#positionsX4C]95R3Y5J
_ else
Z
p N positionsX4C]95R3YJ
_
if 4aCis NN AQ=;V?5
setvoCel4C,3,p5J
if 4aCis NN AQ=;VW5
setvoCel4C,p,35J
if 4aCis NN AQ=;VQ5
setvoCel4p,3,C5J
_
_
_
void effectVboCsideVrandsendVparallel 4char aCis, int origin, int dela3, int mode5
Z
int iJ
int doneJ
#2
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
unsigned char cubeposX0DYJ
unsigned char posX0DYJ
int notdone N $J
int notdone- N $J
int sent N &J
for 4iN&JiT0DJiRR5
Z
posXiY N &J
_
:hile 4notdone5
Z
if 4mode NN $5
Z
notdone- N $J
:hile 4notdone- `` sentT0D5
Z
i N rand45M0DJ
if 4posXiY NN &5
Z
sentRRJ
posXiY RN $J
notdone- N &J
_
_
_ else if 4mode NN -5
Z
if 4sentT0D5
Z
posXsentY RN $J
sentRRJ
_
_
done N &J
for 4iN&JiT0DJiRR5
Z
if 4posXiY U & `` posXiY T'5
Z
posXiY RN $J
_
if 4posXiY NN '5
##
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
doneRRJ
_
if 4done NN 0D5
notdone N &J
for 4iN&JiT0DJiRR5
Z
if 4origin NN &5
Z
cubeposXiY N posXiYJ
_ else
Z
cubeposXiY N 4'#posXiY5J
_
_
dela3Vms4dela35J
dra:VpositionsVaCis4aCis,cubepos,&5J
_
_
void effectVrain 4int iterations5
Z
int i, iiJ
int rndVCJ
int rndV3J
int rndVnumJ
for 4iiN&JiiTiterationsJiiRR5
Z
rndVnum N rand45MDJ
for 4iN&J i T rndVnumJiRR5
Z
rndVC N rand45M9J
rndV3 N rand45M9J
setvoCel4rndVC,rndV3,'5J
_
#!
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
dela3Vms4$&&&5J
shift4AQ=;V?,#$5J
_
_
AA ;et or clear eCactl3 B$- voCels in a random order.
void effectVrandomVfiller 4int dela3, int state5
Z
int C,3,zJ
int loop N &J
if 4state NN $5
Z
fill4&C&&5J
_ else
Z
fill4&Cff5J
_
:hile 4loopTB$$5
Z
C N rand45M9J
3 N rand45M9J
z N rand45M9J
if 44state NN & `` getvoCel4C,3,z5 NN &C&$5 \\ 4state NN $ `` getvoCel4C,3,z5
NN &C&&55
Z
altervoCel4C,3,z,state5J
dela3Vms4dela35J
loopRRJ
_
_
_
void effectVblin73-45
Z
int i,rJ
fill4&C&&5J
#"
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
for 4rN&JrT-JrRR5
Z
i N 'B&J
:hile 4iU&5
Z
fill4&C&&5J
dela3Vms4i5J
fill4&Cff5J
dela3Vms4$&&5J
i N i # 4$BR4$&&&A4iA$&555J
_
dela3Vms4$&&&5J
i N 'B&J
:hile 4iU&5
Z
fill4&C&&5J
dela3Vms4'B$#i5J
fill4&Cff5J
dela3Vms4$&&5J
i N i # 4$BR4$&&&A4iA$&555J
_
_
_
AA Dra: a plane on one aCis and send it bac7 and forth once.
void effectVplanboing 4int plane, int speed5
Z
int iJ
for 4iN&JiT9JiRR5
Z
fill4&C&&5J
setplane4plane, i5J
dela3Vms4speed5J
_
for 4iN'JiUN&Ji##5
#+
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
Z
fill4&C&&5J
setplane4plane,i5J
dela3Vms4speed5J
_
_
AA
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNN
AA Dra: functions
AA

AA ;et a single voCel to +6


void setvoCel4int C, int 3, int z5
Z
if 4inrange4C,3,z55
cubeXzYX3Y \N 4$ TT C5J
_
AA ;et a single voCel to +6
void clrvoCel4int C, int 3, int z5
Z
if 4inrange4C,3,z55
cubeXzYX3Y `N a4$ TT C5J
_
AA >his function validates that :e are dra:ing inside the cube.
unsigned char inrange4int C, int 3, int z5
Z
if 4C UN & `` C T 9 `` 3 UN & `` 3 T 9 `` z UN & `` z T 95
Z
return &C&$J
_ else
Z
AA +ne of the coordinates :as outside the cube.
return &C&&J
_
_
#0
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
AA 2et the current status of a voCel
unsigned char getvoCel4int C, int 3, int z5
Z
if 4inrange4C,3,z55
Z
if 4cubeXzYX3Y ` 4$ TT C55
Z
return &C&$J
_ else
Z
return &C&&J
_
_ else
Z
return &C&&J
_
_
AA =n some effect :e :ant to .ust ta7e bool and :rite it to a voCel
AA this function calls the apropriate voCel manipulation function.
void altervoCel4int C, int 3, int z, int state5
Z
if 4state NN $5
Z
setvoCel4C,3,z5J
_ else
Z
clrvoCel4C,3,z5J
_
_
AA Klip the state of a voCel.
AA =f the voCel is $, its turned into a &, and vice versa.
void flpvoCel4int C, int 3, int z5
Z
if 4inrange4C, 3, z55
cubeXzYX3Y PN 4$ TT C5J
_
AA 8a7es sure C$ is al:as smaller than C-
AA >his is usefull for functions that uses for loops,
AA to avoid infinite loops
void argorder4int iC$, int iC-, int ]oC$, int ]oC-5
Z
if 4iC$UiC-5
#)
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
Z
int tmpJ
tmp N iC$J
iC$N iC-J
iC- N tmpJ
_
]oC$ N iC$J
]oC- N iC-J
_
AA ;ets all voCels along a QAW plane at a given point
AA on aCis ?
void setplaneVz 4int z5
Z
int iJ
if 4zUN& `` zT95
Z
for 4iN&JiT9JiRR5
cubeXzYXiY N &CffJ
_
_
AA !lears voCels in the same manner as above
void clrplaneVz 4int z5
Z
int iJ
if 4zUN& `` zT95
Z
for 4iN&JiT9JiRR5
cubeXzYXiY N &C&&J
_
_
void setplaneVC 4int C5
Z
int zJ
int 3J
if 4CUN& `` CT95
Z
for 4zN&JzT9JzRR5
Z
for 43N&J3T9J3RR5
Z
cubeXzYX3Y \N 4$ TT C5J
_
#1
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
_
_
_
void clrplaneVC 4int C5
Z
int zJ
int 3J
if 4CUN& `` CT95
Z
for 4zN&JzT9JzRR5
Z
for 43N&J3T9J3RR5
Z
cubeXzYX3Y `N a4$ TT C5J
_
_
_
_
void setplaneV3 4int 35
Z
int zJ
if 43UN& `` 3T95
Z
for 4zN&JzT9JzRR5
cubeXzYX3Y N &CffJ
_
_
void clrplaneV3 4int 35
Z
int zJ
if 43UN& `` 3T95
Z
for 4zN&JzT9JzRR5
cubeXzYX3Y N &C&&J
_
_
void setplane 4char aCis, unsigned char i5
Z
s:itch 4aCis5
Z
!'
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
case AQ=;VQ:
setplaneVC4i5J
brea7J

case AQ=;VW:
setplaneV34i5J
brea7J
case AQ=;V?:
setplaneVz4i5J
brea7J
_
_
void clrplane 4char aCis, unsigned char i5
Z
s:itch 4aCis5
Z
case AQ=;VQ:
clrplaneVC4i5J
brea7J

case AQ=;VW:
clrplaneV34i5J
brea7J
case AQ=;V?:
clrplaneVz4i5J
brea7J
_
_
AA Kill a value into all 0D b3ts of the cube buffer
AA 8ostl3 used for clearing. fill4&C&&5
AA or setting all on. fill4&Cff5
void fill 4unsigned char pattern5
Z
int zJ
int 3J
for 4zN&JzT9JzRR5
!1
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
Z
for 43N&J3T9J3RR5
Z
cubeXzYX3Y N patternJ
_
_
_
AA Dra: a boC :ith all :alls dra:n and all voCels inside set
void boCVfilled4int C$, int 3$, int z$, int C-, int 3-, int z-5
Z
int i3J
int izJ
argorder4C$, C-, `C$, `C-5J
argorder43$, 3-, `3$, `3-5J
argorder4z$, z-, `z$, `z-5J
for 4izNz$JizTNz-JizRR5
Z
for 4i3N3$Ji3TN3-Ji3RR5
Z
cubeXizYXi3Y \N b3teline4C$,C-5J
_
_
_
AA Dar: a hollo: boC :ith side :alls.
void boCV:alls4int C$, int 3$, int z$, int C-, int 3-, int z-5
Z
int i3J
int izJ
argorder4C$, C-, `C$, `C-5J
argorder43$, 3-, `3$, `3-5J
argorder4z$, z-, `z$, `z-5J
for 4izNz$JizTNz-JizRR5
Z
for 4i3N3$Ji3TN3-Ji3RR5
Z
if 4i3 NN 3$ \\ i3 NN 3- \\ iz NN z$ \\ iz NN z-5
Z
cubeXizYXi3Y N b3teline4C$,C-5J
!2
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
_ else
Z
cubeXizYXi3Y \N 44&C&$ TT C$5 \ 4&C&$ TT C-55J
_
_
_
_
AA Dra: a :ireframe boC. >his onl3 dra:s the corners and edges,
AA no :alls.
void boCV:ireframe4int C$, int 3$, int z$, int C-, int 3-, int z-5
Z
int i3J
int izJ
argorder4C$, C-, `C$, `C-5J
argorder43$, 3-, `3$, `3-5J
argorder4z$, z-, `z$, `z-5J
AA Lines along Q aCis
cubeXz$YX3$Y N b3teline4C$,C-5J
cubeXz$YX3-Y N b3teline4C$,C-5J
cubeXz-YX3$Y N b3teline4C$,C-5J
cubeXz-YX3-Y N b3teline4C$,C-5J
AA Lines along W aCis
for 4i3N3$Ji3TN3-Ji3RR5
Z
setvoCel4C$,i3,z$5J
setvoCel4C$,i3,z-5J
setvoCel4C-,i3,z$5J
setvoCel4C-,i3,z-5J
_
AA Lines along ? aCis
for 4izNz$JizTNz-JizRR5
Z
setvoCel4C$,3$,iz5J
!#
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
setvoCel4C$,3-,iz5J
setvoCel4C-,3$,iz5J
setvoCel4C-,3-,iz5J
_
_
AA *eturns a b3te :ith a ro: of $bs dra:n in it.
AA b3teline4-,B5 gives &b&&$$$$&&
char b3teline 4int start, int end5
Z
return 44&CffTTstart5 ` a4&CffTT4endR$555J
_
AA Klips a b3te $9& degrees.
AA 8;1 becomes L;1, L;1 becomes 8;1.
char flipb3te 4char b3te5
Z
char flop N &C&&J
flop N 4flop ` &b$$$$$$$&5 \ 4&b&&&&&&&$ ` 4b3te UU '55J
flop N 4flop ` &b$$$$$$&$5 \ 4&b&&&&&&$& ` 4b3te UU B55J
flop N 4flop ` &b$$$$$&$$5 \ 4&b&&&&&$&& ` 4b3te UU <55J
flop N 4flop ` &b$$$$&$$$5 \ 4&b&&&&$&&& ` 4b3te UU $55J
flop N 4flop ` &b$$$&$$$$5 \ 4&b&&&$&&&& ` 4b3te TT $55J
flop N 4flop ` &b$$&$$$$$5 \ 4&b&&$&&&&& ` 4b3te TT <55J
flop N 4flop ` &b$&$$$$$$5 \ 4&b&$&&&&&& ` 4b3te TT B55J
flop N 4flop ` &b&$$$$$$$5 \ 4&b$&&&&&&& ` 4b3te TT '55J
return flopJ
_
AA Dra: a line bet:een an3 coordinates in <d space.
AA ses integer values for input, so dont eCpect smooth animations.
void line4int C$, int 3$, int z$, int C-, int 3-, int z-5
Z
float C3J AA ho: man3 voCels do :e move on the 3 aCis for each step on the C
aCis
float CzJ AA ho: man3 voCels do :e move on the 3 aCis for each step on the C
aCis
unsigned char C,3,zJ
unsigned char last3,lastzJ
AA @e al:a3s :ant to dra: the line from CN& to CN'.
AA =f C$ is bigget than C-, :e need to flip all the values.
!!
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
if 4C$UC-5
Z
int tmpJ
tmp N C-J C- N C$J C$ N tmpJ
tmp N 3-J 3- N 3$J 3$ N tmpJ
tmp N z-J z- N z$J z$ N tmpJ
_
if 43$U3-5
Z
C3 N 4float543$#3-5A4float54C-#C$5J
last3 N 3-J
_ else
Z
C3 N 4float543-#3$5A4float54C-#C$5J
last3 N 3$J
_
if 4z$Uz-5
Z
Cz N 4float54z$#z-5A4float54C-#C$5J
lastz N z-J
_ else
Z
Cz N 4float54z-#z$5A4float54C-#C$5J
lastz N z$J
_
AA Kor each step of C, 3 increments b3:
for 4C N C$J CTNC-JCRR5
Z
3 N 4C3]4C#C$55R3$J
z N 4Cz]4C#C$55Rz$J
setvoCel4C,3,z5J
_
_
AA Dela3 loop.
AA >his is not calibrated to milliseconds,
AA but :e had allread3 made to man3 effects using this
!"
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
AA calibration :hen :e figured it might be a good idea
AA to calibrate it.
void dela3Vms4uint$0Vt C5
Z
uint9Vt 3, zJ
for 4 J C U & J C##5Z
for 4 3 N & J 3 T %& J 3RR5Z
for 4 z N & J z T 0 J zRR5Z
asm volatile 4OnopO5J
_
_
_
_
AA ;hift the entire contents of the cube along an aCis
AA >his is great for effects :here 3ou :ant to dra: something
AA on one side of the cube and have it flo: to:ards the other
AA side. Li7e rain flo:ing do:n the ? aCiz.
void shift 4char aCis, int direction5
Z
int i, C ,3J
int ii, iiiJ
int stateJ
for 4i N &J i T 9J iRR5
Z
if 4direction NN #$5
Z
ii N iJ
_ else
Z
ii N 4'#i5J
_
for 4C N &J C T 9J CRR5
Z
for 43 N &J 3 T 9J 3RR5
Z
if 4direction NN #$5
Z
iii N iiR$J
!+
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
_ else
Z
iii N ii#$J
_
if 4aCis NN AQ=;V?5
Z
state N getvoCel4C,3,iii5J
altervoCel4C,3,ii,state5J
_
if 4aCis NN AQ=;VW5
Z
state N getvoCel4C,iii,35J
altervoCel4C,ii,3,state5J
_
if 4aCis NN AQ=;VQ5
Z
state N getvoCel4iii,3,C5J
altervoCel4ii,3,C,state5J
_
_
_
_
if 4direction NN #$5
Z
i N 'J
_ else
Z
i N &J
_
for 4C N &J C T 9J CRR5
Z
for 43 N &J 3 T 9J 3RR5
Z
if 4aCis NN AQ=;V?5
clrvoCel4C,3,i5J
if 4aCis NN AQ=;VW5
clrvoCel4C,i,35J
!0
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
if 4aCis NN AQ=;VQ5
clrvoCel4i,3,C5J
_
_
_
/n continuare vor fi prezentate cateva imagini care nfieaz anumite programe:
!)
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
!1
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
"'
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
"1
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
"2
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
CAP. !. CONCLUZII
!uburile pot fi realizate cu LED#uri: roii, galbene, verzi, albastre sau albe.
Alimentarea se face de la reeaua de --& ,, prin intermediul unui alimentator separat.
Dup cteva minute secvenele de animaii se reiau n mod automat.
La fiecare reluare al secvenelor, va fi afiat i un mesa. teCt . Acest teCt poate fi
personalizat, la realizarea cub#ului, comform dorinei. El poate fi numele firmei sau orice alt
cuvnt, pot fi afiate i cifre.
CAP. ". BIBLIOGRAFIE
CUPRINS
C34.1. ,56%7D8CE%E........................................................................................................ 1
C34. 2. C75/,DE%E56E 6E7%E6,CE 9, /7L8:,, 356E%,73%E.....................................1
2.1. 6E;57L7<,3 LED................................................................................................1
2.2. 3=,>3%E3 ,?3<,5,, DE 85 EC%35 LCD 9, 3@3563AELE 6E;57L7<,E, LED...2
2.#. DE=,5,%E3 ?,C%7C756%7LE%8L8,......................................................................."
2.#.1. 8nitatea centralB de procesare CprelucrareD..........................................................0
2.#.2. 8nitatea de memorie............................................................................................. )
2.#.#. ?agistrala CEusFulD................................................................................................ 1
2.#.!. 8nitatea intrareFieGire paralela.............................................................................1'
2.#.". 8nitatea de intrare / ieGire serialB........................................................................11
2.#.+. 8nitatea timer...................................................................................................... 1#
2.#.0. HatchdogFul........................................................................................................ 1#
2.#.). Convertorul 3nalogFDigital...................................................................................1!
2.#.1. 4rogramul............................................................................................................ 1"
C34. #. %E3L,I3%E3 4%7,EC68L8,...............................................................................1+
#.1. =85CJ,753%E3 C8E8L8, D,5 LEDF8%,................................................................1+
#.2. 3%;,6EC68%3C 35367?,3D C8E8L8, D,5 LEDF8%,.............................................1+
#.#. D,?E5/,85, >, 47%68%,........................................................................................ 10
"#
PROIECTAREA I REALIZAREA UNUI CUB DIN LED-uri 2012
#.!. C75/6%8,%E3 C8E8L8,........................................................................................ 11
#.". C75CE4E%E3 4LKC,, DE C7?35DK....................................................................2"
#.+. C7D8L 4%7<%3?8L8,.......................................................................................... 21
C34. !. C75CL8I,,........................................................................................................... "#
C34. ". E,EL,7<%3=,E..................................................................................................... "#
C84%,5/............................................................................................................................. "#
"!