Sunteți pe pagina 1din 11

http://www.robofun.

ro

Curs Gratuit Arduino si Robotica

Textul si imaginile din acest document sunt licentiate


Attribution-NonCommercial-NoDerivs CC BY-NC-ND

Codul sursa din acest document este licentiat


Public-Domain Esti liber sa distribui acest document prin orice mijloace consideri (email publicare pe !ebsite " blog printare sau orice alt mijloc# atat timp cat nu aduci nici un $el de modi$icari acestuia% Codul sursa din acest document poate $i utili&at in orice $el de scop de natura comerciala sau nu $ara nici un $el de limitari%

http://www.robofun.ro/forum

http://www.robofun.ro

Curs Gratuit Arduino si Robotica

Analogie electricitate curgerea fluidelor


'na dintre cele mai simple modalitati de a intelege conceptele de ba&a ale electricitatii este de a apela la o analogie cu modul de curgere al $luidelor pe care il intelegem intuitiv din experienta proprie% Ast$el sa ne inc(ipuim apa curgand printr-un mecanism de tevi de diverse diametre% )a ne inc(ipuim ca avem pompe care imping apa prin tevi pompe cu puteri diverse% Acum daca in loc de apa ne inc(ipuim un $lux de electroni in loc de tevi $ire conductoare si in loc de pompe surse de tensiune (baterii sau alimentatoare# obtinem o analogie care $unctionea&a aproape per$ect pentru a intelege teoria electricitatii% Ast$el la un moment dat printr-o anumita teava trece o anumita cantitate de apa% *a $el printr-un $ir la un moment dat trece o anumita cantitate de curent% Cat de mult curent trece printr-un $ir la un moment data este un element caracteri&at de intensitatea curentului electric, masurata in Amperi% Daca ne inc(ipuim un circuit $ormat din mai multe tevi mu$ate intre ele sub $orma unui circuit inc(is este clar ca prin $iecare teava circula exact aceeasi cantitate de apa la un moment dat (apa pleaca din pompa trece prin $iecare teava si apoi se intoarce inapoi in pompa exact cata apa pleaca exact atata se intoarce#% Exact in acelasi mod intensitatea curentului electric este aceeasi in oricare punct al unui circuit electric simplu ($ara bi$urcatii#% Alt$el spus prin oricare punct al unui circuit fara bifurcatii trece aceeasi cantitate de curent% +ai departe daca ne gandim ca tevile au diametre di$erite dar prin ele circula aceeasi cantitate de apa atunci presiunea apei este di$erita in $iecare teava in $unctie de diametrul acesteia% Ec(ivalentul presiunii apei din tevi in ca&ul curentului electric este potentialul electric (sau tensiunea) si se masoara in Volti. Daca ai udat vreodata cu $urtunul in gradina atunci stii ca pentru a creste presiunea apei tot ce ai de $acut este sa strangi $urtunul (sa-i micsore&i diametrul#% Diametrul tevii (practic re&istenta pe care o opune teava trecerii apei# este ec(ivalentul in ca&ul circuitelor electrice cu rezistenta elementului electric si se masoara in Ohm% Exista elemente electrice speciale care se c(eama rezistoare si care sunt $olosite tocmai pentru re&istenta cu care se opun trecerii curentului electric% Daca ne gandim ca in ca&ul $urtunului cu apa cu cat diametrul $urtunului este mai mic (deci re&istenta opusa apei este mai mare# cu atat presiunea apei este mai mare atunci putem scrie , intensitatea = tensiunea / rezistenta Daca notam $iecare marime cu o singura litera obtinem ,

http://www.robofun.ro/forum

http://www.robofun.ro I=U/R care repre&inta legea lui -(m%

Curs Gratuit Arduino si Robotica

+ai departe $iecare pompa de lic(id este capabila sa impinga lic(idul in tevi cu o anumita presiune% .n ca&ul unui surse electrice ec(ivalenta este tensiunea electromotoare a sursei (notata cu U sau cu V#% .n plus o pompa de lic(id este capabila sa impinga la un moment dat doar o cantitate $inita de apa (adica daca la pompa nu conectam absolut nimic si lasam apa sa curga liber / adica $ara a intampina nici o rezistenta# atunci pompa va impinge cea mai mare cantitate de lic(id pe secunda% Exact la $el se intampla si in ca&ul surselor electrice (baterii sau alte surse#% - sursa este capabila sa $urni&e&e un curent de maxim N amperi% Din acest motiv intotdeauna vom intalni scris pe alimentatoarele electrice 01 2 3 A0 sau 034 2 5 A0% Este important de inteles ca aceasta valoare a curentului notat pe alimentator repre&inta valoarea maxima a curentului pe care acea sursa este capabila sa il $urni&e&e (atunci cand nu are nici o re&istenta la borne# si N' valoarea curentului pe care il $urni&ea&a intotdeauna in orice circuit% .n ca&ul unui pompe care impinge apa in tevi cantitatea de apa din teava (adica intensitatea# este data de diametrul tevii (adica de rezistenta circuitului# tot asa si in ca&ul circuitelor electrice intensitatea curentului electric este stabilita de catre circuitul electric, si nu este un parametru al sursei% )ursa limitea&a insa superior aceasta valoare% Din aceasta cau&a nu este nici un $el de problema sa alimentam un motor care $unctionea&a la 6 2olti si 3 Amper cu o sursa electrica pe care scrie 062 5A0% Acei 5 Amperi notati pe sursa repre&inta valoarea maxima a intensitatii curentului electric pe care acea sursa ii poate $urni&a% Cuplata insa cu motorul de 3 Amper prin circuit se va stabili un curent stabilit de motor (care va $i mai mic de 3 Amper atunci cand motorul se invarte liber si se va apropia de 3 Amper atunci cand blocam rotirea motorului $olosind un cleste#% 7ecapituland avem pana acum , intensitatea curentului electric (notata cu . si masurata in Amperi (A## 8 cata apa trece prin tevi tensiunea intr-un punct din circuit (notata cu 2 sau ' si masurata in 2olti (2# # 8 presiunea apei intr-un numit punct re&istenta (notata cu 7 si masurata in -(m# 8 ce re&istenta opune teava trecerii apei (cat de subtire este teava# prin orice punct al unui circuit electric simplu ($ara bi$urcatii# trece acelasi curent .% . 8 ' " 7 (legea lui -(m# (cantitatea de apa este direct proportionala cu presiunea cu care este impinsa apa si invers proportionala cu re&istanta opusa apei de tevi#%

http://www.robofun.ro/forum

http://www.robofun.ro

Curs Gratuit Arduino si Robotica

Divizorul de tensiune
)a consideram circuitul electric de mai sus $ormat dintr-o sursa si doua re&istoare inseriate% Curentul stabilit prin circuit este determinat $oarte simplu ca $iind . 8 ' " (73 9 74# (legea lui -(m#% +ai departe daca ne concentram doar pe 74 aceeasi lege se aplica si pentru ea luata separat% .n plus am mai stabilit ca in orice punct al unui circuit electric simplu ($ara bi$urcatii# avem aceeasi intensitate a curentului electric% Asadar putem scrie , . 8 '4 " 74 (unde '4 este caderea de tensiune la capetele re&istorului 74% Putem ast$el determina '4 ca $iind '4 8 . : 74 adica $olosind si prima relatie de mai sus , '4 8 ' : 74 " (73 9 74#% Aceasta relatie care ne da caderea de tensiune pe re&istorul 74 in $unctie de 73 74 si ' este $oarte utila intr-o multitudine de situatii% )pre exemplu daca in loc de 73 (care in ca&ul nostru este $ix# avem un sen&or care isi modi$ica re&istenta in $unctie de un element extern (de exemplu un $otore&istor# atunci masurand cu Arduino caderea de tensiune '4 (pe un pin analogic# indirect masuram si valoarea lui 73 deci implicit nivelul de iluminare al incaperii%

Circuite electrice cu bifurcatii


Desi nu te vei intalni prea des cu ast$el de circuite este interesant sa ne aruncam o privire si asupra lor% Este vorba despre un circuit care la un moment dat se separa ca cel de mai jos% Daca vom apela iarasi la analogia cu $urtunul si cu apa este evident ca volumul de apa care trece prin sectiunea ) este egal cu suma volumelor de apa care trec prin sectiunile )3 si )4% Exact la $el intensitatea curentului electric care trece prin sectiunea )3 este suma intensitatilor curentilor electrici care trec prin sectiunile )3 si )4% Adica , I=I care este prima lege a lui ;irc(o$$% ! I"

http://www.robofun.ro/forum

http://www.robofun.ro

Curs Gratuit Arduino si Robotica

)a luam apoi bucla $ormata din 73 si 74% Nu stiu cat de evident este acest lucru din analogia cu curgerea lic(idelor dar intotdeauna pe o bucla de circuit inc(isa suma caderilor de tensiune este &ero% Adica , U care este a doua lege a lui ;irc(o$$% <ata = .narmati cu legea lui -(m si cu cele doua legi ale lui ;irc(o$$ putem acum determina curenti si tensiuni pe circuite oricat de complicate% ! U" = #

Condensatorul
'n condensator nu este altceva decat o galeata in care cad electronii% Cand galeata s-a umplut sarcinile incep sa curga mai departe pe $ir% Din acest motiv vom intalni $olositi condesatori peste tot unde avem nevoie de un bu$$er de curent% )pre exemplu aproape de alimentarea unui motor de curent continuu% Ast$el atunci cand motorul porneste are nevoie de o mare cantitate de curent% Posibil c(iar mai mare decat poate da sursa% .n aceasta situatie un condensator de valoare mare va stoca acel curent in regimul de $unctionare normal si il va o$eri motorului la pornire% .n acest $el si restul dispo&itivelor din circuit vor avea su$icient curent ca sa $unctione&e%

Semnalul PWM
)emnalul P>+ (sau Pulse >idt( +odulation# este un tip de semnal pe care il vom intalni destul de des cand lucram cu Arduino% Dat $iind ca Arduino scoate porturile lui digitale doar semnal digital (cu doar doua nivele / ?2 si @2# semnalul P>+ repre&inta o modalitate de a da in exterior in$ormatie care sa varie&e pe mai multe trepte% Ast$el daca modi$icam raportul intre cat timp sta http://www.robofun.ro/forum

http://www.robofun.ro

Curs Gratuit Arduino si Robotica

semnalul in ?2 si cat timp sta semnalul in @2 obtinem un semnal a carui putere se modi$ica in trepte% Acest raport il vom numi in cele ce urmea&a 0$actor de umplere0 al semnalului P>+% Arduino poate genera un semnal de tip P>+ doar pe o parte din porturile digitale% Ast$el pentru Arduino 'N- porturile capabile de semnal P>+ sunt , A ? 6 1 3@ si 33 iar pentru Arduino +ega porturile capabile de semnal P>+ sunt de la pinul 4 (inclusiv# pana la pinul 3A si de la pinul 55 la pinul 56 %

'na dintre cele mai comune aplicatii ale semnalului P>+ este controlul motoarelor de curent continuu% 'n motor de curent continuu caruia i s-a aplicat un semnal P>+ cu $actor de umplere 3@@B va $unctiona la vite&a maxima% Daca $actorul de umplere scade la ?@B si vite&a motorului se va modi$ica in consecinta (tinand cont ca doar o jumatate din timp mai este actionat practic cealalta jumatate din timp invartindu-se din inertie#%

http://www.robofun.ro/forum

http://www.robofun.ro

Curs Gratuit Arduino si Robotica

Cum sa faci o floare sa te traga de maneca atunci cand uiti sa o uzi


Cu un Arduino destul de simplu% .ti mai trebuie doar un sen&or de umiditate 0(ome-made0 $ormat din doua $ire introduse in g(iveci si un dispo&itiv care sa alerte&e (un led / care sa se aprinda atunci cand planta vrea apa un s(ield Et(ernet / care sa te contacte&e pe T!itter sau sa-ti dea email atunci cand este ca&ul sau c(iar un s(ield <)+ care sa iti dea )+) sau apel de voce pe tele$on#% )c(ema de principiu este cea de mai jos%

.n g(iveci avem cei doi electro&i metalici% Pot $i din orice metal dar pentru a nu oxida cel mai bine este sa $ie din inox% Daca este di$icil sa gasiti sarma sau electro&i din inox sunt la $el de bune si doua co&i de $urculita din inox% Acestea se in$ig la o distanta de circa 3 cm intre ele (nu este $oarte importanta distanta important este sa N' se atinga si sa nu $ie $oarte departate - gen unul intr-o margine de g(iveci si celalalt in cealalta margine#% 'rmatorul pas este sa stabilim valoarea re&istorului asociat celor doi http://www.robofun.ro/forum

http://www.robofun.ro

Curs Gratuit Arduino si Robotica

electro&i in$ipti in pamant% Pentru aceasta avem nevoie de un o(metru aparat de masura pentru re&istenta% Cei doi electro&i in$ipti in sol (sau co&i de $urculita din inox# impreuna cu pamantul dintre ei $ormea&a un re&istor a carui valoare depinde de cat de umed este pamantul% Cu cat mai umed este pamantul cu atat avem o re&istenta mai mica asociata sistemului% Colosind o(metrul masoara valoarea re&istentei electrice intre cei doi electro&i% Porneste cu scala aparatului in &ona de megao(mi si modi$ica scala pana cand obtii o valoare% 2aloarea depinde de tipul pamantului din g(iveci de cat de departe ai in$ipt electro&ii si de cat de ud este pamantul cand $aci masuratoarea% Dupa ce ai obtinut o valoare alege o valoare similara si pentru re&istorul conectat in sistem% +ai departe asamblea&a sistemul con$orm sc(emei de mai sus% Ceea ce obtii este de $apt un banal divi&or de tensiune% 'nul dintre re&istori este $i&ic montat in sc(ema iar cel de-al doilea este constituit de cei doi electro&i impreuna cu pamantul dintre ei din g(iveci% Atunci cand valoarea re&istorului $ormat de cei doi electro&i se modi$ica (pentru ca pamantul se usuca sau devine mai ud# atunci si valoarea citita de Arduino se modi$ica% De aici incolo tot ce ai de $acut este sa teste&i iar si iar pentru a obtine exact valorile corespun&atoare pentru a genera alarme% .ncepe cu pamant per$ect uscat si notea&a valoarea citita de Arduino pe portul analogic @% Poti vedea aceasta valoare in debug $olosind un program simplu ca cel de mai jos%
void setup() { Serial.begin(9600); } void loop() { int v = analogRead(0); Serial.println(v); }

Adauga apoi apa $oarte putina si asteapta sa se raspandeasca uni$orm in intreg g(iveciul% Ast$el vei obtine mai multe valori $iecare valoare pentru anumit nivel de umiditate din g(iveci% +ai departe tot ce ai de $acut este sa iti alegi ce tip de alarma iti doresti% Poti alege un simplu led un s(ield >.C. un s(ield Et(ernet sau un s(ield <)+% Cel mai simplu este sa $olosesti un led bricD conectat la unul dintre porturile digitale (sa spunem portul digital 34#% Pinul .N il conecte&i la pinul digital 34 iar pinul <ND la pinul <ND al Arduino%

http://www.robofun.ro/forum

http://www.robofun.ro

Curs Gratuit Arduino si Robotica

#define LED_PIN 12 #define ALARM 300 void setup() { Serial.begin(9600); pinMode(LED_PIN, OUTPUT); } void loop() { int v = analogRead(0); if (v ALARM) ! di"i#$%&'i#e(LED_PIN, (I)(); * e%+e ! di"i#$%&'i#e(LED_PIN, LO&); * de%$,(-000); .e'i$%/p'in#%n(v); }

Ca sa stabilesti o valoare pentru constanta A*A7+ cat mai aproape de realitate poti c(iar sa lasi sistemul pornit mai multe &ile si ori de cate ori constati ca planta are nevoie de apa sa te conecte&i mai intai cu laptop-ul la Arduino si sa citesti valoarea citita de Arduino inainte de a pune apa si dupa ce ai pus apa%

Aceasta a fost lectia $. In final, as %rea sa te ro& sa ne oferi feedbac' asupra acestei lectii, pentru a ne permite sa le facem mai bune pe urmatoarele. (ste %orba despre un sonda) cu $ intrebari (oricare este optionala), pe http://www.robofun.ro/forum

http://www.robofun.ro care il poti accesa dand clic' aici.

Curs Gratuit Arduino si Robotica

*au ne poti contacta direct prin email la contact+robofun.ro . Iti multumim, (chipa Robofun.RO

http://www.robofun.ro/forum

S-ar putea să vă placă și