Sistem automat de irigatii cu Arduino [309722]
Facultatea de Automatică și Calculatoare
Programul de Licență: Automatică și Informatică Aplicată
Lucrare de diplomă
Conducător științific:
Ș.L. Dr. Ing. Sorin NANU
Student: [anonimizat] 3
Figuri 5
Capitolul 1. Introducere 6
Capitolul 2. Stadiul actual 7
Capitolul 3. Noțiuni teoretice 8
3.1. Hardware 8
3.1.1. Placă Arduino Uno 9
3.1.2. [anonimizat] 10
3.1.3. Senzor nivel apă 11
3.1.4. Modul RTC de precizie DS3231 I2C 12
3.1.5. Modul Buzzer 13
3.1.6. Pompă de apă 3-6V 14
3.1.7. LCD 2004 + Modul I2C 15
3.1.8. Modul Releu 1 canal 17
3.1.9. LED-uri, rezistori si support baterii 6xAA 19
3.1.10. Breadboard 20
3.2. Software 21
3.2.1. Arduino 21
3.2.1.1. Programare Arduino 21
3.2.1.2. Sketch Arduino 22
Capitolul 4. Implementare 24
4.1. Implementare Hardware 24
4.2. Implementare Software 24
Capitolul 5. Rezultate 25
Capitolul 6. Concluzii si directii de continuare a dezvoltării 26
Capitolul 7. Bibliografie 27
Figuri
Fig. 1.1 – Sistem Irigații 6
Fig. 3.1. – Placă Arduino Uno 9
Fig. 3.2. – Modul senzor umiditate sol 10
Fig. 3.3. – Senzor nivel apă 11
Fig. 3.4. – Modul RTC de precizie DS3231 I2C 12
Fig. 3.5. – Circuit RTC DS3231 I2C 12
Fig. 3.6. – Modul Buzzer 13
Fig. 3.7. – Pompă de apă 3-6V 14
Fig. 3.8. – LCD 20×04 + modul I2C 15
Fig. 3.9. – Modul I2C pentru LCD 16
Fig. 3.10. – Modul Releu 1 canal 17
Fig. 3.11. – Conectare consumator la releu 18
Fig. 3.12. – LED-uri si rezistori 19
Fig. 3.13. – Suport baterii 19
Fig. 3.14. – Breadboard 20
Fig. 3.15. – Arduino Sketch 22
[anonimizat], adica un sistem de irigatii automatizat.
[anonimizat]. [anonimizat] a [anonimizat].
Pătrunderea în zonele rurale este mai anevoioasă. Cei care se ocupă de cultivarea legumelor și a fructelor, [anonimizat].
[anonimizat]. Se poate adapta la o rețea de apă curentă sau la fântână. Practic, [anonimizat]. [anonimizat].
[anonimizat]. Pentru o [anonimizat] o dorește, [anonimizat], care poate să-i ușureze considerabil munca chinuitoare și anevoioasă. [anonimizat] a iriga, fie un câmp fie o curte este nevoie de timp.
Fig. 1.1 – [anonimizat], sistemele de irigat au o largă căutare și utilizare. [anonimizat], necesitățile utizilatorilor diferă. [anonimizat]. [anonimizat], prin simplul fapt ca viața cotidiană uneori nu ne permite să ne îngrijim grădina.
Obiectivul primar în proiectarea acestor sisteme inteligente este să aplice apa la o adâncime optimă în sol, fie direct în apropierea rădăcinii plantei fie într-o zonă limitată, în apropierea plantelor.
Cele mai multe sisteme de irigat sunt instalate în sol sau aproape de suprafață, acoperite cu un strat de 8-10 cm de mulci, pentru a nu afecta aspectul estetic al grădinii. De obicei, sistemele necesită mai puțin timp și bani decât unele sisteme convenționale de udare. În unele aplicații comerciale sau casnice, ansamblul este montat într-un șant subterat și expunerea la ultraviolet sau afecțiuni mecanice este foarte mică.
Unele sisteme au un program de comandă și control al dispozitivelor de irigare prestabilit de producător, alte sisteme pot fi personalizate chiar de utilizator. Cele care nu suportă intervenții ulterioare programate urmând anumite standarde. De exemplu, dacă dorim un sistem care să ne ude gazonul din spatele casei de vacanță, putem achiziționa un sistem care să asigure acest lucru dimineața devreme și seara târziu, când temperaturile nu sunt foarte mari. Proiectând un sistem de țevi pentru apă și aspersoare, o pompă submersibilă și un automat programat, putem să udăm gazonul zi de zi, fară a mai pierde timpul. Acest sistem este unul super bun și comod, însă vremea este schimbătoare și cum climatul în România este dat peste cap, din dorința de a face bine putem face mai mult rău. În cazul în care afară plouă sau a plouat și solul este ud, funcționarea sistemului în parametrii normali duce la distrugerea gazonului.
Noțiuni teoretice
Hardware
Pe partea de Hardware, lucrarea de diplomă s-a realizat folosind următoarele componente:
Placă Arduino Uno
Modul senzor umiditate sol – higrometru
Senzor nivel apă
Modul RTC de precizie DS3231 I2C
Modul Buzzer
Pompa de apa 3-6V
LCD 2004
Modul I2C pentru LCD 1602 2004
Modul Releu 1 canal
LED-uri
Rezistori
Suport baterii 6xAA
Breadboard
Acest capitol va vorbii despre componentele hardware necesare realizării proiectului, enumerate mai sus, și specificațiile acestora.
Placă Arduino Uno
Fig. 3.1. – Placă Arduino Uno
Sistemul embedded Arduino (Figura 3.1), este un single-board microcontroller, bazat pe o placa open-source și un microcontroller ATmega328P pe 8 biți. Aceste sisteme embedded, au fost dezvoltate cu scopul de a oferi studenților o modalitate accesibilă de programare a sistemelor automate sau interactive.
De asemenea, sistemul embedded Arduino trebuie la rândul lui legat de sisteme elctronice și/sau mecanice, întrucât scopul acestei plăci de dezvoltare este chiar interfațarea cu aplicații fizice, analogice. În acest mod, prin intermediul unei plăci de dezvoltare precum Arduino, se face legătura dintre mediul analogic și mediul digital, acest lucru fiind posibil datorita modulelor ADC (Analog to Digital Converter) disponibile pe placă. Desigur, aceste module ADC sunt folositoare la intrare și pentru a controla aplicațiile mecanice sau electronice avem nevoie de transformare inversă, prin module DAC (Digital to Analog Converter) și prin tehnici precum PWM (Pulse-Width Modulation), care permite trimiterea de date (semnale) către aplicații analogice.
Modul senzor umiditate sol – higrometru
Fig. 3.2. – Modul senzor umiditate sol
Modulul conține un senzor de umiditate ce poate fi folosit pentru a testa umiditatea solului. Acest modul vă anunță când solul este prea secetos sau prea ud.
Caracteristici tehnice senzor umiditate:
Nivele de sensibilitate reglabilă (afișată în controlul potențiometrului digital albastru)
Tensiuni de lucru între 3,3 V – 5 V
Mod de ieșire dublu, ieșirea digitală este simplă, ieșirea analogică mai exactă.
Are o gaură fixă de șurub, ce permite o instalare convenabilă
Dimensiune: 30mm x 16mm
Ledul indicator de alimentare (roșu) și luminile de ieșire ale comutatorului digital (verde)
Comparator cip LM393
Cele două plăcuțe expuse funcționează ca probe pentru senzor, acționând ca un rezistor variabil. Cu cât este mai multă apă în sol cu atât conductivitatea dintre plăcuțe va fi mai mare și rezistența mai mică.
Senzor nivel apă
Fig. 3.3. – Senzor nivel apă
Senzorul de detectare a picăturilor de apă este obținut printr-o serie de fire paralele expuse pentru a măsura dimensiunea picăturilor de apă și pentru a determina nivelul apei.
In aceasta lucrare eu folosesc senzorul pentru a verifica nivelul apei dintr-o sticla in care se afla pompa de apa, in cazul in care nivelul apei este scazut atunci voi fi atentionat ca sticla este goala si trebuie alimentata.
Caracteristici tehnice:
Tensiune de lucru: DC 3-5V
Curent de funcționare: mai mic de 20mA
Tipul senzorului: Analog
Zonă de detecție: 40mm x 16mm
Temperatura de funcționare: 10-30 grade Celsius
Umiditate: 10% – 90% fără condensare
Dimensiunile produsului: 62mm x 20mm x 8mm
Modul RTC de precizie DS3231 I2C
Fig. 3.4. – Modul RTC de precizie DS3231 I2C
Ceas de timp real (RTC), cu un oscilator integrat si modul de temperature. Consuma putin si este foarte precis.
Dispozitivul încorporează o intrare de baterie, in cazul in care deconectați sursa de alimentare principală isi menține datele exacte , secunde, minute, ore, ziua, data, luna și informații an. Daca luna are mai puțin de 31 de zile data finală va fi reglată automat, inclusiv corecțiile pentru anul bisect.
Ceasul funcționează în oricare dintre cele doua moduri : 24 de ore sau AM / PM al formatului de 12 ore.
Fig. 3.5. – Circuit RTC DS3231 I2C
Modul Buzzer
Fig. 3.6. – Modul Buzzer
Modulul cu buzzer conține un tranzistor PNP ce controlează buzzer-ul, astfel că nu trebuie sa ne facem griji în legătură cu microcontroller-ul.
Există 3 pini de conexiune: VCC, GND și I/O. Pinul I/O se conectează la microcontroller sau la sursa de semnal dreptunghiular pentru a genera sunetul.
Plăcuța conține și rezistență în baza tranzistorului, astfel că poate fi direct conectată la microcontroller.
In acest proiect folosesc buzzer-ul, pentru alarmare, astfel incat in momentul in care flaconul de apa este gol acesta este activ.
Caracteristici tehnice:
Tensiune de alimentare: 3.3V – 5V;
Curent: 30mA (MAX);
PNP tranzistor: 9012.
Dimensiuni: 1.3cm x 3.3cm
Pompă de apă 3-6V
Fig. 3.7. – Pompă de apă 3-6V
Această pompă submersibilă, de mici dimensiuni, poate fi folosită împrună cu plăci de dezvoltare, module și alți senzori, pentru aplicații casnice.
In acest proiect o folosesc impreuna cu un releu pentru a o comanda, releul fiind conectat la Arduino Uno si la o sursa de tensiune (6 x baterii AA).
Caracteristici tehnice:
Tensiune: DC3-5V
Curent: 100-200mA
Debit: 1,2-1,6 L / min
Greutate: 28 grame
Material: plastic
Diametrul exterior al duzei: 7.5mm
Diametrul interior al duzei: 4.7mm
Diametru: aproximativ: 24mm
Lungime: approximativ 45mm
Inaltime: aproximativ 33mm
Este recomandat ca durata de funcționare continuă să nu depășească 500 de ore
Culoare: alb
LCD 2004 + Modul I2C
Fig. 3.8. – LCD 20×04 + modul I2C
Modulul LCD 2004 afiseaza 4 linii a cate 20 de caractere. Este ideal pentru proiecte de electronica ce au de afisat mai multa informatie. Acesta poate fi folosit cu usurinta si în conditii de iluminare joasa deoarece are si lumina de fundal.
De asemenea lumina de fundal trebuie protejata printr-o rezistenta sau un potentiometru de 2k. Pentru reducerea pinilor folositi la legarea LCD-ului la controler se poate folosi un modul I2C.
Conectand modulul I2C vom folosi doar 2 pini pentru conectarea la Arduino Uno, iar acest modul dispune de toate cele necesare pentru o mai usoara utilizare a LCD-ului.
Caracteristici tehnice:
Tensiune de alimentare: 5V;
Curent: 2 mA;
Tensiune alimentare backlight: 4.2V;
Curent lumina de fundal: 250mA (MAX).
Dimensiuni: 98mm x 60mm x 14mm
Conexiuni:
pin 1: Vss;
pin 2: Vdd;
pin 3: Vo – contrast LCD (între Vss și Vdd V);
pin 4: RS;
pin 5: R/W;
pin 6: E – enable;
pin 7 – 14: DB0 – DB7;
pin 15: V+ backlight;
pin 16: V- backlight
Fig. 3.9. – Modul I2C pentru LCD
De la acest modul vom avea 4 conectori legati in urmatoarea ordine:
GND -> GND
VCC -> +5V
SDA -> A4 (pin analogic 4)
SCL -> A5 (pin analogic 5)
Modul Releu 1 canal
Fig. 3.10. – Modul Releu 1 canal
Caracteristici tehnice:
Tensiune de comandă: 5V;
Tensiune partea de putere: 250VAC, 125VAC, 28VDC, 30VDC;
Curent suportat, conform tensiunilor: 10A, 10A, 10A, 10A;
LED-uri indicatoare pentru alimentare și comandă;
Releul este comandat de tranzistor.
Modulul cu releu este potrivit pentru aplicațiile dumneavoastră în care aveți nevoie să controlați componente de putere, în curent continuu sau alternativ, cu un microcontroller sau alt dispozitiv de putere mică. In cazul acesta în curent continuu.
Ultilizare:
Consumatorul se conectează la terminalele cu șuruburi. Fiecare terminal are semnificația marcată pe placa PCB.
Pin-ul NC (Normally Closed) este în legătură cu pin-ul COM (Common) atunci când nu se aplică tensiune pe pin-ul de control, iar pin-ul NO (Normally Open) este deconectat. Atunci când se aplică tensiune pe pin-ul de control, "Normally Closed" este deconectat, fiind în legătură pinii "Common" și "Normally Open".
Un mod simplu de conectare a unui consumator la releu este cel ilustrat în schema atașată mai jos.
Fig. 3.11. – Conectare consumator la releu
Releul este conectat la placuta Arduino cu ajutor pinilor :
GND -> GND
VCC -> +5V
IN -> Pin digital 6
Activarea/Dezactivarea releului este foarte facilă deoarece tot ce trebuie să faceți este să aplicați o tensiune de 5 V pe pin-ul de intrare( IN ):
în funcția "void setup()" trebuie să declarați pinul digital pe care îi folosiți ca fiind de ieșire. Exemplu: "pinMode ( digitalPin , OUTPUT);" , unde "digitalPin" reprezintă pinul digital pe care îl utilizați pentru a controla releul. *
în funcția "void loop()" trebuie să utilizați următoarea instrucțiune pentru a activa releul "digitalWrite ( digitalPin , HIGH);" și pentru a-l dezactiva " digitalWrite( digitalPin , LOW);"
LED-uri, rezistori si support baterii 6xAA
Fig. 3.12. – LED-uri si rezistori
Fig. 3.13. – Suport baterii
LED-urile sunt diode semiconductoare ce emit lumina, acestea sunt legate la masa si la un pin digital al placutei Arduino Uno. In acest proiect le-am folosit ca si semnalizare pentru tipul solului. (Verde – Sol ud; Galben – Sol umed; Rosu – Sol uscat)
Rezistorul este o piesă componentă din circuitele electrice și electronice a cărei principală proprietate este rezistența electrică.
În circuit, rolul rezistorului poate fi:
producerea căderii de tensiunii dorite între două puncte din circuit;
determinarea curentului dorit printr-o altă piesă a circuitului;
divizarea unei tensiuni într-un raport dat (circuit divizor de tensiune);
terminarea unei linii de transmisie(ca rezistență de sarcină).
Suportul de baterii este folosit pentru a avea o sursa mai mare de tensiune necesara pentru a porni pompa de apa.
Breadboard
Fig. 3.14. – Breadboard
Breadboard-ul se foloseste pentru realizarea extrem de rapida a montajelor fara a fi nevoie de un letcon sau pistol de lipit.
Piesele se introduc in gaurile din placa iar legaturile intre pini se realizeaza cu fire tip tata-tata sau mama-tata.
La mijloc se pot introduce circuite integrate sau module cu doua randuri de pini, fiecare pin putand fi rapid conectat altundeva prin cele 2 gauri asezate perpendicular pe circuit.
In laterale sunt doua magistrale cu legaturi orizontale care in mod normal se folosesc pentru alimentare. Aceasta placa are doua magistrale independente pe fiecare parte (2 in total).
Aceste magistrale laterale sunt impartite in 3 parti fiecare ca in Fig. 3.14. prezentata mai sus.
Schema finala
Fig. 3.15. – Schema finala
Software
Arduino
Arduino este o platform open-source de echipamente electronice bazată pe hardware și software ușor de folosit. Arduino a început în anul 2003 ca un proiect al unor studenți de la Interaction Design Institute Ivrea în Italia. Aceștia au dorit să furnizeze o soluție ieftină și ușor de folosit atât pentru incepatarii când și pentru profesionostii care doresc să creeze dispositive capabile să interacționează cu mediul înconjurător folosind senzori și actuatori.
Folosirea unei plăci de dezvoltare Arduino poate avea multe avantaje precum: consumul redus de energie, prețul scăzut, ușurință de a lucra, support prin comunitatea online foarte dezvoltată, capcacitatea de a trimite date prin comunicație wireless cu ajutorul moduleleor Bluetooth, mediul de dezvoltare, simplitatea de a interfața cu diverși senzori. Dar desigur că pot există și dezavantaje, de exemplu: limitări de memorie, nevoia de shield additional pentru accesul la internet. Totuși Arduino este soluția optimă pentru dispositive care nu necesită o putere mare de procesare.
Programare Arduino
Arduino oferă un mediu de dezvoltare și anume Arduino IDE, acesta fiind o aplicație multi-platforma scrisă în limbajul de programare Java. Acesta vine și cu un editor de text care facilitează scrierea cu ușurință a codului prin mecanisme precum: identare automată, îndeplinirea corespondențelor între accolade, evindentierea sintaxei. Arduino IDE facilitează deasemenea programare plăcii printr-un mechanism simplu care compilieaza și încarcă programul pe placă printr-un singur buton, ulterior fiind necesare doar alegerea tipului de placă care va fi programată și a portului prin care se va face programarea.
Limbajul de programare pentru Arduino IDE este bazat pe C/C++. Sintaxa de bază și reguli specifice ale acestui limbaj sunt următoarele :
• Fiecare declarație se termină cu punct și virgulă.
• Acoladele sunt regăsite tot timpul în perechi, ele sunt folosite pentru a marca începutul și sfarșitul funcțiilor, buclelor și a declarațiilor condiționale.
• Comentariile pentru un singur rând încep cu “//”, iar comentariile pentru mai multe rânduri sunt încastrate între simbolurile “/* */”.
• Folosirea directivei preprocesor ”#define” care permite asignarea unui nume pentru o valoare constantă înainte ca programul sa fie compilat.
Sketch Arduino
Sketch este numele pe care Arduino îl folosește atunci când se referă la programul care urmează să fie încărcat pe placă.
Fig. 3.15. – Arduino Sketch
Putem împărții acest “sketch” in trei parti: declararea variabilelor globale, funcția setup(), funcția loop(). Variabilele globale sunt variabile declarate în afara oricărei funcții, acestea pot fi folosite de orice funcție fiind vizibile în tot programul. De exemplu putem declara o variabile globală care memorează numărul unui led, această variabilă permițând să fie folosită în mai multe funcții pe parcursul întregi execuții a programului.
Funcția de setup() este prima funcția apelată de program, aceasta este apelată o singură dată. În această funcția se fac setările necesare programului nostru, spre exemplu putem seta pini de intrare sau de ieșire, sau putem chiar seta un baud-rate pentru o comunicare serială. Această funcție este obligatorie pentru orice program Arduino și nu poate să lipsească chiar dacă în interiorul ei nu se efectuează nici o operație.
Odată ce setările sunt făcute se va apela funcția loop(). Aceasta se apelează în mod repetat la nesfârșit. Înăuntrul ei putem efectua tot felul de operații, de la citerea sau scrierea unor pini până la ascultarea și trimiterea mesajelor pe interfețe seriale sau chiar apelarea altor funcții mai complexe pentru a menține programul structurat.
Implementare
Realizarea proiectul a presupus implementarea in mediul de dezvoltare Arduino a unui sistem de irigatii automat si implementarea hardware a acestuia, asadar acest capitol va fi impartit in doua parti, o parte ca descrie implementarea efectuata in mediul de dezvoltare Arduino, iar cea de a doua va descrie modul de implementare hardware al sistemului de irigatii automat.
Implemetarea din acest proiect nu este unica si cu siguranta sunt si alte implementari care pot aduce la rezultate asemanatoare sau chiar mai bune. Exista o serie de dependinte intre partile implementarii sistemului. Dezoltarea software a sistemului de irigatii nu poate fi realizata in lipsa componentelor hardware, iar componentele hardware nu pot fi achizitionate fara a stabili scopul proiectului, functiile sitemului sau a metodei de abordare al acestora.
Personal, am ales o varianta mai simpla de sistem de irigatii ce poate fi imbunatatita mult mai mult decat ce am facut in lucrare.
Dupa ce am ales toate componentele necesare implementarii am inceput sa gandesc o arhitectura a programului software ,dar si hardware.
Pe partea de software am avut probleme cu modulul RTC(Real Time Clock) deoarece majoritatea bibliotecilor pentru acesta nu erau compatibile sau nu imi asigurau toate obiectele necesare pentru ceea ce doream sa fac.
In ultima faza dupa ce codul a fost scris si partea hardware asamblata a fost nevoie de timp pentru a eficientiza precizia senzorilor, adaptarea valorilor de comparatie pentru senzori si afisarea informatiilor pe un LCD 20×04 care foloseste o interfata I2C pentru comunicarea cu Arduino.
In urmatoarele doua sub capitole am ales sa va prezint :
Implementarea Hardware, prezentata in sub capitolul 4.1
Implementarea Software, prezentata in sub capitolul 4.2
Implementare Hardware
Pentru inceput am facut o arhitectura hardware a sistemului pentru a ma asigura ca voi avea toate conexiunile corecte si ca tensiunile sa fie corespunzatoare.
Structură arhitecturii hardware poate fi găsită în figură 4.2. În această figură putem găsi componentele hardware și comunicarea lor între ele.
Liniile verzi reprezintă legătură prin fire a componentelor, săgeată reprezintă sensul
informației.
Fig. 4.1. – Arhitectura hardware
Implementare Software
Pe larg, parte de implementare a proiectului în Arduino constă în declararea varabilelor
globale, declararea pinilor pentru senzori și comunicare bluetooth, metode pentru transmiterea
datelor, metoda setup() pentru initializarea pinilor și a comunicării seriale, implementarea unei rutine de tratare a unei intreruperi și metodă loop() care va transmite în continu date spre
aplicația Android.
Acest proiect controlează și monitorizează senzori, deci vom avea nevoie în codul sursă să folosim variabile pentru a atribui pinii de pe placă variabilelor corespunzătoare și pentru a îi inițializa.
Fig. 4.2. – Variabile globale
După cum putem observa în Fig. 4.2 de mai sus avem trei tipuri de variabile globale.
Variabile globale simple, în care reținem anumite stări sau date care se pot schimba pe parcursul execuției programului. Variabile globale constante, prefixate de cuvântul cheie “const”, acestea vor rămâne aceleași dealungul execuției întregului program și sunt folosite pentru a asigna pinii.
Iar ultimele sunt variabilele ”const char” care de fapt este un tabel cu valori de tip string.
Funcția setup() din Fig. 4.3 este prima metodă chemată când se execută un program Arduino.
In aceasta functie am setat pinii digitali ca intrare sau ca ieșire și am pornit
comunicarea serială la o rată de transfer a datelor de 9600 biți pe secundă.
Aici am pornit si LCD-ul,dar pe langa aceasta am pus pinul de la pompa pe HIGH astfel incat in momentul rularii programului pompa sa fie oprita.
Fig. 4.3. – Functia void setup()
Funcția loop() se execută în mod repetat pe parcursul funcționării aplicației. Aici se executa procesul in adevaratul sens al cuvantului.
Urmarim mai multe semnale si in functie de acestea se executa anumite lucruri prezentate in organigrama programului prezentata in Fig. 4.4. prezentata mai jos.
Fig. 4.4. – Organigrama program partea de functionare
In partea aceasta a programului se regasesc cateva verificari ale senzorului de umiditate si a timpului. Astfel incat daca este ora 6:30 sau ora 18:30 verific daca valoarea data de senzorul de umiditate este mai mare sau egala cu 800, daca este mai mare pompa va porni pana cand aceasta va scadea sub valoarea de 800.
In urma unei discutii cu un inginer in agronomie am fost informat ca irigarea plantelor pe timpul zilei este daunatoare acestora daca soarele este puternic,dar acest lucru doar daca irigarea este prin stropire. Acesta mi-a propus daca doresc sa ud si pe timpul zilei sa folosesc irigarea prin picurare adica furtunul sa fie amplasat la tulpina plantei. In urma acestei discutii am adaugat in program si partea de verificare pe parcursul zilei, adica daca senzorul de umiditate emite o valoare mai mare sau egala cu 900 atunci pompa va porni altfel va fi oprita.
Partea de alarmare si informare a programului este prezentata in figura 4.5.
Fig. 4.5. – Organigrama program patrea de alarmare si informare
Rezultate
Concluzii si directii de continuare a dezvoltării
Acest proiect a urmărit realizarea unui sistem de irigatii automat pentru sere, gazon, flori etc. Pentru realizarea acestui proiect a fost necesară folosirea mai multor componente hardware și software.
Astfel sistemul implementat este unul ieftin și flexibil care înglobează o placă Arduino Uno, o serie de senzori, o pompa comandata cu un releu și un LCD cu interfata I2C.
Sistemul implementat se încadrează în domeniul dispozitivelor agricole sau de gradina, un
domeniu care este în continuă creștere, iar sistemul acesta automat de irigatii adduce un mare castig de timp dar si eficienta a muncii in domeniu.
În opinia mea, sistemul implementat are o mare aplicabilitate în viață de zi cu zi și oferă multe direcții pentru continuarea dezvoltării. Direcțiile următoare de dezvoltare la care m-am gândit includ:
Adăugarea de noi senzori
Adaugarea unui meniu pe LCD comandat prin tastatura
Implementarea sistemului intr-o sera
Estetica
Anexă
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Sistem automat de irigatii cu Arduino [309722] (ID: 309722)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
