CUPRINS ………………………….. ………………………….. ………………………….. ………………… 5 Capitolul 1…. [609649]

5 CUPRINS

CUPRINS ………………………….. ………………………….. ………………………….. ………………… 5
Capitolul 1. Introducere ………………………….. ………………………….. ……………………….. 7
Capitolul 2. Noțiuni generale privind realizarea unei sere ………………………….. ….. 8
2.1. Avantajele cultivării în sere ………………………….. ………………………….. ………………………….. ….. 8
2.2. Construcția serelor ………………………….. ………………………….. ………………………….. ………………. 9
2.3. Automatizarea serelor ………………………….. ………………………….. ………………………….. ………….. 9
2.4. Parametrii de mediu a unei sere ………………………….. ………………………….. ………………………. 10
2.4.1. Temperatura ………………………….. ………………………….. ………………………….. ………………… 10
2.4.2. Umidita tea aerului ………………………….. ………………………….. ………………………….. ………… 11
2.4.3. Umiditatea solului ………………………….. ………………………….. ………………………….. ………… 11
2.4.4. Aerisirea/Ventilarea aerului ………………………….. ………………………….. ……………………….. 12
2.4.5. Dioxidul de carbon (CO 2) ………………………….. ………………………….. ………………………….. 12
2.4.6. Lumina și intensitatea ei ………………………….. ………………………….. ………………………….. … 13
Capitolul 3. Implementarea hardware a sistemului de control a unei sere ……… 16
3.1. Descrierea componentelor ………………………….. ………………………….. ………………………….. ….. 16
3.1.1. Placa de dezvoltare Arduino UNO ………………………….. ………………………….. ………………. 16
3.1.2. Senzorul DHT11 ………………………….. ………………………….. ………………………….. ………….. 17
3.1.3. Sen zor umiditate sol FC -28-B ………………………….. ………………………….. …………………….. 18
3.1.4. Senzor nivel apă ………………………….. ………………………….. ………………………….. …………… 18
3.1.5. Pompă apă mini RS -360SH ………………………….. ………………………….. ………………………… 19
3.1.6. Senzor nivel apă cu comutator plutitor FS -1B-31 ………………………….. ………………………. 19
3.1.7. Electrovalvă G3/4 ………………………….. ………………………….. ………………………….. …………. 20
3.1.8. LED -ul ………………………….. ………………………….. ………………………….. ………………………… 21
3.1.9. Becul incandescent ………………………….. ………………………….. ………………………….. ……….. 21
3.1.10. Ventilatorul ………………………….. ………………………….. ………………………….. ………………… 21
3.1.11. Releul ………………………….. ………………………….. ………………………….. ……………………….. 22
3.1.12. Transistor Mosfet IRF520 ………………………….. ………………………….. ………………………… 22
3.1.13. Tranzistor bipolar ………………………….. ………………………….. ………………………….. ……….. 22
3.1.14 . Rezistoare ………………………….. ………………………….. ………………………….. ………………….. 23
3.2. Schema electronică de conectare a circuitelor ………………………….. ………………………….. …… 23
3.3. Dezvoltarea aplicației hardware ………………………….. ………………………….. ………………………. 24
3.3.1. Realizarea machetei ………………………….. ………………………….. ………………………….. ………. 24
3.3.2. Încălzirea serei ………………………….. ………………………….. ………………………….. ……………… 25
3.3.3. Ventilarea/răcirea serei ………………………….. ………………………….. ………………………….. ….. 26

6 3.3.4. Pulverizarea vaporilor de apă ………………………….. ………………………….. ……………………… 27
3.3.5. Irigarea ………………………….. ………………………….. ………………………….. ……………………….. 28
3.3.6. Iluminarea serei ………………………….. ………………………….. ………………………….. ……………. 29
3.3.7. Costuri de realizare ………………………….. ………………………….. ………………………….. ……….. 29
Capitolul 4. Pachetul software de conducere a sistemului de sere ………………….. 31
4.1. Arhitectura software ………………………….. ………………………….. ………………………….. …………… 31
4.2. Implementare firmware Arduino ………………………….. ………………………….. ……………………… 32
4.3. Implementare aplicația Desktop de conducere a unui sistem de sere ………………………….. .. 35
4.3.1. Mediul de dezvoltare ales ………………………….. ………………………….. ………………………….. . 35
4.3.2. Dezvoltarea aplicației software ………………………….. ………………………….. …………………… 36
4.3.3. Proiectarea detaliată a structurii aplicației Desktop ………………………….. ……………………. 39
Capitolul 5. Concluzii finale ………………………….. ………………………….. ………………… 48
Bibliografie ………………………….. ………………………….. ………………………….. …………….. 49
Anexa 1 ………………………….. ………………………….. ………………………….. ………………….. 51

7 Capitolul 1.
Introducere
Încă din cele mai vechi timpuri omul a încercat să dezvolte mecanizare a și automatizarea
proceselor agricole. O trăsătură distinctivă împărtășită de evoluția actuală a mașinilor și a sistemelor
agricole este data de adoptarea unor sis teme care înlocuiesc operatorul în gestionarea directă a
proceselor .
De la mașini agricole la sisteme de irigare, creșterea plantelor în sere, în sectorul primar
automatizarea este un element -cheie al productivității . Istoria ingineriei agricole este plină de
exemple elegante de sisteme mecanice s au hidraulice, cu sarcini de aut omatizare .
Mulțumită software -ului și arhitecturii hardware standardizate, astăz i automat izarea avansată
din agricultură constituie un factor ese nțial în optimizarea producției prin trasabilitate , calitate,
sănătate, eficiența energie i, integrarea cu sisteme de informare și aspectele legate de mediu . Astfel
produsele hardware și soft ware, sunt o alternativă foarte interesantă și flexibilă.
Această lucrare , intitulată “Sistem integrat a unei exploataț ii agricole formată din mai multe
sere”, propune descrierea și realizarea unui exemplu de automatizare prin care se pun în valoare
mijloacele de producție, interconectate într -un sistem unitar, în vederea obținerii de produse
agricole într-un mod eficient .
Intenția este aceea de a limita intervenția operatorului uman și de a avea o evidență , astfel
încât să fie posibilă verificarea ș i investigarea gradului de bunăstare a speciilor de plante prezente în
sere și "mode larea" în mod corespunzător în funcție de specificațiile impuse asupra sistemului,
pentru a îmbunătăți randamentul.
Pentru a crește calitatea și cantitatea producției în s ere, este important să se pună în aplicare
condiționarea și controlul metodelor climatice și a parametrilor de mediu cu ajutorul aparatelor
avansate. Pentru a seta automatizarea principalelor etape de cultivare în seră, trebuie ținut cont de
parametri i specifici care urmează să fie controlați. Principalii parametri i care urmează să fie
măsurați sunt temperatura și umiditatea interioară, cât și temperatura și umiditatea solului . În sere
mari au devenit elemente comune planificate deschiderile programate, aer condiționat automat,
sisteme de irigații și calculator de fert ilizare . În sere automatizate culturile sunt protejate de excesul
de căldură sau frig , precum și de dăunători și boli. Controlul luminii și al temperaturii facilitează
producția de produse agricole în medii marginale , deoarece serele permit ca anumite culturi să fie
cultivate pe tot parcursul anului.
Irigarea este cel mai important lucru pe un sistem cu efect de seră. Apa va pune la dispoziție
elementul principal și va asigura supraviețuire a plantelor în anumite circumstanțe. După cum știm
cu toții, de cele mai multe ori grădinarul folosește sistemul manual pentru i rigarea plantelor, dar
acest sistem nu este eficient. Plantele fie vor muri în cazul în care nu există suficie nte provizii de
apă sau dacă există un exces de apă. În scopul menținerii acestei stări și de a depăși această
problemă, este utilizat sistem ul de irigare automată și monitorizarea acestuia. [1]
Acest proiect are ca obiectiv implementarea unui software pentru controlul și monitorizarea
mai multor sere, cu scopul de a menține temperatura optimă prin pornirea sistemului de
răcire/încălzi re, de a controla intensitatea luminoasă pentru adaptarea plantelor la schimbarea
intensității luminii și de a asigura cantitatea de apă nece sară pentru cultură , optimizând în felul
acesta consumul și obținând un randament ridicat în creșterea plantelor.
Cele cinci capitole ale acestei lucrări cuprind considerente generale, alegerea soluțiilor,
implementarea soluțiilor și la final concluziile rezultate.

8 Capitolul 2.
Noțiuni generale privind realizarea unei sere
Dezvoltarea materialelor plastice a fost unul dintre factorii hotărâtori în mare expansiune a
industriilor cu efect de seră in jurul lumii. În a doua jumătat e a secolul ui 20, costu l redus al serelor
acoperite cu plastic în raport cu serele tradiționale din sticlă, a dus la promovarea și utilizarea
acestora, fără încălzire, în mai multe zone cli matice blânde, dar modele avansate au devenit un lucru
obișnuit în țările nordice mai reci, datorită costurilor semnificativ reduse în consumul de energie. [1]
Greutatea redusă a materialelor de plastic comparativ cu sticla, au permis o reducere not abilă
în structurile de sprijin , ca și consecință a scăderii costurilor de construcție.
O seră este o structură cu acoperiș și pereți din sticlă sau material plastic , un exemplu vă este
ilustrat în Fig. 2.1. , în care clim a diferă de exterior, cu scopul adăpostirii și cultivării plantelor în
perioada friguroasă a a nului. Încălzirea în perioada friguroasă este asigurată prin diferite metode:
apă caldă, energie electrică etc.
În prezent, tehnologia permite cultivarea în seră a oricărei specii horticole în orice regiune a
lumii, cu condiția ca sera să fie în mod cores punzător climatizată , însă o afacere profitabilă prin
cultivarea culturii țintă necesită o selecție mult mai riguroasă a regiunii, în funcție de condițiile
climatice și de cerințele horticole selectate.

Fig.2.1. Exemplu structură seră
Materialele folosite la acoperirea serelor se împart în două categorii:
 Rigide : Sticlă , Policarbonat , PVC (Policlorură de vinil) , etc..
 Flexibile : Folie tratată UV , Folie PVC flexibila, etc.
2.1. Avantajele cultivării în sere
Cultura legumelor în s ere prezintă numeroase avantaje printre care se numără :
o producția mai timpuri e față de cultura de câmp, în special pentru speciile
pretențioase față de temperatură
o culturile sunt protejate împotriva schimbărilor climatice asigurând un grad ridicat de
siguranță în obținerea prod ucției
o creșterea productivității față de culturile de câmp
o folosirea intensivă a suprafețelor de teren, indiferent de sezonul climatic, prin culturi
succesive și asociate

9 o calitatea superioară a produselor obținute
o gestionarea eficientă a consumului de apă, energie, pesticide, erbicide, îngrășăminte.
2.2. Construcția serelor
Structura este compusa dintr -un schelet metalic feros (oțel) sau nef eros (aluminiu) care
trebuie să fie rezistentă la intemperiile climatice și să ofere o durată mare de viață. Structura este
acoperită cu sticlă, PVC sau Policarbonat.
Policarbonatul prezintă avantaje mai mari comparativ de sticlă:
– un bun izolator termic
– rezistență mai mare la deteriorare
– protecție UV împiedicând îngălbenirea plăcilor
Se recomandă ca atunci când este folosită metoda de acoperire cu policarbonat , acesta să
aibă grosimea de minim 6mm.
Serele pot ocupa spați i întinse iar înălțimea la coamă poate atinge 7m. Fiecare arc al
structurii trebuie prevăzut cu tiranți pentru prinderea firelor în scopul susținerii fiecărui fir de
tomate.
Este foarte important ca serele să fie proiectate în așa f el încât să ne permită extensia
ulterioara atât în lungime cât și în înălțime, astfel în funcție de specificul zonei cât și de cultura care
se intenționează a fi plantată se va alege modelul de sera cel mai potrivit acestor criterii. [2]
2.3. Automatizarea serelor
Pentru prelucrarea semnalelor se folosesc trei tipuri de principii:
– controlul digital
– controlul digital direct (DDC)
– controlul analogic
Digitale și analogice sunt cele două principii , cel mai frecvent utilizate la prelucrarea
semnalelor pentru automatizarea serelor .
De-a lungul anilor 1940 precum și 1950, sistemele de control erau primitive, cea mai mare
parte folosind tipul de control digital (on-off) al temperaturii cu încălzire a și ventilația determinată
de termostate separate . În mod inevitabil, la astfel de sisteme rezultă diferenț a de temperatură între
punctele on și off. În funcție de particularitățile fi ecărei situații , variațiile de temperatură pot fi mult
mai mari decât un unu -două grade , echilibru l necorespunzător al sistem ului de încălzire , datorat
protecție i defect uoase și locației ne adecvate a termostat ului, sau modificări rapide ale radiațiilor și
temperaturi i exterioare pot avea ca rezultat un control instabil, cu variații de temperatură on -off
suficient pentru a reduce în mod semnificativ calitatea culturilor. Cu toate acestea, sistemul on -off
proiectat în mod adecvat poate fi destul de bun și fe zabil din punct de vedere economic.[3]
Ca rezultat al dezvoltării din al doilea război mondial, utilizarea circuitelor electrice pentru a
seta intrările din măsurători ale mediului, și în mod automat pentru a calcula puterea necesară
pentru acționarea maș inilor, s -a dezvoltat treptat. Acest sistem se numește control analogic pentru
că un semnal de mediu continuu variabil , este supus unor modificări pentru a furniza semnale de
acționare la sistemele de încălzire și de răcire.
În anii 1970, calculatoarele au fost disponibile pentru controlul climei. În termen de 2 ani
începând cu 1974, cinci firm e din Olanda aveau de vânzare sisteme informatice pentru sere,
crescând la nouă firme până la 1979, cu mai mult de 400 de sisteme vândute în acel an .[3]
În vederea automatizării unei sere trebuie ținut cont de următoarele:
– controlul temperaturii (încălzire & răcire)
– controlul aerului
– controlul apei
– controlul umidității
– controlul nutriției
– controlul lumin ii artificiale

10 – controlul dioxidului de carbon ( CO 2)
În aceste condiții în Fig. 2.2. se reprezintă un concept de automatizare a unei sere
pornind de la un sistem cu microcontroler .[4]

Fig.2.2 . Concept automatizare seră . Diagrama bloc
2.4. Parametrii de mediu a unei sere
Cultivarea protejată este o special itate a agric ulturii unde un sistem de control al climatului
este folosit pentru modificarea condițiilor acestuia. Plantele sunt cultivate prin intermediul acestor
tehnici de modificare în vederea creșter ii randamentelor, îmbunătăți rea calității produsului și
furnizarea de produse atunci când cultivarea în câmp deschis este limitat ă. Principalul obiectiv al
cultivării protejate este acela de a obține produse cu valoare ridicată (legume, fructe, flori, plante
ornamentale și răsaduri). Factorul determinant , cel mai relevant al activității de producție horticole ,
este clima. Componentele importante a unui microclimat sunt temperatura aerului și a solului,
lumina și compoziția aerului .
În seră radiația, temperatura și compoziția atmosfe rei sunt modificate, iar acest lucru duce la
un alt microclimat față de exterior. Modificările, depind de natura și proprietățile materialului de
placare, condițiile de reînnoire a aerului, climatul exterior, dimensiunile serei , umiditatea plantelor
și posibilitățile de evapo -transpirație .[1]
Cultivarea protejată permit e controlul microclimatului interior . În continuare va fi descris
efectul asupra plantelor prin controlul parametrilor cu m ar fi temperatura, umiditatea, ventilația și
lumina.
2.4.1 . Temperatura
Fiecare cultură are un interval de valori al e temperaturii optim e pentru dezvoltare. Reacțiile
biochimice în plante sunt controlate de enzime . Creșterea cu z ece grade C elsius a temperaturii va
crește activitatea majorității enzimelor cu 50 până la 100%. Variațiile de temperatură mici ca 1 sau
2 grade Celsius pot modifica de 10 până la 20% din rezultate. Scăderea temperaturii duce la
formarea de gheață pe țesuturile plantelor iar acestea își opresc ciclul de viață . Multe enzime sunt
afectate de temperaturile ridicate. Creșterea temperaturii duce la dezactivarea enzimelor deci la
pierderea culturii. Așa cum se arată în Fig. 2.3., crește viteza de reacție cu temperatura la un nivel
maxim, apoi scade brusc cu creșterea în continuare a temperaturii. De -a lungul unei perioade de
timp, enzimele vor fi dezactivate chiar și la temperaturi moderate. [1]

11
Fig.2.3. Reacția cu temperatura a enzimelor [5]
2.4.2 . Umiditatea aerului
Apa joacă un rol important în viața legumelor fiind un factor esențial privind creșterea și
dezvoltarea culturilor . Controlul umidității în seră poate aduce beneficii în reducer ea bolilor. Pentru
stabilirea umidității se măsoară conținutul vaporilor de apă din aer. Cu cât cantitatea vaporilor de
apă din aer la o anumita temperatură este mai mare, cu atât umiditatea aerului va fi mai mare.
Detectarea umidității este destul de dificilă, chiar și cu cele mai scumpe tehnici existente.
Datorită procesului de evapo -transpira ție umiditatea relativă a aerului din sere este mai mare față de
cea din exterior. Pentru a putea controla umiditatea relativă în sere, sunt folosite procese de
umidificare sau dezumidificare în interiorul acestora.
Pentru majoritatea culturilor, nivelul optim de umiditate [1],[6] este între 50 și 80 % RH. Pe
timpul verii, datorită creșterii temperaturii, este necesară o soluție de dezumidificare. În acest scop,
sunt folosite tampoane de răcire [1] (Fig. 2. 4.).

Fig.2.4 . Tampoane de răcire
Pe lângă posibi litățile de răcire enumerate mai sus se folosește “răcirea statică”, prin
utilizarea un ui sistem de pulverizare în vederea răcirii culturilor. Această răcire se face prin
aplicarea particulelor de apă, rezultâ nd o răcire prin evaporare mult mai eficientă. [1]
Ventilatoarele sunt cele mai folosite în vederea dezumidificării.
2.4.3 . Umiditatea solului
Așa cum aminteam mai devreme, apa joacă un rol foarte important la dezvoltarea culturilor,
principala sursă de aprovizionare cu apă este umiditatea solului . Necesitățile umidității solului se
schimbă în funcție de faza de dezvoltare, fiind mai ridicate la germinar e, acestea scad pe măsura
dezvoltării plantei de la răsărire până la maturizarea rodului.

12 Sistemul de irigat prin picurare este cea mai eficientă s oluție pentru irigarea culturilor atât în
câmp cât și în sere.
Irigarea prin picurare conduce la gestionarea eficientă a consumului de apă creșterea
productivității de până la sută la sută și o calitate ridicată a produselor obținute. O schemă de
principi u a unui sistem de irigare – fertirigare prin picurare vă este ilustrată în Fig. 2.5 [7].

Fig 2.5. Schemă de principiu sistem irigare – fertirigare prin picurare
Printre avantajele [6] sistemului de irigare prin picurare se numără:
– dozarea precisă a cantității de apă necesară , eliminându -se pierderil e
– administrarea tratamentelor în timpul irigă rii
– nu se răceș te solul
– frunzele ș i tulpina plantei sunt uscate neexistând riscul arderii plantelor chiar și
atunci când se irigă în zilele cu temperaturi de peste 40ș C
– limitează dezvoltarea buruienilor deoarece se udă numai zona rădăcinii reducând
tratamentul de combatere
– restrânge răspândirea bolilo r și dăună torilor
– reduce mâna de lucru și implicit al cheltuielilor .
2.4.4. Aerisirea/Ventilarea aerului
Aerarea sau ventilația, este schimbul de aer între seră și exterior. Acest schimb de aer are loc
prin intermediul guri lor de aerisire sau fante , ori prin folosirea de ventilatoare (Fig. 2. 6.). Înnoirea
aerului permite evacuarea ex cesului de căldură implicit o scădere de temperatura , eliminarea unei
părți a umidității și modificarea compoziției dioxidului de ca rbon (CO 2). La serele de dimensiuni
mari este obligatorie ventilarea aerului. [1]

Fig.2. 6. Sisteme de ventilare
2.4.5. Dioxidul de carbon (CO 2)
Carbonul un element nutritiv important în dezvoltarea plantelor și se regăsește intr -o
cantitate mai mare comparativ cu celelalte elemente nutritive.

13 Structura unei plante este compusă din aproximativ 40% carbon, iar dioxidul de carbon din
aer reprezintă o sursă importantă pentru plante. În atmosferă cantitatea de CO 2 este sub 0.03% sau
345 ppm în condiții normale.
În timpul procesului de fotosinteză pe perioada zilei atunci când acesta se desfășoară în
lumina naturală, nivelul de CO 2 din sera scade sub 200 ppm. Prin procesul de ventilare a aerului din
exterior spre interior are loc creșterea nivelului de CO 2 din seră la valoarea celui de afară. În cazul
în care nivelul de CO 2 este mai mic comparativ cu cel al aerului din exterior, creșterea plantelor va
avea de suferit .
În perioadele cu temperaturi scăzute susținerea nivelului de CO 2 prin ventilare poate fi
ineficient deoarece este necesară încălzirea serei în vederea menținerii temperaturii optime . În
zonele cu temperaturi scăzute, suplimentarea nivelului de CO 2 se face manual . Pot fi folosite și
generatoare de CO 2 (Fig. 2.7.). La fiecare tip de plantă nivelul necesar de CO 2 variază atât în funcție
de temperatură, lumină precum și în funcție de nivelul de nutrienți. În general plantele răspund
favorabil la un nivel între 1000 -1200 ppm. [1]

Fig.2. 7. Generator de CO 2 prin combustie .
2.4.6. Lumina și intensitatea ei
Reglarea luminii este practicată într -o seră din următoarele motive:
– pentru a modifica durata zilei în ore în scopul creșterii sau reducerea acestora
– pentru a suplimenta deficitul de lumină pe timp de noapte
– pentru accentuarea procesului de fotosinteză cu lumină artificială
– pentru a reduce intensitatea luminii, de exemplu cu ecrane de umbri re atunci când
temperatura aerului devine prea mare
Intensitatea luminii este cantitatea totală de lumină furnizată plantei, care este apoi utilizat
pentru fotosinteză. Cu cât cantitatea de lumina este mai mare cu atât mai multă energie consumă
planta în procesul de fotosinteză .[1]
Calitatea luminii se referă la lungimile de undă ale luminii furnizate (culoarea luminii), de
exemplu, lumina roșie are lungimi de undă cuprinse î ntre aproximativ 6 30-700 nanometri , lumina
albastra între 400-450 nm și ultraviolete A este între 315-400 nm. Plantele pot răspunde la diferite
culori ale luminii prin modificarea formei lor de creștere . [8]
Carbohidrații se formează în urma procesului de fotosinteză unde energia solară, dioxidul de
carbon ( CO 2) și apa în prezența clorofilei contribuie la creșterea și înmulțirea plantelor. [1]
Rata de fotosinteză este guvernată de disponibilitatea elementelor de fertilizare și fertirigare, a
dioxidului de car bon, a luminii și temperaturii.
În cazul în care are l oc scăderea intensității luminii procesul de fotosinteză este încetinit
afectând de asemenea și creșterea plantelor, în schimb dacă intensitatea luminii crește peste valoare
optimă creșterea plantelor este încetinită datorită cloroplasmei. În Fig. 2.8. est e reprezentată
eficiența lumini în fotosinteză [8].

14
Fig.2. 8. Lumină așa cum este percepută de către plante pentru fotosinteză
Intensitatea luminoasă este măsurată în sistemul internațional în lucși. Aceasta reprezintă
iluminarea directă pe o suprafață de 1 metru luminata de un flux luminos uniform de 1 lumen.
Intensitatea luminoasă în sere de culturi trebuie să varieze de la 129, 6 klucși pe timp de vară la 3,2
klucși pe timp de iarnă . Pentru a suplini deficitul de lumină pe perioada anotimpului rece serele sunt
dotate cu iluminare artificială (Fig. 2. 9.). Cu toate acestea m ulte culturi devin saturate de lumină,
pentru că la o inte nsitate mai mare de 32,3 klucși fotosinteza nu se accelerează [1]. Lumina este
clasificată conform lungimii ei de undă în nanometri (nm).

Fig.2.9. Seră iluminată artificial .
Procesul de fotosinteză nu este stimulat de toate tipurile de lumină, de exmplu lumina UV
este disponibilă pe o lungime de undă scurtă mai mică decât 400 de nm. Radiațile UV în cantități
mari dăunează procesului de fotosinteză . În vederea protejării plante lor, serele sunt acope rite cu
sticlă opacă împo triva razelor UV [1].
Lumina vizibilă are o lungime de undă între 400 și 700 nm ( Fig. 2.10 .) [9]. Lumina
infraroșie nu este implicată în proce sul de dezvoltare a plantelor.

Fig.2. 10. Lungimile de undă ale luminii vizibile

15 Spectrul luminii vizibile este utilizat în fotosinteză. Plante de aceeași dimensiune au fost
iradiate în mod continuu cu lumina de la un dispozitiv de iluminare echipat cu LED -uri de culoare
roșie de 630 nm, un dispozitiv de iluminare cu LED -uri albastre 430nm și un dispozitiv de
iluminare cu LED -uri de culoare roz format din jumătate LED -uri roșii și jumătate de LED -uri
albastre. După trei săptămâni de iradiere, plantele au fost comparate. În urma comparației s -a
constatat că dispozitivul de iluminare cu LED -uri de culoare roz promovează cel mai eficient
creșterea plantelor. Plantele expuse la lumin a albastră devin rigide și închise la culoare, pe când
plantele crescute sub lumina roșie cre sc mai lent și vor fi înalte (Fig. 2.11 .) [10]

Fig.2.11. Plante iluminate cu lumină rosie, albastră și roz [10]
În urma studiului efectuat s -a constatat că iluminar ea cu LED -uri poate stimula cre șterea
plantelor cu până la 40% [10]. Sistemul de iluminare trebuie proiectat în funcție de aplicație.
Pentru obținerea rezultatelor pozitive trebuie respecta te cele două principii de bază:
– eficiența fotosintezei
– suficiența fotomorfogenezei
Lumina are o acțiune morfogenă asupra plantelor , iar procesul de fotomorfogeneză
controlează creșterea și dezvoltarea pl antelor .
Fotomorfogeneza este reglementată în principal de tipul de fotoreceptori: phytochrome,
cryptochrome și phototropin. Orientarea fotoreceptorilor la anumite lungimi de undă pot produce
modificări asupra plantelor. S -a stabilit că sistemul de iluminat cu LED -uri accelereză evoluția
plantelor.

16 Capitolul 3.
Implementarea hardware a sistemului de control a unei sere
3.1. Descrierea componentelor
În cele ce urmează voi enumera și descri e componentele hardware folosite în scopul
realizării acestui proiect . Aceste componente sunt:
– placă de dezvoltare Arduino UNO – 1 buc.
– senzor DHT11 – 1 buc.
– senzor umiditate sol FC -28-B – 1 buc.
– senzor nivel apă – 1 buc.
– pompă apă mini RS -360SH – 1 buc
– Senzor nivel apă cu comutator plutitor FS -1B-31 – 1 buc.
– electrovalvă G 1/2 – 1 buc.
– LED – 1 buc.
– Bec AUTO(incande scent) 12v/21 watt – 1 buc.
– Ventilator 12v – 2 buc.
– Releu 5v – 1 buc.
– Transistor M OSFET IRF520N – 4 buc.
– Tran zistor bipolar – 1 buc.
– Rezistoare – 5 buc.
3.1.1. Placa de dezvoltare Arduino UNO
Placa de dezvoltare ARDUINO UNO (Fig. 3 .1.) este echipată cu un microcontroler
ATmega328P bazat pe arhitectura AVR RISC .[11]

Fig.3 .1. Placă de dezvoltare Arduino UNO
UNO are 14 pini digitali de intrare / ieșire, dintre care 6 pot fi utilizați ca ieșiri Pulse -width
modulation ( PWM), 6 intrări analogice, un cristal de cuarț de 16 MHz, o conexiune USB, un jack
de alimentare, un conector ISP și un b uton de resetare. Am ales această placă de dezvoltare
deoarece conține tot ce este necesar în vederea realizării proiectului propus.
Integrated Development Environment (IDE) – (Fig. 3 .2.) este softul pus la dispoziția
programatorilor pentru programarea microcontrolerului. Limbajul de programare pe care
ARDUINO îl înțelege se bazează pe ”Wiring”, o platformă de calcul fizic similară, ce are la bază

17 mediul de programare de procesare multime dia. Limbajul de programare folosit pentru programarea
plăcii de dezvoltare ARDUINO este C, acesta fiind format dintr -un set de instrucțiuni pas cu pas ce
urmează a fi executate după încărcare. Aceste programe se numes “Sketches” (schi țe).[11]

Fig.3.2. M ediul de dezvoltare ARDUINO versiunea 1.7.10
3.1.2. Senzorul DHT11
Comunicarea cu ARDUINO a se nzorului DHT11 ( Fig. 3 .3.) se face prin pinul digital 7.
Senzorul DHT11 este un senzor din gama ”low cost” și ne permite să măsurăm atât temperatura cât
și umiditatea ambientală.

Fig.3 .3. Senzor DHT11 .
Pentru citirea valorilor este necesară includerea în program a librăriei ”DHTlib” [13].
Această librărie per mite citirea ambelor valori de la senzorul DHT11. Senzorul DHT11 returnează
numai numere întregi și nu acceptă valori negative conform specificaților tehnice ( Tabelul 3.1.) ale
acestuia.
Tabelul 3.1. Specificații tehnice ale senzorului de temperatură și um iditate DHT11 [14].
Nume DHT11
Plaja de valori umiditate 20-90% RH (scara Richter)
Plaja de valori temperatură 0-50C
Acuratețe umiditate +/- 5% RH
Acuratețe temperatură +/- 2 C
Timp de răspuns temperatură 2 s
Timp de răspuns umiditate 6 s
Tensiune de alimentare 3 – 5.5 V CC

18 3.1.3. Senzor umiditate sol FC -28-B
Pentru acest proiect am ales ca umiditatea solului să fie măsurată cu senzorul de umiditate
FC-28-B. Senzorul FC -28-B (Fig. 3 .4.) comunică cu ARDUINO pe pinul analogic A0.

Fig. 3 .4. Senzorul de umiditate din sol FC -28-B
Pentru a ne fi returnată valoarea umidității este de ajuns să utilizăm funcția ”analogRead()” ,
această valoarea este cuprinsă între 0 și 1023 conform specificațiilor senzorului de umiditate FC-28-
B (Tabelul 3 .2.), unde 1023 reprezintă deficitul de umiditate, iar 0 reprezintă o umiditate crescută a
solului.
Tabelul 3.2. Specificații tehnice senzorului de umiditate din sol [15].
Nume Senzor umiditate sol
Plaja de valori umiditate 0-1023
Tensiune de alimentare 3.3 -5 V CC

3.1.4. Senzor nivel apă
Acest proiect este gând it cu un bazin suspendat pentru irigarea prin picurare folosind forța
gravitațională , bazinul trebuie prevăzut cu un sistem de avertizare a nivelului a pei pentru ca atunci
când acesta se golește să fie reumplut. Pentru a satisface această cerință am ales să folosescc
senzorul de apă ” water level sensor” ( Fig. 3 .5.) care comunică cu ARDUINO pe pinul analogic A1 .

Fig. 3 .5. Senzor nivel apă
Valoarea returnată este între 0 și 1023 la fel ca și în cazul senzorului de umiditate sol, iar
pentru a ne fi returnată valoare utilizăm funcția ”analogRead()” .Specificațile senzorului sunt
evidențiate în tabelul de mai jos.( Tabelul 3 .3.)

19 Tabelul 3 .3. Specificații tehnice senzor nivel apă [16].
Nume Water Level Sensor
Tensiune de alimentare 3 – 5 V CC
Tip Analogic
Consum <20mA
Aria de detecție 40mm x 16mm
Temperatura de operare 10℃-30℃
Umiditatea 10% -90% non -condensing
Dimensiuni 62mm x 20mm x 8mm

3.1.5. Pompă apă mini RS -360SH
În acest proiect am folosit două astfel de pompe (Fig. 3 .6.), una pentru alimentarea cu apă a
bazinului suspendat și cea de -a doua pentru pulverizarea vaporilor de apă în seră (ceată). În vederea
alimentării cu apă a bazinului suspendat voi folosi pom pa de apă RS -360SH. Această pompă este
alimentată la 12V printr -un MOSFET și comandată prin pinul digital 5. Pompa pentru pulverizarea
vaporilor de apă în seră este comandată prin pinul digital 3.

Fig. 3 .6. Pom pă apă mini RS -360SH
Pompa este echipată cu roți dințate și poate fi folosită atât pentru pomparea apei reci și calde
de până la 60 °C cât și pentru alte lichide non -agresive. În specificațiile tehnice ( Tabelul 3.4.) sunt
prevăzute greutatea de 70g și dim ensiunea de (LxØ): 65×45 mm ceea ce fac e ca această pompă să
fie ideală pentru proiecte de dimensiuni reduse.
Tabelul 3 .4. Specificații tehnice pompă apă mini RS -360SH [17].
Nume Pompă apă mini RS -360SH
Tensiune de alimentare 3 – 12 V CC
Înălțimea de ridicare 9 V: 1,2 m
Debit maxim 0,7…1,6 l/min
Viteză 12500 RPM (360 mA fără sarcină)
Lichide compatibile Apă, non -agresive
Temperatura de lucru <60 °C
Diametru intrare/evacuare 4 mm / 0,16"
Dimensiuni (LxØ): 65×45 mm
Greutate nettă 70g

3.1.6. Senzor nivel apă cu comutator plutitor FS -1B-31
Senzorul FS-1B-31 (Fig. 3.7.) este folosit pentru protejarea celor două pompe folosite în
acest proiect.

20 Se pornește de la premisa că e xistă o sursă de apă permanentă de unde o pompă alimentează
bazinul suspendat și cea de -a doua pulverizează vapori de apă în seră. Cu toate că , sursa de apă
există în permanență , nu înseamnă că este și nelimitată în resurse , sugerând posibilitatea ca pompele
să funcționeze în gol , existând as tfel riscul de a se defecta. Comunicarea cu ARDUINO se face pe
pinul digital 2.

Fig. 3 .7. Senzor nivel apă cu comutator plutitor FS -1B-31
Avantajul acestui senzor este că are un comutator plutitor în unghi drept (Tabelul 3.5.) ce
oferă posibilitatea instal ării acestuia în medii aspre .
Tabelul 3.5. Senzor nivel apă cu comutator plutitor FS -1B-31 [18].
Nume Senzor FS -1B-31
Curent maxim de comutare 0,5 A
Comutator plutitor în unghi drept
Sarcina maximă curent 1,0 A
Max Rezistenta de contact 0,4 Ω
Sarcină maximă 50 W
Lungime cablu 30.5cm
Temperatura de lucru -20 ~ + 80 ° C
Greutate 11 g
Dimensiuni 16,53 x 0,71 "/ 42 x 1,8 cm (L x Dia)

3.1.7. Electrovalvă G3/4
Electrovalva ( Fig. 3 .8.) ideală pentru proiecte ce includ controlul lichidelor cu vâscozitate
scăzută , este instalată la bazinul suspendat și are starea de normal închisă fiind comandată de
ARDUINO pe pinul digital 10. Electrovalva atunci când este comandată are rolul de a de permite
irigarea cu apa prin forța gravitațională din bazinul suspendat.

Fig.3.8. Electrovalvă G1/2

21 Specificațiile tehnice ale electrovalvei G 1/2 în tabelul 3.6.
Tabelul 3 .6. Electrovalvă G 1/2 [19].
Nume Electrovalvă G 1/2
Stare normal închisă
Tensiune 12V CC
Conectare G1/2”
Temperatura max. de lucru 120 °C
Tensiune nominală 12V CC
Curent max . 450 mA
Info Ideală pentru lichide cu vâscozitate scăzută
Durata de viață 200,000 +

3.1.8. LED -ul
Având în vedere că acest proiect are ca scop simularea unei aplicații reale însă nu imită
realitatea , am decis că este suficient pe ntru demonstrarea principiului , ca iluminarea serei să fie
asigurată de un singur LED (Fig. 3.9.) legat în paralel cu un rezistor la o sursă de 5V. Comanda se
face prin intermediu pinului digital 6 de la ARDUINO .

Fig.3. 9. LED
3.1.9. Becul incande scent
În scopul încălzirii s -a ales un bec de mașină “ BA15S” (Fig. 3.10.) alimentat la 12V cu o
putere de 21W și comandat prin releu de la pinul digital 12 al ARDUINO . Acesta este menit să
emane căldură, cu scopul acoperirii deficitului de căldură .

Fig.3 .10. Bec incande scent
3.1.10 . Ventilatoru l
Ventilator ul (Fig. 3.11.) are rolul de răcire a serei prin evacuare a excesului de căldură ,
eliminarea umidității și modificarea compoziției dioxidului de carbon (CO 2) prin reîmprospătare
aerului în seră. Pentru proiectul acesta am folosit două ventilatoare identice alimentat e la 12 V care
sunt comandat e prin pinul digital 9 de la A RDUINO cu ajutorul unui MOFSET .
Am ales pinul de comandă 9 al ARDUINO pentru ventilatoare deoarece pe această ieșire
poate fi utilizată funcția de Pulse -width modulation (PWM).

22
Fig.3.11. Ventilator 12 V
3.1.11. Releul
Releul ( Fig. 3 .12.) este un dispozitiv de comandă electromagnetic care, fiind supus unui
semnal electric de intrare (tensiune de 5V), transformă semnalul într -o mișcare mecanică . Altfel
spus realizează inchiderea și deschiderea unui circuit. Este compus dintr -o bobină din conductori
izolați ce sunt înfășurați pe un nucleu metalic și o armătură metalică. Prin comandarea releului cu
semnalul electric de intrare cu o tensiune de 5V, variația parametrului de ieșire în cazul nostru va fi
o tensiune de 12V. [21]

Fig.3 .12. Modul releu cu alimentare bobină comandă la 5V
3.1.12 . Transistor Mosfet IRF 520
MOSFET IRF520 ( Fig. 3 .13.). MOS (Metal Oxid Semiconductor) și FET (Field Effect
Transistor), adică pe scu rt tranzistor cu efect de câmp f olosit pentru amplificarea sau comutarea
electronică a semnale lor. Tranzistorul MOS controlează printr -o tensiune de poartă, curentul care
trece de la sursă la drenă. [22]

Fig.3.13. MOSFET IRF520
3.1.13. Tranzistor bipolar
Tranzistor bipolar (Bipolar junction transistor Fig. 3 .14.) cunoscut ca fiind un dispozitiv
semiconductor cu două joncțiuni în succesiune npn sau pnp. Cele trei zone se numesc emitor (E),
bază (B), colector (C). Este utilizat cel mai des pentru a amplifica sau transmite un semnal electric
atât în circuitele electronice digitale cât și analogice. [23]

23
Fig.3 .14. Tranzistor bipolar
3.1.14 . Rezistoare
Rezistorul (Fig. 3 .15.) este o componentă care are ca și propietate principală de a opune
rezistență curentului. Rezistorul are două terminale , iar conform legii lui Ohm , curentul electric care
curge prin rezistor este proporțional cu tensiunea aplic ată pe terminalele rezistorului I = U∙R.
Rezistența electrică este exprimată în ohmi. Rezistoarele s e caracterizate prin relația între tensiunea
la borne și intensitatea curentului prin element, atunci când dependența U=f(I) este liniară .
Rezistoarele se realizează din metale sau a liaje met alice , rezistoare peliculare cu carbon,
rezistoare cu peliculă de metal -oxid, rezistoare cu lichid, bazate pe rezistența unui strat de lichid
între două plăci metalice cufundate în lichid. [24]

Fig.3 .15. Rezistor
3.2. Schema electronică de conectare a circuitelor
Arhitectura hardware ( Fig. 3 .16.) a fost gândită în baza componentelor alese ținând seamă
de obiectivele proiectului în urma studiului de piață efectuat.

Fig.3 .16. Arhitectura hardware .

24 Schema circuitelor ( Fig. 3 .17.) a fost dezvoltată în urma proiectării arhitecturii hardware în
programul de proiectare și simulare Fritzing.

Fig.3 .17. Schema electronică de conectare a circuitelor
Elementele folosite în acest proiect se clasifică în două categorii principale:
 Componente HARDWARE
 Componente LOGICE
a) Componentele HARDWARE se împart în:
– Elemente de măsură (Senzori)
– Elemente de procesare și transmitere a datelor (Placă de dezvoltare
ARDUINO UNO)
– Elemente de comandă (Releu, MOFSET, Tranzistor)
– Elemente de protecție ( Rezistori)
– Elemente de execuție (pompe, ventilatoare, bec incande scent, electrovalvă,
LED -uri)
b) Componentele LOGICE se împart în două categorii:
– Elemente Firmware (microcod ARDUINO)
– Elemente Software (Inte rfața cu utilizatorul – Aplicație Desktop )
3.3. Dezvoltarea aplicației hardware
În continuare doresc să vă prezint un concept de automatizare , a unei exploatații agricole
compusă din mai multe sere , cu scopul îmbun ătățirii gestionării eficiente a resurselor utilizate
pentru cultivarea plantelor.
Acest proiect intenționează achiziția de date din mediul în care sunt cultivate plantele (sere)
și procesarea acestora cu scopul monitorizării în vederea îmbunătățirii proceselor de maximalizare a
randamentelor.
3.3.1. Realizarea machetei
În vederea realizării obiectivelor propuse am realizat o machetă (Fig. 3.18.) ce imită o seră
la scară mică folosind pentru construcția ace steia următoarele materiale:

25 – lemnoase
– plastice ( policarbonat – placarea serei , recipiente pentru apă )
– feroase – elemente de susținere (bride, elemente de îmbinare, cuie, șuruburi,
piulițe)
– materiale plastice poroase (burete – solul)
Construcția machetei a fost re alizată în mai mulți pași și pe durata a mai multor s ăptămâni.
Printer pași urmați în vedere a realizării machetei se numără atât achiziția de mate riale necesare cât
și obiectivele ce trebuie atinse. Principalele obiective în urma realizării machetei sunt achiziția de
valori ale parametrilor din mediul serei.

Fig.3.18. Realizarea machetei
Valorile parametrilor precum temperatura, umiditatea ambientală și umiditatea solului se
modifică în permanență, motiv pentru care aceste valori trebuie sc atent monitorizate și controlate ,
cu scopul îmbunătățirii gestion ării resurselor precum și obținerea unui randament ridicat pentru
cultivarea plantelor.
Proiectul a fost gândit cu un circuit de monitorizare și control al parametrilor mai sus
menționați cu ajutorul unui microcontroler și aplicația desktop conectate prin intermediul interfeței
USB. În funcție de valorile returnate ale parametrilor , software -ul procesează informația și poate
decide ce comenzi trebuie lansate în vederea echilibr ării valorilor specifice tipului de cultură
cultivat.
Decizi ile care pot fi luate sunt:
– Încălzirea serei
– Ventilarea/răcirea serei
– Pulverizarea vaporilor de apă
– Irigarea
– Iluminarea serei
– Pornire/oprire pompei de alimentare cu apă
3.3.2. Încălzirea serei
Pentru o estimarea mai precisă a pierderilor de căldură este nevoie de un studiu mai riguros
ce poate fi făcut în timp, până atunci presupunem că sera este bine izolată, nu există pierderi prin
fante ori deschizături și ne vom rezuma doar la pierderile de căldură pe timp de noapte când
temperatura exterioară scade și pierderile apărute odată cu schimbările climatice.

26 Ca și componentă de încălzire s -a ales un bec incande scent de 12V cu puterea de 21W
(Fig.3 .19.) căruia i se va lansa comanda de pornire în funcție de temperatura interioară a serei a
cărei valoare este citită în timp real.

Fig.3 .19. Sursă încălzire
Pentru achiziția valorilor de temperatură prin aplicația desktop se fac ”request -uri” în urma
comenzilor lansate la intervale stabilite de ut ilizator, sau aplica ția face request -uri automat prin
utilizarea modului de program pus la dispoziție de programator.
În urma ”request -ului” controler -ul citește valoarea de la senzorul de temperatură și o
returnează prin intermediul interfeței USB aplicație i desktop , urmând ca valoarea returnată să fie
comparată cu valoare prestabilită de utilizator , iar în urma comparării să decidă următorul
”request”.
3.3.3. Ventilarea/răcirea serei
Folosim ventilatoarele pentru recircula rea aerul ui în seră. Știm că datorită reci rculării aerului
în seră diminuează problemele cauzate de boli. Frunzele plantelor din seră trebuie să fie într -o
continuă mișcare ușoară pentru a menține suprafața acestora uscată, astfel se sporește transpirația și
creșter ea.
Înnoirea aerului permite scăderea de temperatură, elimină parțial umiditatea și modifică
compozi ția dioxidului de carbon (CO 2).
Pentru acest proiect am gândit un sistem de ventilație, definită ca fiind, introducerea de aer
din exterior și un sitem de evacuarea aerului compus din două ventilatoare câte unul montat la
fiecare capăt al conceptului (Fig.3 .20.). Acest lucru implică schimb de căldură între aerul de intrare
și ieșire, care duce la o echilibrare a temperaturii și umidității cât și modificarea dioxidului de
carbon (CO 2).

Fig.3.20. Ventilare/răcire seră

27 Ventilatoarele sunt comandate de pe pinul digital 9 al ARDUINO deoarece folosesc funcția
PWM care este disponibilă pe această ieșire.
Modulația în lățime, sau PWM, este o tehnică pentru a obține rezultate analogice cu mijloace
digitale. Controlul digital este utili zat pentru a crea un semnal de comut are între pornit și oprit.
Pentru a obține valori variabile analogice , modificăm sau modulăm lățimea pulsului. Dacă repetam
acest model on -off suficient de repede cu un LED, de exemplu, rezultatul este un semnal cu o
tensiune constantă între 0 și 5v care controlează luminozitate a LED -ului.
În graficul din Fig. 3 .21., linii le verzi reprez intă o perioadă de timp regulată . Această durată
sau perioadă este inversul frecvenței PWM. Cu alte cuvinte, cu frecvenț a PWM a ARDUINO de
aproximativ 500Hz, liniile ve rzi ar mă sura de 2 milisecunde fiecare. Un apel la funcția analogWrite
() se află pe o scară de la 0 – 255, astfel încât funcția analogWrite (255) solicită un ciclu de 100%
(mereu), și funcția analogWrite (127) solicită un ciclu de 5 0% (pe jumătate din timp) [25]. Funcția
analogWrite() nu are nimic în comun cu pini de ieșire analogici ai ARDUINO [11].

Fig.3.21. Pulse Width Modulation .
După cum știm aplicația desktop poate face ”request -uri” automat iar în urma valorilor
returnate de controler aplicația desktop după compar are decide următorul ”request”.
3.3.4. Pulverizarea v aporilor de apă
Ca și în cazul anterior pulverizarea vaporilor de apă în sera are rolul de a micșora
temperatura și de a crește umiditatea ambientală dacă această scade sub niveul optim care pentru
majoritatea culturilor este cuprins între 50 și 80%. Pent ru stabilirea umidității ambientale se
măsoară conținutul vaporilor de apă din aer.
În sezonul cald, căldura absoarbe umiditatea, iar plantele încep să se vestejească. De aceea
se folosesc sistemele de ceată, acestea mențin umiditatea ideală și racoresc plantele.
Chiar și cu cele mai sofisticate tehnici existente umidatea relativă a aerului este greu de apreciat.
Pentru detectarea umidității ambientale folosim senzorul DHT11 care a fost special conceput pentru
a ne permite măsurare temperaturii dar și a u midității relative din aer.
La fel ca și în cazul încălzirii serei aplicația desktop face ”request -uri” în vederea obținerii
de informații prin intermediul interfeței USB controlerului, acesta citește valoarea de la senzorul de
umiditate returnând -o apl icației desktop pent ru a decide următorul ”request”. În Fig. 3.22. se poate
observa atât diuză de pulverizare apă cât și pompa folosită.

28
Fig.3 .22. Diuză formare ceață, pompă apă
Principul algoritmului de comandă este identic cu cel de dinainte, acesta va fi folosit și la
activarea pompei de umplere a bazinului suspendat.
3.3.5. Irigarea
Pe piață există mai multe tipuri de sisteme de irigare prin picurare cum ar fi: irigații prin
picătură cu bandă, tub cilindric, duze sau tije picurare.
Avantajul tubului de picurare ( Fig. 3 .23.) este dat de rezistența în timp dar și de ușurința în
montare și întreținere față de banda de picurare care are un singur avantaj: costul scăzut!

Fig.3.23. Tub picurare, electrovalvă, bazin suspendat
În cele ce urmează voi enumera câteva dintre avantajele unui sistem de irigare prin picurare:
– Rapiditatea de udare a suprafețelor mari într -un timp scurt
– Economie de apă
– Efort minim
– Evitarea umezirii tulpin ii și a frunzei, astfel protejând planta împotriva
apariției bolilor
– Posibilitatea administrării de fertilizanți
Principiul de irigare prin picurare este simplu, bazinul suspendat este alimentat cu apă de
către una di n pompele menționate în Fig. 3.22., iar senzorul de nivel apă montat în bazinul
suspendat , așa cum reiese din Fig. 3.23., are rolul de a preveni pre aplinul acestuia prin citirea
nivelului apei la comanda microcontrolerului, la cererea (”request”) aplicației desktop.
Aplicația desktop monitorizează în permanență parametrii precum temperatura, umiditatea
aerului și umiditatea din sol făcând solicitări microcontrolerului de citire și returnare a valorilor
obținute de la senzori prin interfața USB, urmând ca aplicția desktop să compare valorile de

29 referință stabilite de către utilizator cu cele pe care le returnează mi crocontrolerul cu privire la
umiditatea solului pentru a putea face următor ul ”request”. Dacă valoarea umidității nu se afla în
plaja de valori prestabilită de către utilizator aplicația desktop cere microcontrolerului să acționeze
secvența de comandă de deschidere a electrovalvei și vice -versa în cazul în care umiditatea din sol
atinge valoarea optimă.
3.3.6. Iluminarea serei
Se arată conform studiilor efectuate că iluminarea cu LED -uri poate stimula creșterea
plantelor cu până la 40%. Sistemul de ilumin are (Fig. 3.24.) trebuie pro iectat în funcție de aplicație.
Printre avantajele iluminării artificiale cu LED -uri sunt enumerate următoarele:
o Controlul intensității
o Controlul climatului din seră prin managementul căldurii degajate de LED -uri
o Scăder ea costurilor cu energia față de alte surse de iluminat
o Lipsa riscului spargerii la contact
Pentru ca LED -urile și modulele cu LED -uri să fie capabile să lucreze în mediul umed și
cald din sere acestea necesită o aliment are fiabilă.

Fig.3.24. LED iluminare seră
Așa cum aminteam mai devreme, acest proiect este un concept de simulare unei aplicații de
seră reale însă nu imită realitatea, folosirea unui singur LED în această aplicație are ca scop doar de
a vă arăta principiul de comandă al LED -urilor și nu ef ectele rezultate în urma i luminării plantelor
cu LED -uri.
Principiul de funcționare se bazează pe comanda manuală pentru a echilibra deficitul de
lumină pe perioadele mai întunecate . Aceste peri oade apar odată c u trecerea de la solistițiul de vară
la cel de iarnă unde perioada de zi/lumină este mai scurtă.
La apariția acestor perioade utilizatorul intervine prin efectuarea de cereri către
microcontroler ca acesta să acționeze secvența de cod mai sus exemplificată.
3.3.7. Costuri de realizare
Componentel e electronice au fost achiziționate de la magazine de specialitate precum
Vitacom, Rubin, Jola engineering și Pollin(Germania) și de pe site -ul Okazii.ro .
Materialele de structura a serei și materialele pentru instalația de irigare au fost achiziționate di n
rețeaua de magazine Dedeman și Hornbach .
Materialele lemnoase, materialele feroase , becul, LED -ul și ventilatoarele au fost colectate
din dezme mbrări.
În Tabelul 3.7. de mai jos vă sunt prezenta te componentele utilizate la realizarea proiectului,
împreună cu prețurile de achiziție, rezultând în final prețul t otal de realizare al proiectului .

30 Tabel 3 .7. Costuri
Nume Cantitate Preț
Policarbonat solid protecție UV 1025x513x1 mm 1buc. 46,21 lei / buc.
Tub silicon JLB 4/6mm 2,5m 1buc. 17,41 lei / buc.
Miniaspensor (ceață) set 4 buc. 1 set 15,47 lei / buc.
Racord ½ Q – Drip 1 buc. 14,51 lei / buc.
Furtun PVC 4mm 1 m 1,16 lei / metru
Furtun PVC 6mm 1 m 1,16 lei / metru
Furtun PVC 8mm 1 m 2,49 lei / metru
Arduino UNO R3 1 buc. 40 ,00 lei / buc.
Senzor DHT11 1 buc. 15,00 lei / buc.
Senzor umiditate sol Higrometru 1 buc. 15,00 lei / buc.
Senzor nivel apă 1 buc. 10,00 lei / buc.
Senzor nivel apă comutator plutitor 1 buc. 13,00 lei / buc.
Electrovalvă G ½ (normal închisă) 1 buc. 34,18 lei / buc.
Mini pompă apă 2 buc. 24,42 lei / buc.
Mosfet IRF520 4 buc. 5,00 lei / buc.
Tranzistor bipolar BC547 1 buc. 0,63 lei / buc.
Kit Rezistoare 500 buc./set 1 set 40,00 lei / set
Modul Releu 5v 1 buc. 21,00 lei / buc.
Recipient apă mare 1 buc. 15,00 lei / buc.
Recipient apă mic 1 buc. 10,00 lei / buc.
Alimentator universal in comuta ție 2250mA 1 buc. 75,00 lei / buc.
Fire conductoare, bandă de izolare, pastă de lipit etc. – 120 lei
TOTAL 576,06

31 Capitolul 4.
Pachetul software de conducere a sistemului de sere
Grație tehnologiei și vitezei de dezvoltare software -ul este din în ce mai integrat în viața
noastră de zi cu zi. Făcând o analiză simplă aproape tot ce ne înconjoară este gestionat de software
și aici fac referi re la electricitate, automobile, aparatura din casă, apa ratura medicală, sistemele
financiare/bancare, etc. În cele ce urmează vă voi descrie conceptul meu de a gestiona mai multe
sere cu o singu ră aplicație.
4.1. Arhitectura software
Soluția software ( Fig. 4.1.) cuprinde 2 aplicații :
a) Aplicația pe A RDUINO care e responsabilă de achiziția și prelucrarea valorilor de la
senzori, cât și comanda elementelor execuție
b) Aplicația d esktop ce realizează interfațarea între aplicația A RDUINO și utilizator ,
achiziția valorilor returnate de ARDUINO procesarea acestora și lansarea de noi
cereri prin comunica re realizată datorită interfeței USB.

Fig.4.1. Schema implementării soluției software

32 4.2. Implementare f irmware Arduino
Firmware -ul este implementat în IDE -ul oferit de Arduino și cuprinde următoarele funcții:
– funcția de irigare prin picurare
– funcția de vent ilație și recirculare a aerului
– funcția de încălzire
– funcția de i luminare cu ajutorul led -urilor
– funcția de monitorizare
– funcția de interfațare cu utilizatorul.
Programul încărcat pe Arduino este s tructurat cu stări finite de executare , fiecare stare
executând o anumită instrucțiune .
Instrucțiunile posibile pe care sistemul le poate executa sunt următoarele :
– citirea valorii temperaturii
– citirea valorii umidității din ambient
– citirea gradului de umiditate a solului
– citirea nivelului de apă din bazinul suspendat
– citirea nivelului de apă de la sursa de alimentare cu apă
– executarea secvenței de comandă pe ntru pornirea/oprirea pompei pulverizare
– executarea secvenței de comandă pentru pornirea/ oprirea pompei de alimentare cu
apă
– executarea secvențelor de comandă de iluminare
– executarea secvențe lor de comandă pentru pornirea ventilatoarelor folosind funcția
PWM
– executare secvențelor de c omandă pentru pornirea/oprirea incălzirii
– executarea secvenței de comandă pentru deschiderea/inchiderea electrovalvei
Fiecare din aceste instrucțiuni este executată la cerere prin intermediul interfeței USB.
Pentru citirea parametrilor de temperatură ARDUINO -ului îi sunt implementate în mediul oferit
biblioteci, totodată pentru descrierea corectă a structurii unui program trebuie mai întâi să începem
cu definirea bibliotecilor:
În acest program am folosit o singură bibliotecă:
#include <dht.h>
Această bibliotecă oferă fu ncții de achiziție pentru senzor ul DHT 11, precum și pentru
DHT21, DHT22, DHT33, etc, și oferă posibilitatea de a a fișa temperatura (valoare retu rnată de
DHT.temperature()) și umiditatea aerului (valoare a returnată de DHT.humidity()).

 definirea va riabilelor globale
S-au utilizat var iabile globale atât pentru definirea pinilor de conectare a elementelor de
măsură și exec uție cât și pentru stocarea informațiilor returnate de la componentele de achiziție dar
și pentru stocarea in strucțiunilor recepționate de microcontroler pe serial.
Variabile pentru i eșiri digitale:
3 – comandă pompă pulverizare
5 – comandă pompă alimentare apă
6 – comandă LED
9 – comandă Ventilatoare
12 – comandă Bec incande scent (încălzire)
10 – comandă Electrovalvă

 funcția setup()
Conține inițializări le necesare rulării programului și configurarea pinilor de intrare/ieșire,
pinul de intrare/ieșire 7 la care este conectat senzorul DHT11 în ve derea citirii temperaturii și a
umidității este definit astfel:

33 #define DHT11_PIN 7
 inițializarea citirii parametrilor din seră de la senzori i
Inițializarea de temperatură, umiditate,nivel apă bazin și nivel sursă apă se face prin
intermediul aplicației desktop care lansează o comandă de ”request”. Comenzile sunt stocate în
variabila globală de tip char numită ”cmd”. Definirea variabilelor globale se face înainte de funcția
setup().

 înițializarea parametrilor din seră în vedera obținerii de informații de la
senzorul DHT11
Senzorului DHT 11 îi este stabili t algoritmul de citire a temperaturii și umidității din librarie
fiind îndeajuns să inițializăm , prin declararea unei variabile de tip int , citirea acestor valori

 inițializarea comunicației prin interfața USB.
Se face prin portul atribuit de PC și baudrate -ul 9600.

 funcția loop()
Rulează ciclic instrucțiunile din cadrul funcție și reprezintă programul principal al aplicației
firmware. Este compusă din următoarele instrucțiuni :
– verificarea disponibilității comunicației și a recepționării unui byte
– procesarea comenzii recepționate prin interfața USB și setarea stării corespunzătoare
În funcție de starea setată datorită comenzii dată de utilizator , se execută comanda definită
pentru starea respectivă.
Pentru fiecare stare, în funcțiile de comandă se setează la valoarea corespunzătoare pinul de
ieșire al elementului de execuție respectiv .

 folosirea pinilor analogici A0 și A1
Citirea valorilor de nivel al apei din bazinul suspendat și a senzorului de umiditate din sol se
face prin pini analogici A0 pentru senzorul de umiditate ți pinul analogic A1 pentru senzorul de
nivel al apei din bazinul suspendat. Principiul de comandă este a celași cu cel descris anterior.
Având în veder e că senzorul de umiditate sol returnează valori între 0 și 1023 unde 0 este valoarea
cea mai ridicată a umidit ății și 1023 fi ind cea mai mică, însă totodată ținând cont și că în urma unor
teste simple valoarea cea mai mică nu este niciodată atinsă, acesta returnâ nd o v aloare de 300 atunci
când este introdus complet în apă, s -a realizat medierea unei plaje de valo ri prin mapare cuprinsă
între 300 și 1023 unde 300 este umiditatea cea mai cres cută și 1023 umiditatea reprezentând
deficitul de umiditate.
Rezultatul obținut în urma citiri valorilor este transformat în valori apropiate înțelegerii
utilizatorului aceste valori vor fi returnate sub forma de 0 până la 100 unde 100 este cel mai înalt
grad de umidit ate

 comenzi simple transmise pe portul serial ce vor determina execuția funcții lor
sistemului :
“a”=> citește și returnează temper atura de ambient
“b”=> citește și returnează umiditatea de ambient
“c”=> citește mediază prin mapare, transformă într -o formă ușor de înțeles și returnează
valoarea umidității din sol
“d”=> citește și returne ază nivelul apei din bazin
“e”=> citește și returne ază nivelul sursei de apă (High/Low)
“f”=> execută secvența de pornire a pompei de pulverizare și returne ază confirmarea
“g”=> execută secvența de oprire a pompei de pulveri zare și returnează confirmarea
“h”=> execută secvența de pornire a pompei alimentare și returnează confirmarea
“i”=> execută secvența de oprire a pompei alimentare și returnează confirmarea
“j”=> execută secvența de pornire a iluminării și returnează confi rmarea
“k”=> execută secvența de oprire a iluminării și returnează confirmarea

34 “l”=> execută secvența de pornire a ventilatoarelor, funcția PWM viteza 100% și returnează
confirmarea
“m”=> execută secvența de pornire a ventilatoarelor, funcția PWM viteza 75% și returnează
confirmarea
“n”=> execută secvența de pornire a ventilatoarelor, funcția PWM viteza 50% și returnează
confirmarea
“o”=> execută secvența de pornire a ventilatoarelor, funcția PWM viteza 25% și returnează
confirmarea
“p”=> execută secvența de oprire a ventilatoarelor, funcția PWM viteza 0% și returnează
confirmarea
“q”=> executa secvența de pornire a încălzirii și returnează confirmarea
“r”=> executa secvența de oprire a încălzirii și returnează confirmarea
“s”=> executa secvența de deschidere a electrovalvei și returnează confirmarea
“t”=> executa secvența de închidere a electrovalvei și returnează confirmarea
“u”=> executa secvența de închidere pentru toate cu excepția iluminatului
“v”=> executa secvența de transmitere a unui m esaj ex. numele controler -ului.
Program ul este unul relativ simplu menit să simplifice lucrurile la nivelul microcontrolerului
fară al supune unor sarcini. Toată partea de gestionare și procesare revine software -ului pus la
dispoziția utilizatorului pe un PC. O schemă logică a programului vă este ilustrată in următoarea
Fig. 4.2., iar implementarea în mediul de dezvoltare Arduino a codul ui sursă se găsește în Anexa1 .

Fig.4.2. Schemă logică Firmware ARDUINO

35 4.3. Implementare a plicația Desktop de conducere a unui sistem de sere
Aplicația Desktop are rolul de a lansa comenz i către microcontroler la intervale de timp
stabil ite de programator și în modul manual la cererea utilizator ului. Aplicația Desktop este
dezvoltată cu scopul de recepționa d atele prin intermediul interfeței USB de la microcontroler , în
modul a utomat îi revin to ate sarcinile de procesare și decizi a a unei acțiuni pe care le transmit e
ulterior microcontroler -ului.
4.3.1. Mediul de dezvoltare ales
În vederea dezvoltării aplicației Desktop am folosit mediul de dezvoltare Microsoft Visua l
Studio (Fig. 4 .3.) lansat de Microsoft sub numele de cod Boston în anul 1997. Acesta a fost primul
pas în încercarea Microsoft de a utiliza același mediu de dezvoltare pentru mai multe lim baje de
programare.

Fig.4. 3. Mediul de dezvoltare Microsoft Visual Studio 2008 – Hello World Project
Pe parc urs anilor platforma de dezvo ltare a fost îmbunătățită astfel în anul 2002 a fost
introdusă compon enta .NET Framework . Printre limbaje de program are suportate de mediul de
dezvoltare Microsoft Visual Studio se număra C#, VB.NET, C++, iar odată cu versiunea 2010,
introduce noul limbaj F#. Pentru a putea fi integrate în platforma .NET aceste limbaje respectă niște
specificații OOP numite Common Type System (CTS) care au ca elemente de bază clase, interfețe,
delegări, tipuri și ca mecanisme moștenire, polimorfism și tratarea excepțiilor . .NET Framework
este compusă din compilatoare, biblioteci și alte executabile . .NET este oferit de Microsoft pentru
dezvoltarea de software ce permite utilizatorilor sa îl folosească din orice loc și cu orice fel de
dispozitiv. Cea mai recentă versiune de Microsoft Visual Stu dio a fost lansată la data de 30 martie
2016 și poartă numele de Visual Studio ”15”. [26]

36 Pentru realizarea aplicației Desktop am folosit versiunea Microsoft Visual Studio 2008 și
limbajul de programare Visual Basic. NET.
4.3.2. Dezvoltarea aplicației softw are
VB.NET este un limbaj de programare orientat pe obiecte (OOP) ceea ce înseamnă este o
metodă de proiectare a componentelor software individuale (clase) cu comportamente asociate
(metode) și limitările de date (proprietăți), și care ne ajută să construim cu aceste componente o
aplicație completă .
Presentation Layer este cunoscut într -o structură cu mai multe straturi ca fiind stratul
clientului fiind format din mai multe pă rți ce compun interfaț a de lucru cu utilizatorul . Câteva
exemple de compo nente ce pot fi incluse în acest strat sunt:
o Casete de editare
o Etichete
o Casete de text
o Butoane
o Interfețe Windows sau WEB
o Etc.
La construcția acestui strat am folosit tehnologia Windows Form (Fig. 4.4.) care este numele
dat interfeței grafice de programare a aplicațiilor (API) fiind parte a librăriei de clase .NET
Framework ce stă la baza dezvoltării aplicațiilor prin folosirea Visual Studio.NET. [27]

Fig.4 .4. Arhitectura Windows Form

37 Interfața c u utilizatorul a aplicației d esktop este dezvoltată folosind două astfel de straturi
prima (Fig. 4 .5.) având rolul de a o in stanția pe cea de -a doua în funcție de opțiunea utilizatorului .

Fig.4.5. Form 1
Pentru construcția acestei strat sau folosit următoarele elemente: Combobox, Buton, Label –
uri, Picturebox .
La inițializarea celui de -al doilea strat se ține cont de numărul de sere ce se dorește a fi
monitorizat/controlat, astfel utilizatorul poate să aleagă între 1 – 2 sere. Ca acest lucru să fie posibil
programatorul a pus la dispoziția utilizatorului posibilitatea de a selecta.
Principalul obiectiv al acestei aplicații este acela de a gestiona mai multe sere simultan.
Pentru a f i posibil acest lucru am ales in stanțierea interfeței de mai multe ori programatic.
Mai jos vă este ilustrat ă secvența cod (Fig 4 .6.) a inițializării interfeței grafice de lucru
numit ”Control Station” la acțiunea de click a butonului .
La acțiunea de click a butonului ”Inițializează” se inițializează execuția secvenței de cod,
condiționată de numărul ales ori i ntrodus în combobox. În cazul în care numărul ales este = 0 sau <
1, mai > 2 sau este necompletat se afișează un mesaj de eroare cu indicații pentru utilizator. Dacă
acest numar este 1 sau 2 se verifică ce număr a fost introdus, iar în funcție de valoarea acestuia se
execută declararea unui șir de variabile locale egale cu valoarea numărului, pentru a iniția, poziționa
(ferestrele dacă sunt două, una lângă alta) și redimensiona în funcție de monitor/rezoluție interfeța
grafică de lucru ”Control Station” ( Fig. 4.7. ).

38
Fig.4 .6. Form1 – Secvența cod la apăsarea butonului

39 Codul este compus din cca 50 linii.

Fig.4 .7. Inter fața grafică (GUI) a aplic ației d esktop ”Control Station”
”Control Station” este compusă din mai multe obiecte și conține mai multe variabile de
diferite tipuri ( vezi Fig. 4 .4.), iar aceasta este puntea dintre datele introduse de utilizator și partea
hardware pentru interacțiunea om -mașină.
Interfețele cele mai cunoscute ca de exempl u a telefoanelor mobile sunt de fapt o
suprapunere vizuală a intrărilor și ieșirilor. Un GUI poate fi proiectat pentr u cerințele pieței cum ar
fi interfețe grafice specifice aplicației. Exemple de GUIs specifice aplicației includ mașini bancare
(ATM), touchscreens la punctul de vânzare la restaurante, checkouts self -service , etc.
O interfață grafică folosește o combinație de tehnologii și dispozit ive pentru a oferi o
platformă cu care utilizatorul poate interacționa (Fig. 4.8.) cu scopul de a colecta și produce
informații .

Fig.4 .8. Legătura dintre utilizator și hardware
4.3.3. Proiectarea detaliată a structurii aplicației Desktop
Acest pr ogram este relativ complex , de aceea voi încerca pe parcursul acestei lucrări să
explic pe înțelesul tuturor structura acestuia.
Pentru a putea înțelege trebuie preciza t faptul că s-a încercat realizarea Figurilor din această
lucrare cu pseudo -cod iar acest a cod conține variabile globale și locale, metodă , instruc țiuni

40 condiționate, in strucțiuni de cazuri, etc. Secvențele se execută în funcție datele returnate de
hardware .
4.3.3.1 . Generarea de Event Handler -ruri și inițializare
Event Handlers [27], [28], sunt proceduri care sunt apelate atunci când are loc un eveniment
corespunzător. Event Handler -ul poate avea s ubrutine ca o tratare a evenimentului . O subrutină este
un construct de cod. Un construct cod este un model de codare (Exemple: For Loops, Do Whi les
Loop, Sub … End Sub, Function … End Function). Fig. 4.9. reprezintă procesul unui eveniment de
la inițializare până la faza de executare.

Fig.4 .9. Procesul unui eveniment condus
Pentru execuția evenimentului ce are la bază conectarea , care se va face prin intermediul
interfeței USB folosind Port -ul atribuit de PC și Baud -ul 9600 , se folosește secvența de cod
(subrutina) care este ilustrată în Fig. 4 .10. care are rolul de a verifica Port -urile disponibile ocupate
și care este executat ă încă din faza de inițializare a interfeței grafice.

Fig. 4.10 . Secvență inițializare ”Control Station”
Event Handler -ul de inițializare gestione ază evenimentul ce execută declarare a unor
variabile locale și metoda (GetSerialPortNames()) de verificare și descoperire a port -urilor
disponibile ocupate în vederea stocării lor. În cazul în care nu sunt port -uri disponibile ocupate (nu
este conectat nici -un dispozitiv sau există probleme cu conexiune a) atunci se afișează pe ecran un
mesaj de a vertizare.
Pentru a ne conecta la microcontroler este necesar setarea port -ului disponibil și Baud -ul
după care se acționează prin click butonul ”Connect”

41 Deconectarea se face prin acționarea click a butonului ”Disconnect”. Secvența cod a
subrutinei de c onectare și deconectare executată prin acționarea click a butonului ”Connect” și
”Disconnect” este ilustrată în Fig. 4.11 .

Fig.4.11. Secvența cod executată la acționarea click a butoanelor ”Connect” și ”Disconnect”
După cum se poate observa la acționarea butonului ”Connect” se execută secvența de cod
care încearcă să deschidă portul verifică disponibilitatea port -ului (deschis sau închis) și trece la
activarea componentei ”Timer3” ( vezi Fig. 4 .6.) în cazul în care acesta este deschis.
Event Ha ndler -ul de deconectare atribuit butonului ”Disconnect” inițializează execuția
secvenței cod la acționarea acestuia prin click care verifică dacă programul este pornit și
deconectează interfața de microcontroler . În caz de eroare se afișează un mesaj.
În ceea ce privește înch iderea aplicației a fost necesară atribuirea unui Event Handler interfeței
grafice. Secvența cod inițializată la acțiunea de închidere a interfeței grafice vă este ilustrată în
următoarea figură.
Se observă în Fig. 4.12. că se face ver ifcarea disponibilității portului (deschis sau închis),
dacă acesta este închis inchide interfața alfel un mesaj de informare privind nevoia deconectarea
port-ului de intefața grafică va apărea.

Fig. 4.12 . Secvență cod executată la acțiunea de închidere a a interfeței grafice

42 4.3.3.2 . Timere
Timere (Fig. 4.4.) sunt componente introduse în VB.NET iar atunci când sunt utilizate permit
controlul când acțiunea are loc fără a interacționa cu alte procese.
Ele au funcții de ”Cronocomandă” putându -le folosi în multe situații în mediul nostru de
dezvoltare. În cazul în care se dorește executarea unui cod într -un anumit interval de timp, în mod
continuu, sau programat timer -ele sunt cele mai utilizate. Exemplu: pentru a mări sau micșora viteza
într-o animație grafică cu program de timp, etc ) [27], [29]. Timer -ele sunt activate și dezactivate un
exemplu a secvenței de cod ilustrată în Fig. 4.13. de mai jos:

Fig. 4.13 . Exemplu de activare /dezactivare Timer -e
În realizarea acestei aplicații am folosit mai multe timere pentru executarea secvenț elor de
cod programate. Fig. 4. 14. redă diagrama secvenței de cod executate, în vederea o bținerii numelui
microcontrolerului la care ne -am conectat, atunci este apăsat butonul ”Connect ”.

Fig.4 .14. Secven ță cod ”Timer3 ”

43 4.3.3.3 . Program automat/manual
Înainte de pornirea programului trebuie selectat modul de program automat/manual.
Programatorul a pus la dispoziția utilizatorului această funcție pentru ai permite intervenția în
procesul de monitorizare și control automat. Pentru aceasta au fost create două butoane ce
acționează în funcție de starea programului (pornit/oprit) (Fig. 4 .15.).

Fig.4 .15. Secvențe cod executată la acțiunea click a butoanelor ”Manual” și ”Automat”
4.3.3.4 Pornir e/oprire program de monitorizare
Programul de monitorizare se face în funcție de modul pe care utilizatorul îl alege
”Automat” sau ”Manual”. Atunci când este u tilizat modul ”Automat ” , programul în funcție de
valorile de referință pe care utilizatorul trebuie să le intro ducă în secțiunea special concepută ”Set
Parameters” dacă dorește pornirea programului, pornește cronocomada ( Fig. 4 .16.) în vederea
lansării de comenzi preprogramate la intervale de timp specificate de programator.
”Timer1” are rolul de a solicita valorile parametrilor precum temperatura, umiditate,
umiditate sol în timp real pe când ”Timer2” are rolul de compara aceste valori returnate cu valorile
de referință stabilite de utilizator urmând să execute secvențe de comandă către microcontroler.
După cum reiese din figura de mai sus codul este format din mai multe declarații condiționate. Una
dintre declarațiile condiționate ale ”Timer -ului 2” are rolul de a activa un nou timer ( Fig.4.17.
Timer4) în funcție de v aloarea umidității din ambient.
Acest cod este menit să gestioneze secvența de pornire a pompei de pulverizare a vaporilor
de apă și timpul de funcționare astfel evitând la o eventuală defecțiune a senzorului de temperatură
din ambient riscul ca pompa să fun cționează fără oprire. Secvența porne ște pompa pentru 5 secunde
și așteaptă o oră până la o nouă posibilitate de a fi executată.

44
Fig.4.16 . Secvență cod ”Timer1” și ”Timer2”
Butonul ce acționează executarea codului oprire a programului de monitorizare a fost
conceput cu scopul de a putea i nterveni în caz de erori sau defecțiuni la sistem permițând astfel
oprirea întregului si stem indiferent de starea în care se află acesta. Fig. 4.18. reprezintă codul
executat la acționarea butoanelor prin click pornire/oprire program. De asemenea pentru a putea
schimba valorile de referință sau de a deconecta aplicația față de microcontroler este necesar oprirea
programului.

45
Fig.4.17 . Timer 4

Fig.4.18. Secvențe cod ”Start program” și ”Stop program”

46 Atunci când programul este pornit indiferent de modul în care a fost ales să funcționeze
manual sau automat utilizatorul are la îndemână controlul manual al luminii. Secvenț ele de cod care
sunt executate la acționarea butonului click pentru pornire/oprire vă sunt prezentate în figura 4.19. .
Principiul secvenț elor de cod este identic în ceea ce privește comenzile manuale pentru restul
componentelor controlate.

Fig. 4.19 . Secvență cod oprire/pornire
În cazul aceste este aprinsă sau stinsă lumina însă pentru celelate componente este schimbată
doar comanda tran smisă pe seri al structura rămânând identică.
4.3.3.5 . Starea obiectelor de control (butoane , căsuțe de text și PictureBox -uri)
Starea acestor obiecte este influențată de momentul ac ționării lor în această aplicație.
Acțiunea unui obiect (ex. buton) a fost concepută să se reflecte și asupra altor obiecte definite de
programator. Scopul este acela de a limita utilizatorul în a le mai putea folosi pentru a evita
suprascrierea de comenzi inutile , care pot provoca erori în aplicație , dar și acela de informare
vizuală a acțiunilor fiecărei decizii luate. În Fig. 4.20. vă este ilustrată secvența de cod ce este
lansată cu scopul activării/dezactivării unor obiecte de control și schimbarea unor prop rietăți
precum culoarea de fundal.

Fig.4 .20. Secvenț a subrutinelor modificare prop rietăți obiecte de control

47 4.3.3.6 . Metodă recepționare date
O metodă într -o clasă poate fi o procedură sau o funcție care efectuează o operație asupra
datelor din cadrul clasei și returnează datele înapoi clasei. Asta însemn ă că există o funcție care
acceptă ca parametru o altă funcție. Trec erea unei funcții ca parametru altei funcții se numește
delegat. Delegații sunt obiecte ce se referă la metode , au doar declarații și sunt utili în situațiile în
care aveți nevoie de un in termediar între o procedură de chemare și procedura de a fi chemat.
Delegații acceptă parametri dar nu returnează nici o valoare. O subrutină delegat returnează
pointeri i subrutine i, adică adresa , ca aceasta să fie utilizată pentru referirea diferitelor date și
structuri de date. Dacă am schimba adresa memorată în pointer putem ma nipula informații situate în
diferite locații din memorie. [27] [30].
În cadru acestei aplicații am folosit metoda evidențiată în Fig. 4.21. Metoda a fost adăugată
cu scopul de a preveni erorile de proces al recepției datelor.

Fig. 4.21. Secvență cod recepționare date serial
După cum se observă în figura de mai sus putem recepționa date utilizând portul serial și
afișarea acestora în funcție de val orile recepționate făcând diferența între valori pe baza unor
declarații condiționate.

48 Capitolul 5.
Concluzii finale
Până acum nu am mai avut ocazia să proiectez un proiect cu componente hardware dar
pentru că am vrut să încorporez cât mai multe cunoștințe acumulate pe parcursul facultății acest
proiect a fost o adevărată provocare. Pe durata întregului proces de realizare a proiectului am
întâmpinat probleme atât pe parte de proiectare hardware dar inevitabil și pe partea de proiectare
software.
Pentru țara noastră a utomatizarea serelor reprezintă o investiție ce ar duce la dezvoltare
rapidă în domeniul agriculturii și totodată o gestionare mai bună a resurselor.
Partea de documentare a fost realizată atât înainte , cât și în timpul proiectării , fiindu -mi de
ajutor pentru a putea înțelege mai ușor nevoia de automatizare din domeniul agriculturii și a
determinat găsirea de soluții rapide în vederea îmbunătățirii procesului de a utomatizare.
Așa cum reiese și din titlul lucrării de față, acest proiect vizează implementarea software în
procesul de automatizare cu scopul de a putea monitoriza și controla mai multe sere simultan
Evident că acest sistem poate fi îmbunătățit pri n adăugarea de noi funcții dar și de
implementare automată a controlului luminii care în această aplicație a fost lăsat pentru a fi
gestionat manual de către utilizator. Desigur, că implementarea acestui proiect, pentru a putea fi
folosit la scară industrial ă este mai dificilă necesitând un efort financiar mult mai mare, o muncă
susținută de o echipă de ingineri, dar și mai mult timp. În scopuri didactice a cest proiect este
funcțional.

Idei de îmbunătățire a sistemului de automatizare:
a.) Adăugarea de funcții n oi de control a parametri lor precum temperatura din sol și
intensitatea luminii
b.) Adăugarea de funcții de monitorizarea a componentelor hardware (ex. de pildă senzori
de avarie)
c.) Adăugarea de opțiuni pentru programe preprogramate
d.) Monitorizarea de la distanță (web, aplicație android, wireless, etc)
e.) Adăugarea de funcții pentru monitorizare și analiză de imagini.
f.) Funcții pentru un sistem de efracție
g.) Evidențiere a calculelor privind consumurile și raportarea acestora.
h.) Stocarea și transmiterea datelor stocate online

Aceste îmbunătățiri ar putea aduce beneficii agricultorilor, desigur, investiția este mai mare
însă consider că toate cheltuielile de implementare a unui asemenea sistem poate aduce profituri
mari proprietarilor , însă trebuie luat în calcul un term en mediu și lung.

49 Bibliografie
1 .Nicol s Castilla , Esteban J. Baeza, Athanasios P. Papadopoulos, Greenhouse Technology and
Management, (2nd ed.), Agricultural Research and Training Institute, Anda lucía, Spain, Publisher:
CABI, 2013 , ISBN: 978 -1-78064 -103-4
[2].Pedro Ponce, Arturo Molina, Paul Cepeda, Esther Lugo, Brian MacCleery, Greenhouse Design
and Control, CRC Press, 2014 , ISBN: 978 -1-315-77155 -7
[3].Hannan, Joe J., Greenhouses: Advanced Technology for Protected Horticultur e, Backround and
Development , CRC Press, 1997 , ISBN: 978 -08493 -1698 -2,
https://books.google.ro/books?id=rDN QwPJmmEkC&pg=PA578&lpg=PA578&dq=&source=bl&o
ts=yjNjGKau35&sig=uOt -PNNO0sfw0G1 –
VZgLCMxhLsA&hl=ro&sa=X&ved=0ahUKEwisgc2N2rbNAhWJuRQKHbkbAi4Q6AEIHDAA#v
=onepage&q&f=false , [13.05 .2016, 19:00]
[4].Information and Communication Technologies Vol. 101, Vinu V Das, R. Vijaykumar, "Cap.
Microcontroller Based Monitoring and Control of Greenhouse Enivironment 495 -497", Spr inger –
Verlag Berlin Heidelberg, 2010 , ISBN: 978 -3-642-15765 -3
[5].Factors Affecting the Rate of Enzyme Action,
http://www.desktopclass.com/skills/factors -affecting -the-rate-of-enzyme -action -chapter -2-4.html ,
[13.05.2016, 19 :00]
6 .Necesarul de apă în culturi le legumicole din sere și solarii ,
http://blog.seretransilvania.ro/necesarul -de-apa-in-culturile -legumicole -din-sere-si-solarii -2/,
[13.05.2016, 19:00]
7 .Schemă de principiu sistem irigare -fertirigare prin picurare, http://irigatii –
profesionale.ro/content/4 -fertirigarea , [15.05.2016, 10:00]
[8].GREENHOUSE LIGHTING,
http://www.greenhouse.cornell.edu/structures/factsheets/Greenhouse%20Lighting.pdf , [15.05.2016,
10:00]
[9 .Lungimile de undă ale luminii vizibile, http://geografilia.blogspot.ro/2015/04/din -ce-cauza –
apare -luna-sangerie.html , [15.05.2016, 10:00]
[10].Is Pink Best LED Color to Grow Plants?,
http://techon.nikkeibp.co.jp/english/NEWS_EN/20090421/169065/ , [15.05.2016, 10 :30]
[11].O'Reilly Verlag, Die elektronische Welt mit Arduino entdecken , 2014,
ISBN: 978 -3-89721 -319-7
[12].Arduino, http://www.oldbridgelibrary.org/content/uploads/2016/05/arduino_uno_II.jpg
[17.05.2016, 20:00]
[13].DHT11 library, http://playground.arduino.cc/Main/DHTLib , [17.05.2016, 21:00]
[14].Senzor DHT11, Specificaț ii, http://www.okazii.ro/modul -dht11 -senzor -rezistiv -temp eratura -si-
umiditate -arduino -a179919912 , [17.05.2016, 2 1:00]
[15].Senzor umiditate sol, http://d2ydh70d4b5xgv.cloudfront.net/images/6/1/new -soil-hygrometer –
humidity -detectio n-module -moisture -sensor -for-arduino -c27f8548106d5f7575efbffae74f802c.jpg ,
[18.05.2016, 20:00]
[16].Senzor Apă , http://www.sainsmart.com/water -level -sensor -depth -of-detection -water -sensor –
for-arduino.html , [18.05.2016, 19 :00]
[17].Mini pompa apă , Specificaț ii http://www.ebay.de/itm/DC3 -12V-RS-360SH -Self-priming –
pump -DC-water -pump -motor -for-Automobile -aquarium –
/161385463040?hash=item259352bd00:g:wZ0AAOSwEK9Tt5rC , [10.06.2016, 20:00]
[18].Senzor nivel apa comutator plutitor, Specificatii, http://www.okazii.ro/senzor -de-nivel -ptr-apa-
sau-alte-lichide -supraplin -electronic -foarte -sensibil -a181397617 , [10.06.2016, 20:00]

50 [19].Electrovalva, http://www.jolashop.ro/control -lichid/295 -electrovalva -g1-2.html , [22.05.2016,
10:00]
[20].Ventilator, http://www.ebuyshop.com.ua/eBay/Item/251787384037 ,
[23.05.2016, 20:00]
[21].Releu, Specificatii, http://www.okazii.ro/arduino -releu -5v-1-channel -relay -module -board –
shield -a173495392 , [19.05.2016, 20:00]
[22].Tranzistorul MOSFET, http://electrodb.ro/teorie -in-electronica/tranz istorul -mosfet/ ,
[22.05.2016, 11 :00]
[23].Tranzistor bipolar, https://ro.wikipedia.org/wiki/Tranzistor_bipolar ,
[22.05.2016, 11:00]
[24].Rezistor, https://ro.wikipedia.org/wiki/Rezistor , [22.05.2016, 11:00]
[25].Pulse Width Modulation (PWM), https://www.arduino.cc/en/Tutorial/PWM , [22.05.2016,
13:00]
[26].IDE Visual Studio, https://ro.wikipedia.org/wiki/Microsoft_Visual_Studio , [04.06.2016, 17:00]
[27].Michael Halvorson, Microsoft Visual Basic 2013 Step by Step, Publisher: Microsoft Press
[2013], ISBN: 978 -0-7356 -6704 -4
[28].Events and Event Handlers, https://msdn.microsoft.com/en -us/library/2z7x8ys3(v=vs.90).aspx ,
[04.06.2016, 17:00]
[29].Jonathan. S. Harbour, trad. Dan M. Pavelescu, Programarea jocurilor in Visual Basic pentru
adolescenti, Editura Rosetti Educational, Bucuresti 2006, ISBN: 978 -973-7881 -09-0
[30].Delegates in VB.NET, http://www.codeproject.com/Articles/30458/Delegates -in-VB-NET
[07.06.2016, 18:00]
[31].Form Constructor (), https://msdn.microsoft.com/en –
us/library/ system.windows.forms.form.form(v=vs.110).aspx , [07.06.2016, 18:00]
[32].Cultivarea legumelor in sera,
http://www.gradinamea.ro/Cultivarea_legumelor_in_sera_3336_543_1.html , [14.05.2016, 20:00]
[33].Lucrari de ingrijire la tomate in sera, https://www.gazetadeagricultura.info/plante/legume/442 –
rosii/1444 -lucrari -de-ingrijire -la-tomate -in-sera.html , [14.05.2016, 20:00]
34 .Tehnologie nouă pentru construirea serelor, http://www.agro -business.ro/tehnologie -noua –
pentru -construirea -serelor/2013/01/01/ , [15.05.2016, 20:00]
[35].Automation, https://en.wikipedia.org/wiki/Automation , [15.05.2016, 20:00]
[36].Making a Computer Controlled Greenhouse, https://www.pc -control.co.uk/greenhouse.htm ,
[19.05.2016, 20:00]
[37].Verificarea tranzistoarelor, http://www.hobbytronica.ro/verificarea -tranzis toarelor/ ,
[22.05.2016, 14 :00]
[38].Racirea dinamica (cu ventilatie fortata), http://www.mistcool.ro/ro/sisteme -igloo/sere -si-
gradini/ , [20.0 5.2016, 17:00]
[39].Stanciu, I.R., Molnar -Matei, F., Sisteme de monitorizare și control în timp real, Editura
Eurostampa, Timișoara 2013, ISBN: 978 -606-569-542-9
[40].Florin Molnar -Matei, Ioan Rareș Stanciu, Introducere în electronică analogică și digitală. Note
de curs și îndrumător de lab orator, 2015, ISBN: 978 -606-569-968-7
[41].Harry H. Chaudhary, The C Programming Language: Golden Beginner's to Experts Edition,
Publisher: Createspace, 2014, ISBN: 978 -1-5004 -8492 -7
[42].Liviu Herman, Titus Slavici, Tehnici de programare clasice si orientate pe obiecte, Editura:
Mirton – F.C.I. "I.Slavici", Timisoara 2013, ISBN: 978 -973-52-1319 -0, ISBN: 978 -606-8480 -14-5
[43].Horia Ciocarlie, Universul limbajelor de programare, ( ed. 3-a rev. și adåug .), Editura
Orizonturi Universitare, Timisoara 201 3, ISBN: 978 -973-638-553-7

51 Anexa 1

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// ********************** ******************* ************************ //
// Proiect creat pentru sustinerea licentei la absolvirea Facultatii Inginerie //
// Tehnologia Informatiei din cadrul Univers itatii "Ioan Slavici" Timisoara //
// //
//Cond ucator Stiintific: Florin Molnar – Matei //
// Autor: Ganea Daniel -Alexandru //
// //
// Sistem integrat de conducere operativa //
// a unei exploatatii agricole formata din mai multe sere //
//////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////
#include <dht.h>

dht DHT;

#define DHT11_PIN 7

char cmd;
float temp;
float hum;
//int ctrl=0;
int UmP;
int Umpvalue;

void setup(){

pinMode(3,OUTPUT); // Pompa pulverizare apa
pinMode(5,OUTPUT); // Pompa umplere bazin
pinMode(6,OUTPUT); // LED
pinMode(9,OUTPUT); // Ventilatoare
pinMode(12,OUTPUT); // BEC
pinMode(10,OUTPUT); // Electrovalva

Serial.begin(9600);
}

void loop(){
int chk = DHT.read11(DHT11_PIN);
if(Serial.available())

{
cmd = Serial.read();
switch(cmd){

//SENZORI –––––––––––––
//Citeste si transmite temperatura ambient
case 'a':
temp = DHT.temperature;
Serial.print("Temp = ");
Serial.print(temp,0);
break;

//Citeste si transmite umiditatea ambient
case 'b':
hum = DHT.humidity;
Serial.print("Humidity = ");
Serial.print(hum,0);
break;

52
//Citeste si transmite umiditatea din sol
case 'c':
Umpvalue = (analogRead(A0));
Umpvalue = constrain(Umpvalue, 300, 1023);
UmP = map(Umpvalue, 300, 1023, 100, 0);
Serial.print("SoilHum = ");
Serial.p rint(UmP);
break;

//Senzor apa bazin. Citeste si transmite o valoare cuprinsa intre
case 'd':
Serial.print("Bazin = ");
Serial.print(analogRead(1));
break;

//Senzor apa fantana
case 'e':
if(digitalRead(2)==HIGH)Serial.print("high");
else Serial.print("low");
break;

/////////////////////////////////////////////////////////////////
//Componente –––––––––––––
//Pompa pulverizare apa
case 'f':
digitalWrite(3,HIGH);
Serial.print("P1 ON");
break;

case 'g':
digitalWrite(3,LOW);
Serial.print("P1 OFF");
break;

//Pompa umplere bazin
case 'h':
digitalWrite(5,HIGH);
Serial.print("P2 ON");
break;

case 'i':
digitalWrite(5,LOW);
Serial.print("P2 OFF");
break;

//Iluminarea sera (LED)
case 'j':
digitalWrite(6,HIGH);
Serial.print("Led ON");
break;

case 'k':
digitalWrite(6,LOW);
Serial.print("Led OFF");
break;

//Ventilatoare
/////////////////////////////////////////////////////////////////
case 'l':
analogWrite(9,255); //viteza maxima
Serial.print("100%");
break;

case 'm':

53 analogWrite(9,215); //viteza 75%
Serial.print("75%");
break;

case 'n':
analogWrite(9,175); //viteza 50%
Serial.print("50%");
break;

case 'o':
analogWrite(9,135); //viteza 25%
Serial.print("25%");
break;

case 'p':
analogWrite(9,0); //Stop
Serial.print("Oprit");
break;
//////////////////////////////////////////////////////////////

//BEC incan descent
case 'q':
digitalWrite(12,HIGH);
Serial.print("BEC ON");
break;

case 'r':
digitalWrite(12,LOW);
Serial.print("BEC OFF");
break;

//Electrovalva
case 's':
digitalWrite(10,HIGH);
Serial.print("E ON");
break;

case 't':
digitalWrite(10,LOW);
Serial.print("E OFF");
break;

//Stop all
case 'u':
digitalWrite(3,LOW);
digitalWrite(5,LOW);
analogWrite(9,0);
digitalWrite(12,LOW);
digitalWrite(10,LOW);
Serial.print("AllOff");
break;

//Who am I
case 'v':
Serial.print("controller x");
break;

}
}
}

Similar Posts