Vasara yra laikas, kai daugelis linkę atostogauti užsienyje, o augalai kelia problemų, nes taip negali būti laistykite tas dienas, kai jūsų nėra namuose. Be to, sodo parduotuvėse paprastai parduodamas tam tikras gelis, leidžiantis drėkinti ir maitinti augalą maždaug mėnesį. Tačiau esant karščiui ar išvykus daugiau nei mėnesiui, jums reikės šiek tiek geresnės sistemos, kad grįžę jie būtų dar gyvi ir energingi.
Kad tai būtų įmanoma, egzistuojantis sprendimas yra įsigyti a automatinė drėkinimo sistema kurį galite programuoti arba jei esate kūrėjas ir jums patinka pasidaryti „pasidaryk pats“, tai galite padaryti patys naudodami „Arduino“. Jums reikalingas medžiagas, išskyrus „Arduino“ plokštę, lengva rasti ir gana pigiai, todėl jos nereikalauja per didelių išlaidų. Be to, kai kuriems elementams, pvz., Vandens rezervuarui ir pan., Galite naudoti perdirbtas medžiagas ...
Jei šiek tiek naršysite internete, rasite įvairūs tokio tipo projektai, bet bene įdomiausia yra sodas. Tuo būsiu įkvėptas šiam projektui, nes manau, kad kitos drėkinimo sistemos, naudojančios tik drėgmės jutiklius ir nieko kito, nėra tokios pilnos.
Ko tau reikia
Los medžiagų, reikalingų jūsų automatinei drėkinimo sistemai garsas:
- Nerasta jokių produktų., nors vertėtų ir kitų.
- Bandomoji Lenta arba PCB jei norite jį sulituoti ir padaryti nuolatinį.
- Temperatūros ir drėgmės jutiklis Nerasta jokių produktų.
- Kabeliai
- Jutiklis YL-69 drėgmė ant žemės su higrometru, kad įstrigtų į puodą (-us) ar dirvą.
- Minipumpas 3V panardinamas vanduo ir apytikslis 120 l / h srautas.
- Diodas 1N4007
- Bipolinis tranzistorius PN2222
- 3 rezistoriai: 1x 220 omų, 1x 1k, 1x Nerasta jokių produktų.
- Vandens rezervuaras, tai gali būti būgnas ar butelis, kurio talpa 5 ar daugiau litrų ir t.
- Vamzdis prijungti prie minipumpio ir nuvežti į gamyklą (-as)
Komo alternatyvios idėjos, Aš jums pasakyčiau, kad taip pat galite naudoti „Sonoff“ arba „WiFi“ modulį, kad jį suaktyvintumėte internetu, kad ir kur būtumėte, arba patobulintumėte jį taip pat pridedant automatinį vožtuvą prie čiaupo, kad užprogramuotumėte vandens bako užpildymą, kai jis ištuštėja. ir kt.
Kaip nustatyti automatinę laistymo sistemą
Surinkimas yra gana paprastas. Tu gali naudokite aukščiau pateiktą schemą, kad atliktumėte visas jungtis. Turėtumėte pastatyti sistemą šalia lango arba ten, kur yra augalas, kurį norite laistyti, ir du drėgmės jutiklio antgalius įkišti į augalo dirvą, šalia stiebo.
Automatinė laistymo sistema su „Arduino“ laistys, kai tik aptiks a aplinkos sąlygų serija. Pavyzdžiui, nustačius silpną šviesą ar tamsą, oro temperatūra yra konkreti, kurią sukonfigūruosime „Arduino IDE“ eskize, o drėgmė ant žemės yra maža. Tuo metu jis įjungė variklį, kad laistytų gamyklą.
Augalus patartina laistyti naktį, kai ne taip karšta, nes tai darant intensyviomis karštomis dienomis gali pakenkti daugiau nei naudai ...
Nepamirškite, kad privalote pristatykite mini siurblį po vandeniu cisternoje, kurią esate numatę laistyti, ir kurioje turėtų būti pakankamai pajėgumų toms dienoms, kai jūsų nėra. Ankstesnius bandymus galite atlikti norėdami sužinoti, kiek laiko tai trunka, ir turėtumėte palikti šiek tiek daugiau vandens, jei jis išgaruotų esant stipriai kaitrai ...
Savaime suprantama, kad vamzdelis turi būti pritvirtintas prie augalo, kad jis nejudėtų kartu su vėju, arba vanduo galėtų iškristi ir būti švaistomas. Ir manau, kad nereikėtų prisiminti, kad turite išlaikyti dabartinį „Arduino“ plokštės tiekimą, kad ji veiktų ...
programavimas
Dabar reikia parašyti reikalingas kodas „Arduino IDE“ kad būtų galima užprogramuoti mikrovaldiklį, kuris valdo jūsų naudojamą aparatūrą. Šiuo metu tinkamas temperatūros, drėgmės ir šviesos vertes reikia pritaikyti prie jūsų vietovės vandens, nes tai gali skirtis priklausomai nuo jūsų vietos. Bet pavyzdys, kurį galite naudoti kaip pagrindą, yra (aš palikau komentarų, kur galėtumėte modifikuoti reikšmes, likusius galite palikti taip):
Atsisiųskite kodą iš kodas-drėkinimas-autolaistymo mašina jūsų sodui
#include <SimpleDHT.h> #include <SPI.h> #define humidity_sensor_pin A0 #define ldr_pin A5 //Bibliotecas para los módulos sensores usados necesarias //Y definición de variables para los sensores de humedad y LDR en los pines A0 y A5 int pinDHT11 = 2; SimpleDHT11 dht11; int ldr_value = 0; int water_pump_pin = 3; int water_pump_speed = 255; //Aquí puedes dar valores desde 0 a 255 para la velocidad a la que trabajará la minibomba //Haz pruebas previas del caudal y configura la. Yo he //elegido 255 pero ustedes pueden elegir la que estimen conveniente. A más velocidad, mayor //bombeo de agua void setup() { Serial.begin(9600); } void loop() { // Mide la temperatura y humedad relativa y muestra resultado Serial.println(“***”); Serial.println(“Muestra DHT11…”); byte temperature = 0; byte humidity_in_air = 0; byte data[40] = {0}; if (dht11.read(pinDHT11, &temperature, &humidity_in_air, data)) { Serial.print(“Lectura del sensor DHT11 fallida”); return; } Serial.print(“Muestra RAW Bits: “); for (int i = 0; i < 40; i++) { Serial.print((int)data[i]); if (i > 0 && ((i + 1) % 4) == 0) { Serial.print(‘ ‘); } } Serial.println(“”); Serial.print(“Muestra OK: “); Serial.print(“Temperatura: “);Serial.print((int)temperature); Serial.print(” *C, “); Serial.print(“Humedad relativa en aire: “);Serial.print((int)humidity_in_air); Serial.println(” %”); int ground_humidity_value = map(analogRead(humidity_sensor_pin), 0, 1023, 100, 0); Serial.print(“Humedad en suelo: “); Serial.print(ground_humidity_value); Serial.println(“%”); int ldr_value = map(analogRead(ldr_pin), 1023, 0, 100, 0); Serial.print(“Luz: “); Serial.print(ldr_value); Serial.println(“%”); Serial.println(“***”); //** // Condiciones de riego // Si la humedad en el suelo es igual o inferior al 60%, si la luminosidad es inferior al 30%, // Si la temperatura es inferior al 35%, entonces el sistema de riego riega. // En caso de que no se cumpla alguno o ninguno de los 3 requisitos anteriores, // el sistema de riego no riega //** //Aquí puedes variar los parámetros que necesites de 60, 35 y 30, e incluso usar otros operandos <>=... if( ground_humidity_value <= 60 && ldr_value<30 && temperature<35) { digitalWrite(water_pump_pin, HIGH); Serial.println(“Irrigación”); analogWrite(water_pump_pin, water_pump_speed); } else{ digitalWrite(water_pump_pin, LOW); Serial.println(“Riego detenido”); } delay (2000); // Ejecuta el código cada 2000 milisegundos, es decir, 2 segundos. Puedes variar la frecuencia de muestreo }
Daugiau informacijos - „Arduino“ programavimo kursai (nemokamas PDF)
šaltiniai
Daugiau informacijos - sodas
KODĖL IŠĖJUU išėjimo būsenos 1
#include tikisi, kad „FILENAME“ arba ESO APKRAUTA
Sveiki,
Ši klaida atsirado dėl kodo sintaksės problemos. Aš tai išgyvenau ir turėjau klaidą. Dabar tai turėtų būti gerai.
Pasveikinimas!
Sveiki, labas popiet, aš taip pat turiu tą pačią problemą:
project: 3:10: error: #include tikisi „FILENAME“ arba
#include <SimpleDHT.h>
^
project: 4:10: error: #include tikisi „FILENAME“ arba
#įtraukti <SPI.h>
^
išėjimo būsena 1
#include tikisi „FILENAME“ arba
Sveiki, atleiskite, ar galėtumėte padėti su klaida, įvykusia kode
Taip pat man pateikiama kodo klaida, ar galėtumėte man padėti išspręsti šią problemą
Sveiki,
Palikite informacijos apie turimą klaidą, kad galėčiau padėti. Jei nežinau klaidos turinio, man sunku jums padėti ar rasti problemos vietą ...
Sveikinimas
Sveiki, pasirodo ši klaida, kaip aš galiu ją išspręsti?
klaida: SimpleDHT.h: Nėra tokio failo ar katalogo
#include
^ ~~~~~~~~~~~~
kompiliacija nutraukta.
išėjimo būsena 1
SimpleDHT.h: Nėra tokio failo ar katalogo
Sveika Samanta,
Ši klaida yra dėl to, kad „Arduino IDE“ neatranda bibliotekos „SimpleDHT.h“. Ar tinkamai įdiegėte? Jei turite, pabandykite naudoti naujesnę „Arduino IDE“ versiją, jei ji senesnė ...
Daugiau informacijos galite pamatyti čia:
https://www.arduino.cc/en/Guide/Libraries
Biblioteką gaukite čia:
https://github.com/adafruit/DHT-sensor-library
Pasveikinimas!
Pirmiausia dėkoju už įrašą, kuris yra labai įdomus ir labai pagrįstas, bet aš tai perskaičiau:
"Patartina augalus laistyti naktį, kai mažiau karšta, nes tai darant intensyviomis karštomis dienomis gali pakenkti daugiau nei naudai ..."
Aš girdėjau tai daug kartų, bet norėčiau, kad kas nors man aiškiai paaiškintų, kaip jiems skauda ... Augalus auginu daugiau nei 20 metų, o kai labai karšta, jie nieko vertina labiau nei gerą laistymą ir galimybę pabūti su purkštuvu, drėkinančiu lapus.
Tai mitas, kad viskas, ką daro, yra tai, kad augalai kenčia ... Ar būdami karšti ir ištroškę, laukiate iki nakties, kol išgersite? ...
ačiū už įrašą !!!
Sveiki, Pepe,
Dėkojame už jūsų indėlį. Aš gyvenu kaime ir kartais, kai labai intensyvi šiluma, laistant augalus karštomis valandomis galima juos nužudyti. Aš pats tai patikrinau (be to, tai nėra tas pats, atsižvelgiant į geografinę vietovę, kurioje esate, mano krašte labai karšta). Tai gali būti dėl kelių priežasčių:
1 - Kadangi vandens lašai ant lapų veikia kaip stiklas, degina juos saulės šviesa, kaip tai padarytų padidinamasis stiklas.
2 - augalai turi stomatų, kurie uždaromi, kad neišsausėtų, kai saulėta. Jei laistysite juos, jie atsidarys ir gali sukelti jų dehidraciją.
3-Jei jie yra plastikiniame puode, poveikis gali būti dar blogesnis.
Pasveikinimas!
SVEIKI!!
Man labai patiko parengtas projektas, aš turiu savo sodą ir aš išbandau šį projektą kaip asmeninę patirtį, negaudamas pelningos naudos, aš tiesiog norėjau jūsų paklausti, ar jūs man padėtumėte su kodu, nes tai suteikia man klaidą , Aš turiu DHT biblioteką, bet tikrindamas ją, kodo gale išmeta klaidą: {Serial.println ("Laistymas sustabdytas");} ir sako, kad tai: klajojantis '\ 342' programoje.
Aš turiu labai mažai žinių apie šį klausimą, aš jį ištyriau ir man nepavyko to išspręsti.
Būčiau dėkingas, jei padėtumėte man. Ačiū 😀
Sveiki,
Ar kodas teisingas? Tai yra, jis neturi rašybos klaidų?
Kita vertus, galite daugiau sužinoti apie šią klaidą čia:
https://forum.arduino.cc/index.php?topic=386225.0
Sveikinimas
Sveiki Labas popietes, atsiprašau, aš nežinau, ar yra būdas susisiekti su jumis, tai yra tai, kad man kyla daug klaidų su šiuo kodu arduino
Sveiki visi,
Išvaliau kodą ir jį parašiau dar kartą, norėdamas sužinoti, ar internete dėl kokių nors priežasčių buvo klaida. Kad jį būtų galima atsisiųsti, palikau naują kodą atsisiuntimo nuorodoje prieš pat kodą, kuris pasirodo internete. Spustelėję galite jį atsisiųsti teksto formatu. Tikiuosi, kad daugiau problemų nebus.
Pasveikinimas!
Kaip galiu pridėti „wifi“ modulį? ir ar būtų įmanoma tai kontroliuoti pateikiant paraišką?
Kaip maistas taip pat yra: c?
Sveiki, Chaqui! Aš bandau daryti tą patį kaip jūs, gal galėtumėte man padėti, jei baigtumėte savo kodą ????
Klausimas, kuris komponentas būtų tarp „Arduino“ plokštės ir DHT11 jutiklio?
Labai ačiū !!
Sveiki Nerea,
Turite omenyje diodą ir rezistorių? Atkreipkite dėmesį, kad skyriuje prieš diagramą yra visų komponentų sąrašas ...
Pasveikinimas!
Sveiki, turite vaizdo įrašą apie tai, kokia buvo jūsų drėkinimo sistema.?
atleisk man tik dirba arduino uno arba taip pat ir arduino mega
Labas rytas, atsiprašau, norėjau užduoti klausimą, kodėl atidarius „Arduino ide“ monitorių gaunu nesėkmingą dht11 jutiklio nuskaitymą?
Visa programa buvo gerai sukompiliuota ir gerai įkrauta. Detaliau, kai atidarau monitorių ir atsiranda ta legenda.
Kas tai gali būti?
LABAS DRAUGAS DIDELIS DARBAS, BET KLAIDA ŠIOJE DALYJE Nėra tokio failo ar katalogo
#include
KAS TAI BŪS? Būčiau dėkingas už jūsų pagalbą
LABAS, TAI VISUOMENĖ, BET NETURI BŪTI, TIKRAI NORIU AČIŪ ASMENUI ARBA ŽMONĖMS, DALYVAVUSIEMS ŠIO PROJEKTO PLĖTROJE, GALIMA DAUG GALUTI, KAD TU NETIESA, BET JŪS GYVENOTE GERAI, AČIŪ AČIŪ MOKYKLA, KURIAI NENORIU NEPRIKLAUSYTI, IR TIESOS, KURIŲ NESIGINDAU, IŠMOKĖJU, AČIŪ UŽ JŪSŲ PUSLAPĮ, PALANKIU JUMS GERIAUSIA.
Kaip galiu pridėti „wifi“ modulį? ir ar būtų įmanoma tai kontroliuoti pateikiant paraišką?
#include „DHT.h“
DHT dht (2, DHT11);
int vertėLDR;
int pinLDR = A5;
int variklis = 8;
// ———————————————————————————————————————————————-
negaliojanti sąranka ()
{
Serijos pradžia (9600);
reikšmėLDR = 0;
Serijos pradžia (9600);
Serial.println („LAISTYMO SISTEMOS TESTAS“);
dht.prasideda ();
pinMode (variklis, išvestis);
Serial.println ("Drėgmės jutiklio vertė");
}
// ———————————————————————————————————————————————-
tuščia kilpa ()
{
Serial.println («============================================== ========================= »);
int drėgnumas = analogRead (A0);
Serial.print („Skaityti:“);
Serial.println (drėgmė);
jei (drėgmė> = 0 ir drėgmė> = 1000) {
Serial.println („Jutiklis sausame dirvožemyje“);
} else if (drėgmė> 500 ir drėgmė <= 1000) {
Serial.println („jutiklis drėgnoje dirvoje“);
} else if (drėgmė <= 500) {
Serial.println („Jutiklis vandenyje“);
}
reikšmėLDR = analogRead (pinLDR);
Serial.print ("LIGHT (");
Serial.print (reikšmėLDR);
Serial.println (")");
vėlavimas (2000);
plūdė h = dht.readHumidity ();
plūdė t = dht.readTemperature ();
jei (isnan (h) || isnan (t)) {
Serial.println ("Nepavyko perskaityti DHT11 jutiklio!");
grįžti;
}
Serial.print ("Drėgmė:");
Serijinis spaudinys (h);
Serijinis.atspausdinti ("%");
Serial.print („Temperatūra:“);
Serijinis spaudinys (t);
Serial.println ("* C");
jei (h <= 50 && LDRvalue <70 && t = 1000) {
„digitalWrite“ (VARIKLIS, AUKŠTAS);
Serial.println („Turi laistyti“);
}
Kitas {
„digitalWrite“ (MOTOR, LOW);
Serial.println ("neturėtų laistyti");
}
vėlavimas (1000);
}
Aš naudojau tik
- 2 kaiščio temperatūros ir drėgmės DTH
- LDR fotorezistas ant kaiščio A5
variklis ant 8 kaiščio
dirvožemio drėgmės jutiklis ant kaiščio A0
tikiuosi, kad tai yra mano kodas ir jis tinka jums
- drėgmės jutiklis dirvožemiui
Labas rytas, man kyla problemų su kodu, tai suprantu ir naudoju naujausią programinę įrangą:
sketch_nov12c: 1: 10: lemtinga klaida: SimpleDHT.h: Nėra tokio failo ar katalogo
#include
^ ~~~~~~~~~~~~
kompiliacija nutraukta.
išėjimo būsena 1
SimpleDHT.h: Nėra tokio failo ar katalogo
Norėčiau, kad padėtumėte man, kaip tai išspręsti, prašau, nes aš tai dar nepažinojau, aš nežinau, kaip tai veikia labai gerai. Ačiū.
Sveiki, ar galėtumėte palikti geresnį vaizdą, kaip prijungta grandinė? Tai nėra gerai vertinama, su kokia maitinimo įtampa maitinama? Dėkoju
#include „DHT.h“
DHT dht (2, DHT11);
int vertėLDR;
int pinLDR = A5;
int variklis = 8;
// ———————————————————————————————————————————————-
negaliojanti sąranka ()
{
Serijos pradžia (9600);
reikšmėLDR = 0;
Serijos pradžia (9600);
Serial.println („LAISTYMO SISTEMOS TESTAS“);
dht.prasideda ();
pinMode (variklis, išvestis);
Serial.println ("Drėgmės jutiklio vertė");
}
// ———————————————————————————————————————————————-
tuščia kilpa ()
{
Serial.println («============================================== ========================= »);
// ——————————————————————————————
// ———– Drėgmė, dirvožemio jutiklis ——————————————————–
int drėgnumas = analogRead (A0);
Serial.print („Skaityti:“);
Serial.println (drėgmė);
jei (drėgmė> = 0 ir drėgmė> = 1000) {
Serial.println („Jutiklis sausame dirvožemyje“);
} else if (drėgmė> 500 ir drėgmė <= 1000) {
Serial.println („jutiklis drėgnoje dirvoje“);
} else if (drėgmė <= 500) {
Serial.println („Jutiklis vandenyje“);
}
// ——————————————————————————————
// ————— Nuotraukų pasipriešinimas ————————————————————-
reikšmėLDR = analogRead (pinLDR);
Serial.print ("LIGHT (");
Serial.print (reikšmėLDR);
Serial.println (")");
vėlavimas (2000);
// ——————————————————————————————
// ————— Jutiklio DTH11 temperatūra ir drėgmė ore —————————–
plūdė h = dht.readHumidity ();
plūdė t = dht.readTemperature ();
jei (isnan (h) || isnan (t)) {
Serial.println ("Nepavyko perskaityti DHT11 jutiklio!");
grįžti;
}
Serial.print ("Drėgmė:");
Serijinis spaudinys (h);
Serijinis.atspausdinti ("%");
Serial.print („Temperatūra:“);
Serijinis spaudinys (t);
Serial.println ("* C");
// ——————————————————————————————
// ———— Būklė vandeniui ar ne vandeniui —————————————————-
// [oro drėgnumas] [fotorezistas] [temperatūra] (žemės drėgnumas)
jei (h <= 50 && LDRvalue <70 && t = 1000) {
„digitalWrite“ (VARIKLIS, AUKŠTAS);
Serial.println („Turi laistyti“);
}
Kitas {
„digitalWrite“ (MOTOR, LOW);
Serial.println ("neturėtų laistyti");
}
vėlavimas (1000);
}
// kai tik kaiščiai tik patikrina, ar siurblys yra pwm kaištis ir
LDR fotorezisto savybė yra analogiška, o dirvožemio drėgmė - lygus kaiščiui
// bet koks oro temperatūros ir drėgmės jutiklio analoginis ir dth11
// skaitmeniniai smeigtukai vis tiek gali būti pagrįsti originaliu šio puslapio kodu
// sujungti kaiščius
// veikia su 5v
Gaunu klaidą šioje kodo dalyje »tuščia kilpa () {» galėtų man padėti
Sveiki, gal galėtumėte pasakyti, kokios bibliotekos ar koks jų vardas jas įdiegti, nes kai įklijuoju kodą, man sako, kad man reikia DTH bibliotekos
Sveiki, sistema atrodo labai gera. Bandžiau jį atkurti, bet įtraukiant kodą ir atitinkamą biblioteką, pasirodo:
Faile iš C: \ Users \ User \ Documents \ Arduino \ TEST_1 \ TEST_1.ino: 5: 0:
C: \ Program Files (x86) \ Arduino \ library \ DHT-sensor-library-master / DHT_U.h: 36:10: mirtina klaida: Adafruit_Sensor.h: Nėra tokio failo ar katalogo
#include
^ ~~~~~~~~~~~~~~~~~~
kompiliacija nutraukta.
išėjimo būsena 1
Kortelės kompiliavimo klaida Arduino Uno.
Nesu tikras, ar man reikia kito knygyno, jei kas nors gali man padėti.
Labai geras projektas, tačiau patikrinus kodą, sukompiliavus ir įkėlus, serijiniame monitoriuje pasirodo tik „DHT11 skaityti nepavyko“, jis neperžengia to taško
Sveiki, turiu keletą problemų, ar galėtumėte man padėti ir jei kas nors turi vaizdo įrašą arba radau išsamų vaizdo įrašą, kurį galiu pamatyti
Turiu klausimą, kur dėti srovę ir kokio tipo srovę galima naudoti.
Ar galite pridėti didesnės raiškos kontūrą? kai kurios jungtys nėra aiškiai matomos