Pro case inteligente trebuie să fi auzit. Multe idei în această direcție sunt foarte futuriste, dar acest lucru nu ar trebui să se oprească.

Unele păreau a fi science fiction acum doar 20-25 de ani, iar acum sunt aplicate peste tot. În viitorul apropiat, toate casele vor deveni mult mai „înțelepte” sau cel puțin vor începe să „devină mai inteligente”. Direcția nu este doar promițătoare, ci și interesantă, așa că nu ar trebui să stai deoparte.

În general, casă inteligentă- acesta este un sistem foarte complex de senzori, componente mecanice si electronice, controlat printr-un program programat. Acest sistem monitorizează consumul (și scurgerile) de apă, gaz, electricitate. Controlează iluminarea. Include elemente de stingere a incendiilor. Oferă control de la distanță a diferitelor dispozitive prin telefon sau SMS. Include elemente de protecție împotriva furtului și accesului neautorizat. Conține dispozitive de alimentare neîntreruptibilă vitale pentru întregul sistem de blocuri.

Sarcina principală a unor astfel de sisteme este de a face viața mai ușoară oamenilor, mutând unele dintre griji la automatizare. Conform acestui principiu, vom lucra, încredințând o parte din teme microcontrolerului. Să începem, ca întotdeauna, cu unul simplu.

Există multe dispozitive de irigare, de la primitive, cum ar fi tifonul, cu un capăt îngropat într-un ghiveci de plante, iar celălalt scufundat într-un recipient cu apă, până la sisteme de irigare de înaltă tehnologie controlate electronic. Primele au o calitate scăzută și eficiență de irigare, cele din urmă au un preț ridicat și funcționează după propriul algoritm, care nu poate fi schimbat.

Vom dezvolta un dispozitiv universal, cu posibilitate de extindere funcțională, dar în același timp ieftin și eficient.

Algoritm de lucru mașină de udat plante simplu: pământul dintr-o oală s-a uscat - udă-l, udă-l - așteptați până se usucă. Totul pare a fi simplu la prima vedere. Facem o listă cu componentele necesare: o placă de microcontroler, o pompă, o cheie de pornire pentru controlul motorului pompei, un senzor de umiditate a solului, un recipient cu apă (de fapt, ar fi frumos să se conecteze la alimentarea cu apă, dar ar fi bine să nu :-) Pentru ca sistemul să fie complet autonom, este necesar să-l echipați cu un dispozitiv de alerte de consum de apă, de exemplu, LED verde - este apă suficientă, roșu - nu a mai rămas apă suficientă , este necesar să se adauge. Deci, aveți nevoie de un senzor de nivel de apă.

Pompa pentru masina de udat plante

Dintre cele de mai sus, vom produce totul, cu excepția pompei. Pompa se va potrivi cu orice putere redusă. Puteți căuta în imprimante cu jet de cerneală vechi și stricate sau puteți cumpăra o pompă de spălat parbriz în piese auto, am găsit-o pe cea mai simplă pentru 90 de ruble.

Important: înainte de a conecta pompa la dispozitivul finit, verificați funcționarea acesteia. O pompă de mașină poate da o fântână de câțiva metri; acasă, o astfel de „udare” poate să nu fie înțeleasă și interzisă din răsputeri. Găsiți tensiunea optimă după experiență. Autopompa este alimentată de o rețea de bord de 12 V, pe copia mea apare deja o presiune suficientă la o tensiune de 8 ... sunt spălate, iar o astfel de pompă va trebui să fie clătită în cel mai precis mod.

Despre senzori

Senzorul de umiditate al solului este cel mai bine realizat din grafit, metalul este supus electrolizei și coroziunii și, prin urmare, proprietățile sale se deteriorează în timp. Deși, în configurația noastră experimentală, senzorii din cuie și sârmă de cupru funcționează normal.

Senzorul de unghii este cel mai simplu design. Pentru a-l realiza, ai nevoie de o bucată de plastic sau cauciuc, două cuie, fire și cambric (bandă adezivă).

Senzorul de nivel al lichidului poate fi realizat în același mod ca senzorul de umiditate a solului sau puteți veni cu un design de tip plutitor. A doua varianta este de preferat. În figura 3, o variantă a unui astfel de senzor, unde 1 este un recipient cu apă pentru irigare și un semn de minim, 4 este un tub din orice material și tija 3, care merge liber în tub. Tubul și tija pot fi luate dintr-un pix vechi. În partea de jos, un flotor 2 (o bucată de spumă) este atașat de tijă. În partea superioară, de suprafață, a structurii de pe tub, punem contactele 5 pe o placă de plastic, acestea vor fi contactele senzorului. Deasupra tijei atașăm o placă conductoare 6. Cursa tijei în tub este de 1 ... 2 cm.Lipim firele la contactele 5 pentru a se conecta la Arduino. Tubul 4 este fixat fix în interiorul recipientului.

Principiul de funcționare al senzorului este următorul. Când este multă apă, plutitorul 2 împinge tija 3 până la capăt, în timp ce placa 6 nu atinge contactele 5. Când nivelul apei scade sub marcajul MIN, plutitorul scade odată cu nivelul apei și coboară tija cu placa b, care, la rândul său, atinge contactele 5 și le închide împreună. Controlerul trebuie să citească doar starea contactelor 5. Dacă ești prea lene să te încurci, poți cumpăra altele similare din piese auto, acestea sunt vândute acolo ca senzori de nivel al lichidului de răcire, prețul celor mai simple este de 100 - 150 de ruble .

Controlul încrederii Arduino

Pentru ea, aceasta este o sarcină banală. Conectăm senzorii cu un contact la pinul Arduino și printr-un rezistor de mare rezistență îl tragem la „sol”, cu celălalt contact - la +5 V al sursei de alimentare Arduino. Pentru a selecta metoda de conectare a pompei, trebuie să cunoaștem curentul pe care îl consumă în modul de funcționare și este necesar la pomparea apei; la ralanti, curentul poate fi mai mic. Dacă curentul este mai mic de 3,5 A, atunci puteți utiliza ansamblul tranzistorului uln2003 pentru a conecta pompa.

Fiecare ieșire a uln2003 poate conduce la o sarcină de 0,5 A. Am conectat toate cele șapte intrări și ieșiri în paralel pentru a crește curentul de sarcină: 7 × 0,5 = 3,5 A. Dacă curentul pompei este mai mare de 3,5 A, atunci puteți pune un FET, de exemplu irf630 (dar are nevoie de elemente suplimentare). Acest tranzistor poate rezista la curent de până la 9 A. Dacă pompa dvs. are nevoie de mai mult curent, atunci schimbați pompa, altfel vom obține nu un sprinkler, ci un furtun :-)

Pentru alimentatie mașină de udat plante puteți folosi baterii de la jucării controlate radio sau de la o sursă de alimentare. Sursa de alimentare selectată trebuie să fie dimensionată pentru curentul necesar pompelor. M-aș mulțumi cu puterea bateriei, pompele nu pornesc des și pentru o perioadă scurtă de timp, deci nu este nevoie de o sursă de alimentare conectată în permanență la rețea. În plus, de-a lungul timpului, puteți adăuga programului controlul încărcării bateriei și semnalarea necesității de încărcare.

Diagrama bloc a algoritmului de control este prezentată în figura de mai jos. După pornirea dispozitivului, senzorii sunt interogați într-un ciclu de lucru continuu și, în funcție de starea fiecărui senzor, se întreprind acțiuni. Senzorul de nivel al apei controlează LED-urile. Senzorul de umiditate a solului controlează pompa.

Programul este simplu, dar necesită ajustare în fiecare caz. O atenție deosebită trebuie acordată pauzei dintre pornirea și oprirea pompei: cu cât vasul de flori este mai mic și cu cât puterea pompei este mai mare, cu atât pauza ar trebui să fie mai scurtă. Pauza după oprirea pompei depinde și de dimensiunea oală. După udare, pământul trebuie să fie saturat, altfel, dacă umiditatea nu ajunge la senzor, sistemul va porni din nou udarea. Cea mai bună opțiune este să plasați conducta de alimentare cu apă lângă senzor, astfel încât pământul din zona senzorului să fie imediat saturat. Voi remarca și aici: nivelul de umiditate pentru a porni irigarea poate fi ajustat de senzorul însuși, scufundându-l la diferite adâncimi.

Cod program

// constante
const int dw = 12; // Senzor de nivel al apei cu 12 pini
const int dg = 11; // Senzor de umiditate a solului cu 11 pini
const int pompe = 2; // Controlul pompei cu 2 pini
const int ledG = 3; // LED verde pe pinul 3
const int ledR = 4; // LED roșu pe 4 pini
// variabile
int dwS = 0; // starea senzorului de nivel al apei
int dgS = 0; // starea senzorului de umiditate a solului
//setari
void setup()(
// declară LED-urile și pinii pompei ca ieșiri:
pinMode(pompă, IEȘIRE);
pinMode(ledG, OUTPUT);
pinMode(ledR, OUTPUT);
// declar pinii senzorului și pompei ca intrări:
pinMode(dw, INPUT);
pinMode(dg, INPUT);
}
// ciclu de lucru
void 1oop()(
// citiți stările senzorului de nivel al lichidului
dwS = digitalRead(dw);
// dacă este multă apă, se aprinde verde, altfel roșu
dacă (dwS == LOW) (
digitalWrite(ledG, HIGH);
digitalWrite(ledR, LOW);
}
altfel(
digitalWrite(ledG, LOW);
digitalWrite(ledR, HIGH);
}
// citiți stările senzorului de umiditate a solului
dgS = digitalRead(dg);
// dacă solul este uscat, dați drumul la udare
dacă (dgS == LOW) (
digitalWrite(pompe, HIGH);
întârziere (2000);
digitalWrite(pompe, LOW);
întârziere (30000);
}
altfel(
digitalWrite(pompe, LOW);
}
}

Referitor la cod, vreau să spun următoarele. Pentru a o simplifica, am pus comenzile de întârziere, pe care eu însumi le-am înjurat. Din cauza întârzierii, la un moment dat dispozitivul nostru se blochează timp de 30 de secunde (sau poate trebuie să instalăm mai multe). Dar în acest dispozitiv nu este critic. Dacă aparatul ajunge să ude 10 plante și coincide că toate trebuie udate în același timp, cred că cele 300 de secunde pe care va trebui să le aștepte ultima plantă nu sunt atât de importante.

Dar pentru sursa de alimentare, o astfel de soluție va juca un rol pozitiv: nu va permite dispozitivului să pornească 10 pompe în același timp. Prima întârziere (2000) pornește pompa timp de 2 secunde, dacă aveți o plantă mare într-un ghiveci mare, atunci trebuie să măriți timpul, dacă pompa este foarte productivă, atunci, dimpotrivă, micșorați-l. A doua întârziere (30000) oferă solului 30 de secunde să se înmoaie cu apă, am scris despre asta mai devreme. Poate că și timpul acesta trebuie ajustat.

Din punct de vedere structural, dispozitivul este format din două părți - electronice și mecanice. Este de dorit să plasați partea electronică și bateriile în carcasă, astfel încât stropirile accidentale să nu dezactiveze electronicele. Puteți folosi nu întregul Arduino, ci un microcontroler, un quartz cu condensatori și o sursă de alimentare de 5 V. În același caz punem cipul uln2003, rezistențele, LED-urile afișajului pe panoul frontal și instalăm un conector pentru conectarea senzorilor și un pompa. Dacă pompa este puternică și ulna este încălzită, atunci forăm găuri în carcasă pentru ventilație. Nu este necesar să fie instalat un indicator suplimentar pentru pornirea dispozitivului, unul dintre LED-urile pentru nivelul apei este întotdeauna aprins și va îndeplini această funcție.

Carcasa pentru partea electronica poate fi realizata din orice material sau puteti alege unul gata facut. Pentru un recipient, puteți folosi o sticlă de plastic sau un borcan de sticlă de o dimensiune potrivită sau îl puteți lipi din plastic. Reparăm senzorul de nivel al lichidului și instalăm pompa. Dacă pompa trebuie să fie scufundată în fund (și există unele), atunci izolăm cu mare atenție toate firele sale care transportă curent. De la pompă la ghiveciul cu plantă, desenăm un tub cu diametrul potrivit. Puteți cumpăra unul la un magazin de piese auto împreună cu o pompă sau puteți ridica una potrivită din cauciuc sau silicon. Pe marginea oalei, venim cu un suport pentru tub, astfel încât să nu existe stropire atunci când este furnizată apă. Instalăm senzorul de umiditate în imediata apropiere a tubului. Pentru ca un vas din sticlă sau plastic care stă lângă plantă să nu sperie pe alții cu aspectul ei, puteți folosi vopsele de vitralii acrilice pentru a-i oferi un stil de design de autor.

Alte teste. Nu uitați: bunăstarea plantei depinde de funcționarea dispozitivului. Înainte de a efectua teste practice, efectuați teste pe banc testând dispozitivul cu un ghiveci fără plantă timp de câteva zile. Pământul din el nu ar trebui să fie inundat sau suprauscat. Dacă este necesar, adânciți mai mult senzorul de umiditate sau, dimpotrivă, ridicați-l mai sus. Reglați durata pompei în program. Nu ar trebui să dea o picătură la fiecare cinci minute, dar nu trebuie să umple pământul o dată pe săptămână. În timpul experimentului, monitorizați temperatura componentelor electronice.

Nu supraîncălziți!

Când totul este depanat, treceți la teste practice, luând cea mai nepretențioasă plantă. Monitorizați cu atenție starea plantei, dacă ceva nu este în regulă, opriți experimentul până când motivele sunt clarificate. Dacă totul este în regulă, conectați un alt senzor și pompă la Arduino, adăugați cod și automatizați udarea altei plante. Fără o extindere suplimentară a portului, Arduino va gestiona o duzină de plante.

Aplicație. Cod fara comentarii:
const int dw = 12;
const int dg = 11;
const int pompe = 2;
const int ledG = 3;
const int ledR = 4;
int dwS = 0;
int dgS = 0;
void setup() ( pinMode(nasos, OUTPUT);
pinMode(ledG, OUTPUT);
pinMode(ledR, OUTPUT);
pinMode(dw, INPUT);
pinMode(dg, INPUT); )
void loop()( dwS = digitalRead(dw);
if (dwS == LOW) ( digitalWrite(ledG, HIGH);
digitalWrite(ledR, LOW); )
else ( digitalWrite(ledG, LOW);
digitalWrite(ledR, HIGH); )
dgS = digitalRead(dg);
if (dgS == LOW) ( digitalWrite(pompe, HIGH);
întârziere (2000);
digitalWrite(pompe, LOW);
întârziere (30000); )
altfel (digitalWrite(pompe, LOW); ))

Articolul precedent: Articolul următor:

Sistemul de udare ArdAutomatic automatizează munca de îngrijire a florii de interior. În magazinele tematice vând un astfel de design la un preț nebun. Cu toate acestea, lucrul merită, deoarece mașina reglează în mod independent „porțiile” de umiditate pentru plantă.

În acest articol, cititorul este invitat să-și creeze propria udare automată pe arduino. Microcontrolerul în acest caz acționează ca un sistem de control pentru dispozitivele periferice.

Instrumente și periferice necesare pentru implementarea proiectului Autowatering bazat pe microcontrolerul Arduino

Un irigator este un dispozitiv care controlează umiditatea solului. Dispozitivul transmite date către un senzor de umiditate, care va indica udarii automate proiectate să înceapă lucrul. Limbajul de programare C++ este folosit pentru a scrie programul.

Masa cu materialele necesare:

Componentă Descriere
Microcontroler Arduino Uno Platforma conectează dispozitive periferice și constă din 2 părți: software și hardware. Codul pentru crearea de aparate electrocasnice este programat într-un mediu liber - IDE-ul Arduino.

Pentru a compila și implementa un program pe microcontroler, trebuie să achiziționați un cablu USB. Pentru funcționare autonomă, trebuie să cumpărați o sursă de alimentare de 10 V.

Există 12 pini pe platformă, al căror rol este intrarea și ieșirea digitală. Utilizatorul selectează individual funcțiile fiecărui pin.

cablu USB Obligatoriu în proiectarea sistemului de „udare automată pe arduino” să poarte codul.
Placă de conectare a senzorului – Troyka Shield Cu ajutorul plăcii, perifericele tactile sunt conectate folosind cabluri convenționale. De-a lungul marginilor există contacte cu 3 pini - S + V + G.
Bloc de borne push-in Servește ca clemă pentru firele grupate. Designul este fixat cu un buton pe arc.
Sursa de alimentare echipata cu intrare USB

Analizor de umiditate a solului

Instrumentul ideal pentru conectarea platformelor. Designul include o lanternă care indică începutul lucrărilor.

Aparatul dă semnale dacă solul este excesiv sau insuficient umezit. Conexiunea la placa se face folosind 3 fire.

● Adâncime MAX pentru scufundare în pământ - 4 cm;

● Consum de energie MAX - 50 mA;

● Tensiune de alimentare - până la 4 V.

Pompă cu tub pentru scufundare în apă Gestionarea se realizează cu ajutorul unui comutator. Lungimea cablului ajunge la 2 metri.
Tasta de pornire Proiectat pentru a realiza și întrerupe un circuit electric. Dacă utilizați dispozitivul atunci când proiectați irigarea automată Arduino, nu este necesară o lipire suplimentară. Conexiunea la panoul principal se realizează și prin 3 fire.
Cablu de conectare - „tată-tată” Mai multe fire conectează periferice.
Cablu de conectare - „mamă-tată” Cablajul conectează și dispozitivele periferice.
floare de interior Sistemul este potrivit pentru diferite tipuri de plante de interior.

Diagrama de conectare și algoritmul de lucru în proiectul „Autowatering” bazat pe micro Arduino

Mai jos este algoritmul și diagrama de conectare a proiectului pe platforma arduino. Udarea automată este construită după cum urmează:

  1. Asezam placa pentru senzor pe microcontroler.
  2. Conectăm analizorul de umiditate folosind placa descrisă mai sus la un pin similar - A0.
  3. Conectați senzorul la microcontroler:
    1. Pinul CS este conectat la pinul #9 de pe placă.
    2. Pinii de afișare SPI se conectează la antetul corespunzător de pe aceeași placă.
  4. Tasta de pornire este introdusă în pinul numărul 4.
  5. Aducem comutatorul la tasta de pornire din conectori, notat cu literele p+, p-.
  6. Acum conectăm pompa de apă cu tubul folosind blocul terminal la contactele cu literele l+ și l-. Treptat, se va construi o schemă în fața persoanei care proiectează.
  7. Lipim un panou tactil care analizează umiditatea într-un ghiveci de flori.
  8. Introducem capătul tubului cu apă în sol. Dacă greutatea plantei împreună cu ghiveciul nu depășește 2 kg, fixăm furtunul separat. În caz contrar, picătura de apă poate răsturna floarea.
  9. Coborâm pompa de apă într-o sticlă plină cu apă.
  10. Conectăm structura la sursa electrică.

Mai jos vă oferim două scheme alternative pentru dispozitivul nostru:

Senzorul analizează starea de umiditate determinând aciditatea pământului. Înainte de a introduce irigatorul în sistem, este necesar să testați și să calibrați echipamentul:

  1. Notăm informațiile afișate pe afișaj. În acest caz, senzorul este blocat într-un vas uscat. Aceasta se numește umiditate minimă.
  2. Udăm solul cu planta. Așteptăm ca apa să înmuie complet solul. Apoi citirile de pe ecranul tactil vor afișa un nivel. Trebuie să notați informațiile pe care le primiți. Aceasta înseamnă umiditate maximă.
  3. Într-un caiet fixăm constantele HUM_MIN și HUM_MAX cu valoarea care a fost obținută în urma calibrării. Scriem valorile în program, pe care apoi le transferăm la microcontroler.

Designul udării automate pentru o floare este descris mai sus. Cu toate acestea, pentru iubitorii de plante de interior, casa este mobilată cu ghivece cu flori. Pe de o parte, o astfel de întrebare pare complicată: este necesar să conectați mai multe pompe și analizoare de umiditate a solului. Dar există o soluție mai ieftină și mai simplă pentru proiectarea udării automate.

In furtunul de la pompa se fac gauri de 25 cm cu o punte. Bucăți de tije de pixuri sunt înfipte în găurile rezultate. Rezultatul este:

  • ghivecele sunt aliniate pe pervaz;
  • tubul este instalat pe ghiveciul de flori, astfel încât apa din fiecare gaură să curgă într-un ghiveci separat;
  • voilà: invenția udă toate plantele în același timp.

Utilizatorul alege în mod independent timpul pentru udare, dar numai pentru o floare. Adesea, florile sunt aceleași ca greutate și dimensiune. Prin urmare, solul din ghivece se usucă în același timp. Pentru aceasta, a fost inventată o metodă combinată: numărul de oale este împărțit în grupuri de greutate și dimensiune egale.

Exemplu de cod pentru Arduino pentru proiectul „Autowatering”

Să trecem la programarea codurilor:

//Descărcați biblioteca pentru afișaj și conectați-o la programul #include "QuadDisplay2.h"; //Creați o constantă care indică pinul la care este conectată pompa de apă //definiți VODPOMPA_PIN 4; // Creați o constantă care denotă pinul la care a fost conectat analizatorul de umiditate a solului #define HUM_PIN A0; //Min după umiditate #define HUM_MIN 200; // Umiditate maximă #define HUM_MAX 700; //Timp între verificări de udare #define INTER 60000 * 3; //Declară o variabilă care va stoca valoarea umidității unsigned int hum = 0; //Vom stoca intervalul de timp în această variabilă unsigned long Time = 0; // Declarați un obiect din clasa QuadDisplay, apoi treceți plăcuța de înmatriculare //a contactului CS QuadDisplay display(9); //Creați o metodă responsabilă pentru funcționarea afișajului void setup(void) ( //Porniți metoda begin(); //Declarați o funcție care va fi responsabilă pentru ieșirea pompei de apă din //contact pinMode( VODPOMPA_PIN, OUTPUT); //Pe afișaj se aprinde numărul - 0 displayInt(0); ) //Creează o metodă responsabilă pentru indicatorul curent de umiditate void loop(void) ( //Calculează indicatorul de umiditate curent int humNow = analogRead(HUM_PIN); // Dacă indicatorul de valoare nu este egal cu cel anterior, atunci... if(humNow != hum) ( //Salvează valoarea primită acum hum= humNow; //Afișează valoarea pe ecran displayInt(humNow); ) //Setați condițiile: dacă perioada de timp specificată de utilizator a trecut și //starea umidității solului este mai mică decât este necesar, atunci... dacă ((Timp == 0 || millis()) - Ora > INTER) && hum< HUM_MIN) { // Даем сигнал о начале работы водяной помпы digitalWrite(VODPOMPA_PIN, HIGH); //Объявляем потом, длящийся 2 секунды delay(2000); // Завершаем работу помпы digitalWrite(POMP_PIN, LOW); // Ставим в значение переменной Time текущее время и добавляем 3 минуты Time = millis(); } }

În plus, puteți viziona câteva videoclipuri interesante de la colegii noștri.

Astăzi, diferite sisteme de irigare sunt folosite pentru a facilita îngrijirea plantelor, ele fac posibilă controlul cantității de apă pentru fiecare tip de plantă, utilizarea irigației prin picurare sau aspersoare. Se economisește apa, se creează cele mai favorabile condiții de dezvoltare pentru plante. Singurul dezavantaj al unor astfel de sisteme este necesitatea unei monitorizări constante, pornirea/oprirea se face manual. Aceasta este o sarcină destul de neplăcută, durata udării, în funcție de tipul de plante, condițiile climatice și sistemul specific, poate fi de până la două ore. Pentru a rezolva această problemă, ar trebui să instalați un cronometru de udare pentru sistemele gravitaționale.

În primul rând, trebuie să explicați conceptul de „sisteme care curge gravitaționale”, altfel în unele surse puteți găsi explicații amuzante ale principiilor funcționării lor și o neînțelegere completă a hidrodinamicii.

Sisteme automate de udare a gradinii - schema

Există cunoscători care susțin că cronometrele de irigare pentru sistemele gravitaționale sunt atât de bune încât pot funcționa cu presiunea apei de la 0 la 6 atmosfere. Vor lucra la presiune zero, dar nimic nu va fi udat. Gravitația nu este un concept fizic, ci unul pur domestic. Și înseamnă nu absența presiunii, ci absența pompelor de apă care funcționează permanent. În sistemele gravitaționale, pompa furnizează apă doar rezervorului de stocare, care este situat la o anumită distanță de sol. Datorită diferenței de înălțime dintre nivelul superior al apei și locul de ieșire a acesteia se creează presiune, această presiune este cea care face să se miște fluxul de apă.

De ce sunt folosite cronometrele în majoritatea cazurilor pentru sistemele gravitaționale? Deoarece nu pot lucra la presiuni mari, supapele lor de închidere sunt prea fragile și mecanismul lor de antrenare este slab. Pentru majoritatea dispozitivelor, presiunea maximă a apei nu poate depăși 0,5 atm. Pentru o astfel de presiune, recipientul de apă trebuie să fie la o distanță de cinci metri de sol. În marea majoritate a sistemelor de irigare, rezervoarele de stocare sunt situate mult mai jos.

Tipuri de cronometre

În prezent, sunt disponibile trei tipuri de cronometre:

  • mecanic. Cel mai simplu, se referă la sistemele de control semi-automate. Pornirea se efectuează manual, se opresc automat după o perioadă de timp specificată (până la 120 de minute). Nu necesită alimentare, supapa de închidere este acţionată cu arc. Avantajele sunt costul redus și fiabilitatea ridicată. Dezavantaje - este imposibil să faci fără prezența oamenilor în timpul pornirii;

  • electronic cu control mecanic. Modurile de udare sunt complet automatizate, programul de udare poate fi ajustat pentru o perioadă de șapte zile, durata de udare de până la 120 de minute. Avantaje - cost relativ scăzut, ușurință în programare și management. Dezavantaje - incapacitatea de a conecta echipamente suplimentare;

  • electronic cu control program. Cele mai moderne dispozitive au capacitatea de a seta până la 16 funcții speciale. Dezavantaje - cost ridicat. În plus, poate fi dificil pentru utilizatorii neinstruiți să instaleze programe.

Cronometrele mecanice sunt rareori folosite, cel mai adesea sistemele de irigare sunt controlate de un singur tip de dispozitiv electronic. Alimentarea cu apă este reglată de o supapă solenoid (electromagnetică) sau o supapă cu bilă.

Temporizator de udare pentru 2 linii, mecanic „Expert Garden”

  1. Valva selenoida. La un anumit moment, bobina electromagnetică este furnizată cu energie, sub influența unui câmp electromagnetic, miezul este atras în solenoid și blochează fluxul de apă. Dacă alimentarea este întreruptă, atunci miezul este împins în sus de arc și lumenul conductei se deschide. În temporizatoare, principiul de funcționare poate fi inversat - fără tensiune, supapa se închide cu un arc, iar când apare un câmp magnetic puternic, se deschide. Datorită acestui principiu de funcționare, bateria este economisită. Este posibil să se distingă funcționarea electrovalvei printr-un clic caracteristic în timpul deschiderii / închiderii.
  2. Supapă cu bilă. Deschiderea/închiderea este realizată de o cutie de viteze, care este antrenată de un motor electric. Pentru a economisi încărcătura, este, de asemenea, constant în poziția închis, se deschide numai pentru perioada în care sistemul este pornit pentru irigare. În timpul funcționării temporizatorului cu o supapă cu bilă, se aude un scurt zgomot de funcționare a motorului electric și a cutiei de viteze.

Important. De îndată ce există riscuri de îngheț, cronometrul trebuie oprit. De ce? În timpul pornirii, în înfășurările statorului apar curenți mari, de îndată ce rotorul începe să se rotească, puterea curentului scade în modurile de funcționare. În timpul înghețurilor, supapa cu bilă poate îngheța puțin, puterea motorului electric nu este suficientă pentru a-l rupe. Aceasta înseamnă că curenții de pornire vor curge prin înfășurări pentru o lungă perioadă de timp, ceea ce va duce inevitabil la supraîncălzirea și scurtcircuitul acestora. Și cutia de viteze în sine nu este proiectată pentru eforturi semnificative; angrenajele de antrenare se pot defecta. Astfel de defecțiuni necesită reparații complexe sau o înlocuire completă a dispozitivului.

Temporizatoare electronice cu control mecanic (tip comutator)

Dispozitive foarte ușor de operat, fiabile și durabile. Pentru a selecta modurile de funcționare ale sistemului de irigare, procedați în felul următor:

  • deșurubați capacul superior din plastic transparent. Trebuie să lucrați cu atenție, nu pierdeți garnitura de etanșare, aceasta poate cădea;
  • utilizați comutatorul basculant din stânga pentru a seta frecvența de pornire a sistemului, perioada maximă este de 72 de ore;
  • utilizați comutatorul de comutare din dreapta pentru a seta o anumită durată de udare, maximum 120 de minute.

Important. Numărătoarea inversă inițială a dispozitivului electronic începe din momentul în care cronometrul este pornit. Aceasta înseamnă că, dacă, de exemplu, doriți ca udarea să pornească periodic la cinci dimineața, atunci prima setare a temporizatorului trebuie făcută în același timp. În viitor, timpul de pornire a sistemului de irigare nu se va schimba.

Producătorii, cu cronometru, vând un set complet de fitinguri pentru conectarea țevilor din plastic sau a furtunurilor flexibile de diferite diametre. Cronometrul este alimentat de două baterii AAA de 1,5 V.

Temporizator de udare - fotografie

Temporizatoare electronice cu control program

Dispozitivele mai moderne au caracteristici semnificativ avansate. Pachetul include adaptoare pentru conectarea conductelor și furtunuri flexibile de diferite diametre. Setarea controlului programului se face astfel:

  • scoateți capacul din plastic. Este destul de strâns răsucit la fabrică, va trebui să depui eforturi considerabile;
  • apăsați butonul Time, parametrii de instalare a programului vor apărea pe afișajul electronic. Setați ora și ziua curentă a săptămânii, acțiunea trebuie confirmată prin apăsarea butonului Set;
  • mergeți pe rând la fiecare zi a săptămânii, selectați ora și durata cronometrului electronic. Acești parametri vor fi salvați pentru întreaga perioadă de utilizare;
  • dacă se dorește, pe dispozitiv pot fi configurate până la 16 programe diferite. Pentru a face acest lucru, apăsați butonul Prog și apoi configurați numărul necesar de programe. Toate datele introduse trebuie confirmate prin apăsarea butonului Set.

În interiorul dispozitivului este instalat un condensator destul de încăpător. Este conceput pentru a semnala o descărcare critică a bateriei și pentru a comuta temporizatorul în modul autoalimentat. Când bateriile sunt descărcate, pe afișaj va apărea un semnal de avertizare. Din momentul introducerii, bateriile mai pot funcționa 2-3 zile, în funcție de frecvența și durata sistemului de irigare.

Într-un mod complet autonom, condensatorul poate asigura funcționarea cronometrului timp de 3-4 zile. Dacă bateriile nu sunt înlocuite în acest interval de timp, temporizatorul se va opri. După aceea, toate modurile de irigare setate anterior vor fi șterse din memorie, va trebui să repetați pașii de instalare încă de la început.

În modul de așteptare, temporizatorul consumă nu mai mult de 1,2 mA; în timpul funcționării, consumul de curent crește la 350 mA. Acestea sunt valori foarte mici care permit dispozitivului să funcționeze numai cu baterii pentru cel puțin un sezon. Producătorii au lăsat în mod intenționat de această dată, în timpul inspecției anuale de rutină a sistemului de irigare înainte de a începe, se recomandă instalarea de baterii noi.

Există modele de cronometre concepute pentru a funcționa pe sisteme mari și complexe de irigare. Au mai multe supape, ceea ce vă permite să controlați modurile de udare a mai multor zone separate, fiecare dintre ele având propriii parametri. Dispozitivele cu mai multe supape pot fi alimentate la 220V sau pot avea până la opt baterii AAA de 1,5V.

Ce date trebuie luate în considerare la configurarea senzorilor

Condițiile pentru cultivarea plantelor depind în mare măsură de setarea corectă a programului cronometru. Ce ar trebui luat în considerare?

Împărțirea zonei de irigare în zone separate, ținând cont de tipurile de culturi. Fiecare dintre ele are propriile cerințe, în unele cazuri va trebui să cumpărați cronometre cu mai multe supape.

Calcul hidraulic pentru consum maxim de apă. Funcționarea temporizatoarelor trebuie să țină cont de capacitatea totală a unităților. Dacă nu există pompare automată, atunci trebuie să controlați independent prezența apei și, dacă este necesar, să umpleți recipientele.

Analiza trasării sistemelor de irigare pozatoare. O diferență mare de înălțime a liniilor individuale de irigare poate avea un impact semnificativ asupra productivității acestora. La instalare, trebuie să aveți în vedere nu numai timpul de udare, ci și cantitatea de apă care este furnizată plantelor în acest timp.

După finalizarea instalării temporizatorului, se recomandă verificarea funcționalității sistemului. Pentru aceasta, se stabilesc perioade minime de comutare și se verifică funcționarea corectă a actuatoarelor supapelor. Dacă temporizatorul funcționează normal, atunci puteți începe programarea specifică și puteți pune sistemul în modul automat de funcționare.

Procesul de instalare a programului de cronometru va fi mult mai ușor dacă sunt achiziționați senzori suplimentari cu acesta.

Caracteristici suplimentare ale cronometrelor

Temporizatoarele electronice pentru udare cu senzori pot îndeplini mai multe funcții suplimentare, ceea ce simplifică și mai mult procesul de cultivare a culturilor în sere sau în aer liber.

  1. Senzor de ploaie. Un astfel de echipament este utilizat în timpul instalării irigațiilor în zone deschise. Senzorul de ploaie trimite un semnal către dispozitivul electronic despre prezența precipitațiilor naturale. Cronometrul reacționează la aceste semnale și omite o udare care coincide cu perioada ploioasă. Senzorul este reglat în intervalul de precipitații de la 3 mm la 25 mm. Această gamă largă permite un control mai precis al ratelor de udare în funcție de condițiile meteorologice. Prezența funcției de retragere accelerată vă permite să opriți udarea după începerea ploii în cel mai scurt timp posibil, dispozitivele nu necesită întreținere suplimentară. În funcție de reglarea inelului de ventilație, este setată o întârziere pentru revenirea cabanei în modul de așteptare. Timpul de revenire la poziția de pornire depinde direct de umiditate și temperatura ambiantă. Acest lucru permite economii semnificative de apă.
  2. Pompă diafragmatică. Se poate monta impreuna cu un cronometru sau intr-o carcasa separata, monitorizeaza nivelul apei din rezervoarele de stocare. Când cantitatea de apă scade sub un nivel critic, pompa pornește automat pentru a reumple proviziile. După umplerea rezervoarelor, pompa este oprită.
  3. Senzor de umiditate a solului cu canal radio. Cel mai modern dispozitiv, facilitează foarte mult îngrijirea plantelor. Se instalează în mai multe locuri în paturi, blochează comanda temporizatorului pentru udare în caz de umiditate ridicată a solului. Cele mai moderne dispozitive cresc randamentul culturilor cu cel puțin 10%.
  4. Filtru de purificare a apei. Efectuează purificarea apei de înaltă calitate, crește semnificativ timpul de funcționare al temporizatorului.

Dispozitive suplimentare de monitorizare și control pot fi achiziționate ca set cu un temporizator de udare sau separat.

Video - Temporizatoare de irigare pentru sisteme gravitaționale

Cunoscutul proverb „Nu este nimic nou sub soare” în cazul udării automate a plantelor funcționează sută la sută. Ei bine, de ce nu un garou de tifon care „udă” continuu planta, dacă un capăt este într-un borcan cu apă, iar celălalt este îngropat în pământ? Sau udarea complet super cu ajutorul unui sistem cu umplere electronică bună va efectua, de asemenea, de bunăvoie udarea automată a plantelor - poate face totul, va face totul, dar ... Nu, există critici - cablajul este ineficient, electronica mușcă la un preț - este scump, iar unitatea electronică nu poate fi reconfigurată - pentru fiecare nouă aplicație are nevoie de ea. Și așa ceva ar fi de dorit...


Din ce este făcută o mașină de udat automată?


Acesta este „cutare și cutare” pe care vom încerca să facem. Va fi ieftin, ușor de reconfigurat și eficient - nicăieri altundeva. Logica muncii sale (se spun, algoritmul) este următoarea: dacă pământul este uscat, mașina udă; dacă solul este umezit, udarea se oprește până când solul se usucă. Și cât să aștepți? Da, întrebarea nici nu merită. Criteriul corect ar fi „uscarea” solului. De îndată ce se usucă, îl udăm - la orice oră din zi sau din noapte...
Și acum să defalcăm udarea noastră automată a plantelor din punctul de vedere al dezvoltatorului unui udator „inteligent”:

  • mediu - condițiile apartamentului, un ghiveci de flori umplut cu pământ, care trebuie udat;
  • unitate de control - o placă de microcontroler, care este considerată cea mai acceptabilă conexiune a unui arduino;
  • obiect de control - un banc de apă, actuatorul - o pompă pentru pomparea apei;
  • elemente suplimentare ale sistemului automat de udare a plantelor:
    • „ochii” săi sunt senzori pentru uscarea solului și nivelul apei din borcan;
    • "mâini" - o pompă care va pompa apă în zona de irigare;
    • tehnologie pură - o cheie de comutare, de fapt un comutator de pompă și două LED-uri, verde și roșu, pentru a indica „apa este” și „apa este scăzută”.
Acesta este tot sistemul, care se numește udarea automată a plantelor, care te poate elibera de rutina grijilor zilnice.
S-ar părea că în loc de o cutie de apă, trebuie doar să vă conectați la o conductă de apă, dar tubulii din jurul apartamentului nu decorează cu adevărat camera, așa că sarcina de a uda automat plantele este rezolvată folosind un recipient autonom care trebuie să fi „umplut” cu apă. Și pentru ca un borcan cu apă să nu irită gusturile estetice, poate fi mascat cu un model decorativ, astfel încât să pară că este necesar.


Pompă care realizează udarea automată a plantelor


Pompă de apă

Pompa pentru pomparea apei - achizitionata. Poate fi luat de la o spălătorie de parbriz, imprimantă sau acvariu. Oricare dintre ei va face față cu ușurință sarcinii, dar este mai ușor de aplicat dintr-o mașină. Totul este simplu - am venit, am văzut, am cumpărat, dar înainte de a-l folosi, trebuie să selectați experimental tensiunea de alimentare, astfel încât jetul său să fie mai puțin ca un gheizer de casă. Se formează un jet de apă calmă la o tensiune de 8 V până la 9 V.
O întrebare mai dificilă este curentul de funcționare al motorului pompei. Pentru probe diferite, aceasta poate fi de 2-3 sau mai mulți amperi, iar sarcina de curent admisibilă pe ieșirea controlerului este mult mai mică - 10 - 20 mA. Prin urmare, este necesară creșterea capacității de comutare a unității de control. Pentru a face acest lucru, la ieșirea sa este conectat un tranzistor puternic, care, datorită conexiunii arduino, asigură că pompa este pornită. Să folosim un ansamblu de tranzistoare uln2003 (vezi diagrama), fiecare dintre care poate comuta un curent de 0,5 A. Dacă intrările și ieșirile sunt conectate în paralel, atunci curentul de sarcină admisibil va fi egal cu totalul, adică. 0,5 * N. Să facem asta.


Conectarea unui arduino - unitate de control


Schema schematică a dispozitivului pentru udarea automată a plantelor

Unitatea de control este un controler cu microprocesor Arduino cu o singură placă, care este proiectat pentru sarcini atât de simple. Tehnica de lucru cu acesta este simplă - depanează programul de pe computer și, după conectarea arduino, îl „reciclează” în procesor. Dacă trebuie schimbat ceva, atunci programul este refăcut pe computer și reinstalat în controler. Și, în același timp, nimic nu trebuie lipit, refăcut. Aceasta este exact ceea ce se numește „posibilitatea reconfigurarii”.
Următorul pas în conectarea arduino la un dispozitiv care îndeplinește direct funcțiile de udare automată a plantelor este conectarea firelor senzorilor și a firului de alimentare al pompei la controlerul însuși. În acest caz, cel mai bine este să folosiți o baterie pentru alimentarea cu energie - udarea funcționează pentru o perioadă foarte scurtă de timp - doar câteva secunde, iar „datoria” constantă a sursei de alimentare cu curent alternativ este nepractică.


Senzori - „ochii” mașinii


Senzor de umiditate pentru unghii

Senzorul de umiditate este cel mai bine realizat dintr-un material neoxidant, cum ar fi tijele de grafit. Dacă nu filosofați, atunci câteva cuie bătute într-o placă izolatoare se transformă într-un astfel de senzor în câteva secunde (vezi figura), care folosește o conexiune arduino pentru a se face cunoscut sistemului automat de udare a plantelor și instalarea tijelor de grafit poate fi amânată pentru o perioadă „livrarea” sprinklerului nostru în funcționare permanentă.

Senzor de nivel al apei plutitoare

Senzorul de nivel al apei este ușor de implementat în același „stud” ca mai sus, dar vom face altul - un plutitor (vezi figura). Este ușor de asamblat din tubul 4, care este fixat pe borcan, iar tija 3 poate fi deplasată cu ușurință de-a lungul acestuia. De partea inferioară a tijei este atașat un plutitor 2, iar în partea superioară este amplasat un jumper 6. La capătul superior al tubului se află o placă dielectrică cu doi pini 5 fire de la care merg pentru a conecta arduino.
Principiul senzorului este la fel de simplu ca lumea: dacă este multă apă, plutitorul 2 ridică tija 3, placa de închidere se ridică și contactele 5 se deschid. Când nivelul apei scade până la marcaj și mai jos, plutitorul scade și placa 6 închide contactele 5.


Algoritmul dispozitivului de control


Algoritm de control

Cel mai important lucru la proiectarea unităților de control pe microprocesoare este construirea corectă a unui algoritm de operare. La urma urmei, o descriere detaliată a operațiunii într-un limbaj special de program a tuturor nodurilor care au un arduino conectat determină ordinea interogării și analizării semnalelor de intrare. În plus, pentru a efectua anumite acțiuni stabilite de dezvoltator (și asta suntem doar tu și eu), controlerul trebuie să țină cont de intervalele de timp ale actuatoarelor. Și asta am primit (vezi poza). Să luăm în considerare pașii.
După conectarea arduino la funcționare, interoghează starea senzorului de nivel al apei și o reflectă cu LED-uri - aceasta este o alarmă pentru noi. Următorul senzor - umiditatea - poate spune "dar solul este ud" și apoi unitatea de control ar trebui să revină la început - ciclul său de lucru s-a încheiat și așa mai departe - fără să se obosească de ciclu. De îndată ce solul s-a uscat, controlerul, datorită senzorului, va învăța despre el și va începe să își rezolve sarcina directă - udarea.
În primul rând, pompa va fi pornită, de exemplu, timp de 2 secunde. De ce nu trei, patru, cinci? Da, pentru că am determinat aceste 2 secunde experimental (și ar fi putut foarte bine să fie un alt număr - totul depinde de pompă). Criteriul este cantitatea de apă pompată. Ar trebui să fie suficient pentru udare pentru o anumită perioadă de timp - o oră sau două, poate o zi. 30 de secunde sunt alocate pentru umezirea solului după udare (după gustul dumneavoastră). Numai după ce ați terminat această perioadă de timp, controlerul va continua să lucreze în continuare, de exemplu. va începe un nou ciclu.
Noul ciclu sondajează din nou senzorul printr-o conexiune arduino, analizează informații etc.
Algoritmul de lucru poate fi complicat. De exemplu, va trebui să udați nu o oală, ci mai multe - nu puneți controlerul pe fiecare. Pentru a face acest lucru, trebuie să utilizați intrările / ieșirile sale gratuite unde să conectați senzorii și pompele de la fiecare oală, iar în algoritm să furnizați blocuri suplimentare pentru sondarea lor.
După compilarea algoritmului pentru funcționarea dispozitivului, un program este scris pe baza acestuia și programul este simulat pe un computer folosind depanare speciale care sunt întotdeauna disponibile pentru un anumit controler - în cazul nostru, acesta este un arduino. Programul depanat este scris pe procesorul arduino, pentru aceasta totul este deja acolo, trebuie doar să activați blocul de depanare corespunzător de pe computer.
O variantă a unui astfel de program este prezentată mai jos (puteți descărca textul programului din partea de jos a articolului, împreună cu desenele dispozitivului).


Cod program:


// constante
const int dw = 12; // Senzor de nivel al apei cu 12 pini
const int dg = 11; // Senzor de umiditate a solului cu 11 pini
const int pompe = 2; // Controlul pompei cu 2 pini
const int ledG = 3; // LED verde pe pinul 3
const int ledR = 4; // LED roșu pe 4 pini
// variabile
int dwS = 0; // starea senzorului de nivel al apei
int dgS = 0; // starea senzorului de umiditate a solului
//setări void setup() (
// declară LED-urile și pinii pompei ca ieșiri: pinMode(nasos, OUTPUT); pinMode(ledG, OUTPUT); pinMode(ledR, OUTPUT);
// declară pinii senzorului și pompei ca intrări: pinMode(dw, INPUT); pinMode(dg, INPUT);
}
// runtime void 1oop()(
// citește stările senzorului de nivel al lichidului dwS = digitalRead(dw);
// dacă este multă apă, porniți verde, în caz contrar roșu dacă (dwS == LOW) ( digitalWrite(ledG, HIGH); digitalWrite(ledR, LOW);
}
altfel(
digitalWrite(ledG, LOW); digitalWrite(ledR, HIGH);
}
// citește stările senzorului de umiditate a solului dgS = digitalRead(dg);
// dacă solul este uscat, porniți udarea dacă (dgS == LOW) ( digitalWrite(nasos, HIGH); delay(2000);
digitalWrite(pompe, LOW); întârziere (30000);
}
altfel(
digitalWrite(pompe, LOW);
}
}


Design mașină de udat


Și acum să ne ocupăm de plasarea nodurilor mașinii noastre. Senzorul de umiditate este amplasat în solul ghiveciului la o adâncime de 2-5 cm (selectat experimental). Tubul de alimentare cu apă se află lângă unul dintre electrozii săi. Cea mai simplă versiune a recipientului este un borcan de sticlă, iar senzorul de apă cu pompă este montat pe capacul acestuia din plastic, iar pompa poate fi plasată în interiorul borcanului.
Ascundem electronicele care efectuează udarea automată a plantelor - un controler, o sursă de alimentare, un cip cheie uln2003 și rezistențe într-o carcasă standard, care acum poate fi găsită la vânzare - pentru fiecare gust. Pe panoul frontal, instalăm LED-uri și un conector prin care arduino este conectat cu o pompă și senzori.
Așa poate apărea în casa noastră un alt asistent inteligent, care efectuează udarea automată a plantelor, care va monitoriza conținutul de umiditate al solului florilor noastre și nu va spune „da, știi, cumva m-am învăluit într-o rutină, am uitat." Și dacă asta s-a întâmplat, atunci un adevărat „de casă” se va uita cu atenție în jur, parcă cu întrebarea „ce să mai faci așa și cutare?”.

Ați dori ca plantele dvs. să vă spună când trebuie udate? Sau doar să vă țin la curent cu nivelul de umiditate a solului?

În acest articol, vom analiza un proiect de udare automată folosind un senzor de nivel de umiditate a solului:

Prezentare generală a senzorului de umiditate a solului

Astfel de senzori sunt conectați destul de simplu. Doi dintre cei trei conectori sunt alimentare (VCC) și masă (GND). Când utilizați senzorul, este recomandabil să vă deconectați periodic de la sursa de alimentare pentru a evita o posibilă oxidare. A treia ieșire este un semnal (sig), din care vom lua citiri. Două contacte ale senzorului funcționează pe principiul unui rezistor variabil - cu cât mai multă umiditate în sol, cu atât contactele conduc mai bine electricitatea, rezistența scade, semnalul pe contactul SIG crește. Valorile analogice pot varia în funcție de tensiunea de alimentare și rezoluția pinilor analogici ai microcontrolerului.

Pentru conectarea senzorului pot fi utilizate mai multe opțiuni. Conector prezentat în figura de mai jos:

A doua opțiune este mai flexibilă:

Și, desigur, puteți lipi direct contactele la senzor.

Dacă intenționați să utilizați senzorul în afara apartamentului, ar trebui să vă gândiți suplimentar la protejarea contactelor de murdărie și lumina directă a soarelui. Ar putea merita să luați în considerare carcasă sau aplicarea unui strat de protecție direct pe pinii și conductorii senzorului de umiditate (vezi figura de mai jos).

Senzor de umiditate a solului cu un strat de protecție pe contacte și conductori izolați pentru conectare:

Problemă de viață scurtă a senzorului de umiditate a solului

Unul dintre dezavantajele senzorilor de acest tip este fragilitatea elementelor lor sensibile. De exemplu, Sparkfun rezolvă această problemă folosind un strat suplimentar (Electroless Nickel Immersion Gold). A doua opțiune pentru prelungirea duratei de viață a senzorului este să-i aplicați energie direct atunci când luați citiri. Când utilizați Arduino, totul se limitează la aplicarea unui semnal HIGH pinului la care este conectat senzorul. Dacă doriți să alimentați senzorul cu mai multă tensiune decât oferă Arduino, puteți utiliza întotdeauna un tranzistor suplimentar.

Controlul umidității solului - Exemplu de proiect

Proiectul de mai jos folosește un senzor de nivel de umiditate, un analog al plăcii Arduino - RedBoard și un afișaj LCD care afișează date despre nivelul de umiditate a solului.

Senzor de umiditate a solului SparkFun:

Firul roșu (VCC) este conectat la 5V pe Arduino, cel negru este la masă (GND), cel verde este semnal către pinul analogic 0 (A0). Dacă utilizați un alt pin analogic pe Arduino, asigurați-vă că faceți modificările corespunzătoare schiței microcontrolerului de mai jos.

Afișajul LCD este conectat la 5V, masă și pinul digital 2 (puteți schimba și face modificări codului) pentru a comunica cu microcontrolerul prin protocolul de comunicare serial.

Este demn de remarcat faptul că, dacă doriți să prelungiți durata de viață a senzorului, puteți conecta puterea acestuia la un pin digital și îl puteți alimenta numai atunci când citiți date, apoi îl puteți opri. Dacă senzorul este alimentat în mod constant, elementele sale sensibile vor începe în curând să ruginească. Cu cât este mai multă umiditate în sol, cu atât va avea loc coroziunea mai rapidă. O altă opțiune este aplicarea tencuielii pe traductor. Ca rezultat, umiditatea va curge, dar coroziunea va încetini semnificativ.

Program pentru Arduino

Schița este destul de simplă. Pentru a transfera date pe ecranul LCD, trebuie să includeți biblioteca Software Serial. Dacă nu îl aveți, îl puteți descărca de aici: Arduino GitHub

Explicații suplimentare sunt oferite în comentariile la cod:

// Un exemplu de utilizare a unui senzor de umiditate a solului cu un afișaj LCD.

SoftwareSerial mySerial(3,2); // pin 2 = TX, pin 3 = RX (nu este folosit)

int pragUp = 400;

int thresholdDown = 250;

int sensorPin = A0;

String DisplayWords;

int sensorValue;

mySerial.write(254);

mySerial.write(128);

// afișaj clar:

mySerial.write(" ");

mySerial.write(" ");

// mutați cursorul la începutul primei rânduri a afișajului LCD:

mySerial.write(254);

mySerial.write(128);

// "Uscați, udați-l!"

mySerial.write(254);

mySerial.write(192);

mySerial.print(DisplayWords);

) else if (sensorValue >= thresholdUp)(

// mutați cursorul la începutul celei de-a doua rânduri a afișajului:

mySerial.write(254);

mySerial.write(192);

mySerial.print(DisplayWords);

// mutați cursorul la începutul celei de-a doua rânduri a afișajului:

mySerial.write(254);

mySerial.write(192);

mySerial.print(DisplayWords);

Programul folosește diferite valori minime și maxime. Ca urmare, valoarea medie poate caracteriza umiditatea în funcție de faptul că solul este umezit sau uscat. Dacă nu doriți să utilizați această valoare medie, se poate presupune că valorile maxime și minime sunt aceleași. Cu toate acestea, experimentele arată că abordarea propusă ne permite să caracterizăm mai precis procesele care au loc în sol. Nu există o valoare medie exactă precisă în condiții reale. Deci, vă puteți juca cu selecția intervalului. Dacă sunteți interesat de procesele care au loc în sol atunci când interacționați cu apa, citiți aici, de exemplu: Wiki. Procesele sunt destul de complexe și interesante.

În orice caz, trebuie să ajustați variabilele pentru propriile condiții: tipul de sol, nivelul necesar de umiditate. Așa că testați, experimentați până vă decideți asupra valorilor potrivite.

După organizarea citirii datelor de la senzorul de umiditate și afișarea acestora, proiectul poate fi dezvoltat în continuare prin organizarea unui sistem automat de irigare.

Senzor de nivel de umiditate ca parte a unui sistem automat de irigare bazat pe Arduino:

Pentru a automatiza irigarea, vom avea nevoie de piese suplimentare: poate scripete, roți dințate, un motor, un ambreiaj, tranzistori, rezistențe. Lista depinde de proiectul dvs. Ei bine, tot ce poate cădea sub braț în viața de zi cu zi. Un exemplu este prezentat mai detaliat mai jos:

Aceasta este una dintre numeroasele opțiuni pentru instalarea unui motor pentru un sistem automat de irigare. Roata poate fi instalată direct în apă. În acest caz, cu rotația sa rapidă, va fi furnizată apă plantei. În general, puteți arăta imaginație.

Diagrama de conectare a motorului de curent continuu () folosind exemplul unei copii a Arduino de la SparkFun este prezentată mai jos:

Mai jos este schița pentru Arduino (în esență aceeași cu cea de mai sus, cu un mic adaos pentru a controla motorul):

// Schița citește datele de la senzor și afișează nivelul de umiditate a solului

// dacă solul este uscat, motorul pornește

// Pentru a lucra cu afișajul, se folosește biblioteca software-serial

#include <SoftwareSerial.h>

// Conectați pinul de comunicare LCD serial RX la pinul digital 2 al Arduino

SoftwareSerial mySerial(3,2); // pin 2 = TX, pin 3 = RX (nefolosit)

// Controlați motorul cu pinul 9.

// Acest pin trebuie să accepte modularea PWM.

const int motorPin = 9;

// Aici setăm niște constante.

// Setarea constantelor depinde de condițiile de mediu în care este utilizat senzorul

int pragUp = 400;

int thresholdDown = 250;

// Configurați pinul A0 pe Arduino pentru a funcționa cu senzorul:

int sensorPin = A0;

pinMode(motorPin, OUTPUT); // setați pinul la care este conectat motorul ca ieșire

mySerial.begin(9600); // setați rata de transmisie la 9600 baud

întârziere (500); // așteptați încărcarea afișajului

// Aici declarăm un șir care stochează datele de afișat

// pe LCD. Valorile se vor schimba

// în funcție de nivelul de umiditate a solului

String DisplayWords;

// Variabila sensorValue stochează valoarea analogică a senzorului de la pinul A0

int sensorValue;

sensorValue = analogRead(sensorPin);

mySerial.write(128);

// afișaj clar:

mySerial.write(" ");

mySerial.write(" ");

// mutați cursorul la începutul primei rânduri a afișajului LCD: mySerial.write(254);

mySerial.write(128);

// scrierea informațiilor necesare pe afișaj:

mySerial.write("Nivelul apei: ");

mySerial.print(sensorValue); //Se utilizează .print în loc de .write pentru valori

// Acum vom verifica nivelul de umiditate față de constantele numerice pe care le-am setat anterior.

// Dacă valoarea este mai mică decât thresholdDown, afișați cuvintele:

// "Uscați, udați-l!"

// mutați cursorul la începutul celei de-a doua rânduri a afișajului:

mySerial.write(254);

mySerial.write(192);

DisplayWords = „Uscați, udați!”;

mySerial.print(DisplayWords);

// pornește motorul la turație mică (0 - oprire, 255 - turație maximă):

analogWrite(motorPin, 75);

// Dacă valoarea nu este mai mică decât thresholdDown, trebuie făcută o verificare, nu va exista

// este mai mare decât pragul nostru sus și, dacă da,

// afișează inscripția „Ud, lasă-l!”:

) else if (sensorValue >= thresholdUp)(

// mutați cursorul la începutul celei de-a doua rânduri a afișajului:

mySerial.write(254);

mySerial.write(192);

DisplayWords = „Ud, lasă-l!”;

mySerial.print(DisplayWords);

// opriți motorul (0 - oprire, 255 - turație maximă):

analogWrite(pin motor, 0);

// Dacă valoarea primită este între minim și maxim

// și pământul era umed, dar acum se usucă,

// afișează „Uscați, udați!” (adică când noi

// se apropie de thresholdDown). Dacă solul era uscat și acum

//udă rapid, afișează cuvintele „Ud, lasă-l!” (adică când noi

// apropie-te de thresholdUp):

// mutați cursorul la începutul celei de-a doua rânduri a afișajului:

mySerial.write(254);

mySerial.write(192);

mySerial.print(DisplayWords);

întârziere (500); // Întârziere de jumătate de secundă între citiri

Mult succes cu implementarea udarii automate pentru plantele tale!