Sunteți pe pagina 1din 5

Leduri şi nu numai

 04/01/2014 (http://www.roroid.ro/arduinoleduri-si-nu-numai/)  Gheorghe Pop


(http://www.roroid.ro/author/gheorghe-pop/)  Tutoriale Arduino
(http://www.roroid.ro/category/tutoriale/)

În articolul introductiv ne-am familiarizat cu platforma ARDUINO şi am aflat de ce avem nevoie


pentru a putea realiza primul nostru proiect. Acum vom începe să conectăm diverse periferice la
placa de dezvoltare Arduino, o să vedem cum putem să comandăm aceste periferice şi cum obţinem
informaţii de la ele.

Despre rezistori:
Rezistorul este cel mai banal şi mai des utilizat component electronic. Spre exemplu un telefon mobil
are câteva sute de rezistori în interiorul lui. Menirea unui rezistor într-un circuit electronic este să
limiteze curentul (să reziste la trecerea curentului). Pentru a înţelege mai bine haideţi să luăm ca
exemplu o conductă cu apă. Cu cât conducta este mai îngustă, prin ea trece o cantitate mai mică de
apă. Aceasta are o rezistenţa mare. În schimb dacă lărgim conducta respectivă, prin aceasta va putea
trece o cantitate mai mare de apă, ceea ce înseamnă că rezistenţa scade.

Rezistorii se măsoară în ohmi (Ω) şi se calculează după formula R=U/I. Unde U resprezintă tensiunea,
care se măsoară în Volţi, iar I reprezintă intensitatea, care se măsoară în Amperi.

Un caz mai aparte de rezistor este cel variabil. Valoarea acestuia (rezistenţa) poate fi ajustată prin
reglarea unui contact mecanic (cursor). De obicei acest tip de rezistori au trei terminale şi se mai
numesc potenţiometre.

Simbolizare:
(http://www.roroid.ro/wp-content/uploads/2014/01/rezi.png)

Codul culorilor:
Valorile rezistenţelor sunt fie scrise fizic ca valoare pe acestea, fie trecută sub forma unor bande
colorate pe corpul rezistorilor. Pentru mai multe informaţii despre codurile de culoare vezi şi
http://en.wikipedia.org/wiki/Electronic_color_code . Programul gResistor te poate ajuta în
interpretarea codurilor de culoare.

Despre LED-uri:
Cuvântul LED vine de la Light Emitting Diode (diodă care emite lumină). Pentru a înţelege ce
înseamnă o diodă va trebuii să îţi imaginezi o stradă cu sens unic. Dacă vrei să intri pe această stradă
din sensul opus, există un poliţist care nu îţi va permite acest lucru. La fel, şi dioda permite curentului
să circule într-un singur sens. Printr-o diodă curentul poate trece doar de la pozitiv(+) spre negativ(-).
Exact acelaşi principiu se aplică şi LED-ului, ceea ce înseamnă că polaritatea este importantă în
alimentarea unui LED. LED-urile se folosesc în electronică încă din 1962, iar în prezent tehnologia a
permis folosirea acestora în cele mai diverse aplicaţii. De la dysplay-uri video până la senzori optici.

Identificarea pinilor (+) şi (-) în cazul unui led se face foarte simplu.

(http://www.roroid.ro/wp-content/uploads/2014/01/led.png)

Tot timpul pinul mai lung este (+) sau ANOD iar cel mai scurt este CATOD sau (-). De asemenea în
interiorul LED-ului catodul este mai proeminent faţă de ANOD.

Simbolizare:
(http://www.roroid.ro/wp-content/uploads/2014/01/led_sch_.png)

Legarea LED-urilor la placa de dezvoltare


Pentru obţinerea unui efect puţin mai frumos decât clipirea unui led îţi propun aplicaţia de mai jos.
Pentru aceasta vei avea nevoie de 8 leduri şi de 8 rezistenţe de 220Ω.

(http://www.roroid.ro/wp-

content/uploads/2014/01/aplic_led.png)
(http://www.roroid.ro/wp-content/uploads/2014/01/aplicatie_led_SCH.s.png)

Şi acum programul:

1 /*Joc de lumini pe 8 LED-uri*/


2  
3 int LED[] = {6,7,8,9,10,11,12,13};//se definesc pinii pe care sunt conectate LED-urile
 
4 void setup()
5 {
6  
7 /*Se seteaza pinii mai sus definiti ca si IESIRI
8  
9 Functia FOR lucreaza in felul urmator:
10 i=0
11 pinMode(ledPins[0],OUTPUT)-adica pinMode(6,OUTPUT) -seteaza pinul 6 ca iesire
12 i++ variabila i este incrementata dinou cu 1 in concluzie i=1
13 i=1
14 pinMode(ledPins[1],OUTPUT)-adica pinMode(7,OUTPUT) -seteaza pinul 7 ca iesire
15 .............
16 se continua pana cand i este mai mic ca 8 adica i=7 cand se seteaza pin-ul 13 ca iesir
17 e
*/
18 for(int i = 0; i < 8; i++){
19 pinMode(LED[i],OUTPUT);
20 }
21  
22 }
23  
24 void loop()
25 {
26 animatie();
27 }
28  
29 void animatie(){
30 int intarziere = 100; //se defineste 100ms interval intre aprinderea si stingerea unui
31 led
for(int i = 0; i <8; i++){
32 int stopLED = i - 1; //calculeaza care a fost ultimul led aprins
33 if(i == 0) { //in cazul in care procesul se reia se stinge ultimul LED
34 stopLED = 7;
35 }
36 digitalWrite(LED[i], HIGH); //se aprinde un nou LED
37 digitalWrite(LED[stopLED], LOW); //se stinge ultimul LED
38 delay(intarziere);
39 }
40 }
41

Spor la treabă!

arduino (http://www.roroid.ro/tag/arduino/) lcd (http://www.roroid.ro/tag/lcd/)

tutoriale (http://www.roroid.ro/tag/tutoriale-2/)

GHEORGHE POP (HTTP://WWW.ROROID.RO/AUTHOR/GHEORGHE-POP/)

Sunt pasionat de tot ceea ce inseamna programare. Nu m-am specializat pe un limbaj


anume, dar in ultimul timp programez doar in C si Python. Primul calculator l-am primit la
varsta de 10 ani (a fost un CHIP03 pe care il mai am si azi). In 2005 am terminat facultatea
de Mecatronica din UPT iar in prezent "ma joc" cu Arduino si Raspberry Pi.

5 păreri despre “Leduri şi nu numai”

ADI
05/01/2014 la 10:01 (http://www.roroid.ro/arduinoleduri-si-nu-numai/#comment-7)

Cred ca este o itrebare de super incepator, dar de ce avem nevoie de rezistenta? Este
prea mare curentul pentru leduri?

RĂSPUNDE (/ARDUINOLEDURI-SI-NU-NUMAI/?REPLYTOCOM=7#RESPOND)

ROROID
06/01/2014 la 22:42 (http://www.roroid.ro/arduinoleduri-si-nu-numai/#comment-93)

Rezistenta este necesara pentru a limita curentul care trece prin led. Daca rezistenta
lipseste limitarea de curent v-a trebuii sa vina din microcontroler, lucru care poate duce la
deteriorarea acestuia.

RĂSPUNDE (/ARDUINOLEDURI-SI-NU-NUMAI/?REPLYTOCOM=93#RESPOND)