Poletje je čas, ko se mnogi pogosto odpravijo na dopust zunaj, rastline pa so problem, saj tega ne morejo biti zalivajte tiste dni, ko vas ni doma. Poleg tega vrtne trgovine običajno prodajajo nekakšen gel, ki približno mesec dni rastlino hidrira in neguje. Toda ob vročini ali če odidete več kot mesec dni, boste potrebovali nekoliko boljši sistem, da bodo po vrnitvi še vedno živi in živahni.
Da bi bilo to mogoče, je obstoječa rešitev nakup a avtomatski namakalni sistem ki ga lahko programirate, ali če ste izdelovalec in vam je všeč DIY, lahko to storite sami z Arduinom. Potrebne materiale je poleg plošče Arduino enostavno najti in precej poceni, zato ne vključujejo prevelikih stroškov. Za nekatere elemente, kot je rezervoar za vodo itd., Lahko uporabite reciklirane materiale ...
Če malo brskate po spletu, boste našli različni projekti te vrste, ampak morda najbolj zanimivo je vrt. Pri tem bom navdihnjen za ta projekt, saj menim, da drugi namakalni sistemi, ki uporabljajo samo senzorje vlažnosti in nič drugega, niso tako popolni.
Kaj potrebuješ
P materiali, potrebni za vaš samodejni namakalni sistem Zvok:
- Ni najdenih izdelkov, čeprav bi bilo vredno drugih.
- Breadboard ali PCB če ga želite spajkati in narediti trajnega.
- Senzor temperature in vlažnosti Ni najdenih izdelkov
- Kabli
- Senzor YL-69 vlaga na tleh s higrometrom, da se zatakne v lonec ali tla.
- Minipump 3V potopna voda in približni pretok 120 l / h.
- Dioda 1N4007
- Bipolarni tranzistor PN2222
- 3 upori: 1x 220 ohmov, 1x 1k, 1x fotorezist LDR
- Rezervoar za vodo, ki je lahko boben ali steklenica s 5 ali več litri itd.
- Cev za priključitev na mini črpalko in odhod do obrata / obratov
Como alternativne ideje, Povedal bi vam, da bi ga lahko uporabili tudi sonoff ali modul WiFi, da ga aktivirate prek interneta, kjer koli že ste, ali pa ga izboljšate tako, da na pipo dodate samodejni ventil za programiranje polnjenja rezervoarja za vodo, ko se izprazni itd.
Kako nastaviti samodejni namakalni sistem
Montaža je povsem preprosta. Ti lahko uporabite zgornjo shemo za vse povezave. Sistem naj bo nameščen na mestu blizu okna ali tam, kjer je rastlina, ki jo želite zalivati, in dva konica senzorja vlažnosti prilepite v tla rastline blizu stebla.
Avtomatski sistem za zalivanje z Arduino bo zalival, kadar zazna a vrsto okoljskih razmer. Na primer, ko zazna šibko svetlobo ali temo, je temperatura zraka konkretna, ki jo bomo nastavili na skici Arduino IDE, vlaga na tleh pa je nizka. Takrat bi aktiviral motor za zalivanje rastline.
Rastline je priporočljivo zalivati ponoči, ko je manj vroče, saj bi to lahko v močnih vročih dneh škodilo več kot koristilo ...
Ne pozabite, da morate uvedite mini črpalko pod vodo v rezervoarju, ki ste mu namenjeni za namakanje, in ki bi moral imeti dovolj zmogljivosti, da zadrži dneve, ko vas ni. Lahko naredite predhodne teste, da ugotovite, kako dolgo traja, in pustite malo več vode, če izpari ob močni vročini ...
Samoumevno je, da je treba cev pritrditi na rastlino, tako da se ne premika z vetrom ali pa lahko voda izpade in zapravi. In mislim, da se ne bi bilo treba spomniti, da morate vzdrževati trenutno oskrbo plošče Arduino, da bo delovala ...
programiranje
Zdaj je čas, ko bi morali napisati koda, potrebna v Arduino IDE da lahko programirate mikrokrmilnik, ki upravlja strojno opremo, ki ste jo uporabili. To je čas, da prilagodite vrednosti temperature, vlažnosti in svetlobe vodi na svojem območju, saj se lahko razlikujejo glede na to, kje ste. Toda primer, ki ga lahko uporabite kot osnovo, je (pustil sem komentarje, kjer lahko spremenite vrednosti, ostale pa lahko pustite tako):
Prenesite kodo iz koda-namakanje-samodejnozalivanje-avto za vaš vrt
#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 }
Več informacij - Tečaj programiranja Arduino (brezplačna PDF)
Fuentes
Več informacij - vrt
ZAKAJ IZHODIM izhodni status 1
#include pričakuje "FILENAME" ali ESO ON LOAD
Pozdravljeni,
Ta napaka je posledica težave s sintakso v kodi. Šel sem skozi to in imel napako. Zdaj bi moralo biti v redu.
Lep pozdrav!
Pozdravljeni, dober dan, tudi jaz imam isti problem:
projekt: 3:10: napaka: #include pričakuje "FILENAME" oz
#include <SimpleDHT.h>
^
projekt: 4:10: napaka: #include pričakuje "FILENAME" oz
#vključi <SPI.h>
^
izhodni status 1
#include pričakuje "FILENAME" oz
Pozdravljeni, oprostite, mi lahko pomagate pri napaki, ki se pojavi v kodi
Na enak način imam napako v kodi, ali mi lahko prosim pomagate pri tej težavi
Pozdravljeni,
Prosim, pustite podatke o napaki, ki jo imate, da vam lahko pomagam. Če vsebine napake ne poznam, vam težko pomagam ali poiščem, kje je težava ...
pozdrav
Pozdravljeni, pojavi se ta napaka, kako jo lahko odpravim?
napaka: SimpleDHT.h: Takšne datoteke ali imenika ni
#include
^ ~~~~~~~~~~~~
prevajanje zaključeno.
izhodni status 1
SimpleDHT.h: Takšne datoteke ali imenika ni
Pozdravljena Samantha,
Ta napaka je v tem, ker se zdi, da Arduino IDE ne zazna knjižnice SimpleDHT.h. Ali je pravilno nameščen? Če ga imate, poskusite uporabiti novejšo različico Arduino IDE, če je starejša ...
Več informacij si lahko ogledate tukaj:
https://www.arduino.cc/en/Guide/Libraries
In poiščite knjižnico od tukaj:
https://github.com/adafruit/DHT-sensor-library
Lep pozdrav!
Najprej hvala za prispevek, ki je zelo zanimiv in zelo veljaven, vendar sem prebral tole:
"Priporočljivo je, da rastline zalivamo ponoči, ko je manj vroče, saj lahko to v močnih vročih dneh škodi več kot koristi ..."
To sem že velikokrat slišal, vendar bi rad, da mi nekdo jasno razloži, kako jih boli…. Rastline gojim že več kot 20 let in ko je zelo vroče, ničesar ne cenijo bolj kot dobro zalivanje in možnost, da lahko s škropilnico zmočijo liste.
To je mit, da rastline trpijo ... Ko ste vroči in žejni, ali počakate do noči, da pijete? ...
hvala za prispevek !!!
Živjo Pepe,
Hvala za vaš prispevek. Živim na podeželju in včasih, ko je vročina zelo močna, jih zalivanje rastlin v vročih urah lahko ubije. Sam sem ga preveril (tudi ni enako, odvisno od geografskega območja, kjer ste, v moji deželi je zelo vroče). To je lahko iz več razlogov:
1-Ker kapljice vode na listih delujejo kot kozarec, jih s sončno svetlobo sežgejo kot povečevalno steklo.
2-Rastline imajo ožilje, ki se zaprejo, da ne bi dehidrirale, ko je sončno. Če jih zalivate, se odprejo in lahko povzročijo dehidracijo.
3-Če so v plastičnem loncu, bi bil učinek lahko še slabši.
Lep pozdrav!
HOLA !!
Izdelan projekt mi je bil zelo všeč, imam svoj vrt in ta projekt preizkušam kot osebno izkušnjo, ne da bi si priskrbel donosno ugodnost, želel sem vas le vprašati, ali mi boste pomagali s kodo, saj mi daje napako , Knjižnico DHT imam, vendar pri preverjanju I na koncu kode prikaže napako: {Serial.println ("Zalivanje ustavljeno");} in mi pove, da je v programu: zalutalo '\ 342'.
O tej zadevi imam zelo malo znanja, raziskoval sem in je nisem mogel rešiti.
Hvaležen bi bil, če mi pomagate. Hvala 😀
Pozdravljeni,
Ali je koda pravilna? Se pravi, da nima natipkanih črk?
Po drugi strani pa lahko več o tej napaki preverite tukaj:
https://forum.arduino.cc/index.php?topic=386225.0
pozdrav
Pozdravljeni, dober dan, oprostite, ne vem, če obstaja način, da stopim v stik z vami, ker mi povzroča veliko napak s to kodo v arduinu
Pozdravljeni vsi,
Kodo sem očistil in jo znova napisal, da vidim, ali je v kodi, ki je prikazana v spletu, iz kakršnega koli razloga prišlo do napak. Da jo lahko prenesete, sem novo kodo pustil v povezavi za prenos tik pred kodo, ki se pojavi v spletu. Če kliknete tam, ga lahko prenesete v besedilni obliki. Upam, da ni več težav.
Lep pozdrav!
Kako lahko dodam wifi modul? in ali bi ga bilo mogoče nadzorovati z oddajo vloge?
Kako je tudi s hrano: c?
Živjo Chaqui! Poskušam narediti enako kot vi, ali mi lahko pomagate, če ste končali svojo kodo ????
Vprašanje, katera komponenta bi bila tista med ploščo Arduino in senzorjem DHT11?
Najlepša hvala!!
Živjo Nerea,
Mislite na diodo in upor? Upoštevajte, da je v razdelku pred diagramom seznam vseh komponent ...
Lep pozdrav!
Pozdravljeni, imate video o tem, kako je bilo z vašim namakalnim sistemom.?
oprostite, deluje samo za arduino uno ali tudi za arduino mega
Pozdravljeni, dobro jutro, oprosti. Želel sem zastaviti vprašanje, zakaj, ko odprem monitor Arduino ide, dobim napačno branje senzorja dht11?
Celoten program je bil dobro sestavljen in dobro naložen, podrobnosti so, ko odprem monitor in se prikaže ta legenda.
Kaj je lahko?
POZDRAVLJEN PRIJATELJ ODLIČNO DELO, VENDAR SE NAM NAPAKI
#include
KAJ BO? Cenil bi vašo pomoč
POzdravljeni, TO JE JAVNO, AMPAK NI POMEMBNO, RES ZELIM ZAHVALITI OSEBI ALI LJUDEM, KI SO SODELOVALI V RAZVOJU TEGA PROJEKTA, MORDA ZA MNOGO JE NESREČNO, AMPAK TI SI MI REŠIL ŽIVLJENJE ŠOLA, KI JIH NE ŽELIM PRIPADATI IN RESNICO, KI SE ŽALI NISAM NAUČILA, HVALA ZA STRAN, ŽELIM VAM NAJBOLJŠE.
Kako lahko dodam wifi modul? in ali bi ga bilo mogoče nadzorovati z oddajo vloge?
#include "DHT.h"
DHT dht (2, DHT11);
int valueLDR;
int pinLDR = A5;
int MOTOR = 8;
// —————————————————————————————————————————————-
void setup ()
{
Serial.begin (9600);
vrednostLDR = 0;
Serial.begin (9600);
Serial.println ("PRESKUS NAMIGALNEGA SISTEMA");
dht.begin ();
pinMode (MOTOR, IZHOD);
Serial.println ("Vrednost senzorja vlažnosti");
}
// —————————————————————————————————————————————-
void loop ()
{
Serial.println («============================================== = ========================= »);
int vlažnost = analogRead (A0);
Serial.print ("Preberi:");
Serial.println (vlažnost);
če (vlažnost> = 0 in vlaga> = 1000) {
Serial.println ("Senzor v suhi zemlji");
} sicer če (vlažnost> 500 in vlažnost <= 1000) {
Serial.println ("Senzor v mokri zemlji");
} sicer če (vlažnost <= 500) {
Serial.println ("Senzor v vodi");
}
valueLDR = analogRead (pinLDR);
Serial.print ("LIGHT (");
Serial.print (valueLDR);
Serial.println (")");
zakasnitev (2000);
float h = dht.readHumidity ();
float t = dht.readTemperature ();
if (isnan (h) || isnan (t)) {
Serial.println ("Ni uspelo prebrati senzorja DHT11!");
vrnitve;
}
Serial.print ("Vlažnost:");
Serial.print (h);
Serial.print ("%");
Serial.print ("Temperatura:");
Serial.print (t);
Serial.println ("* C");
če (h <= 50 && LDRvrednost <70 && t = 1000) {
digitalWrite (MOTOR, HIGH);
Serial.println ("Must water");
}
drugače {
digitalWrite (MOTOR, LOW);
Serial.println ("NE SME zalivati");
}
zakasnitev (1000);
}
Uporabil sem samo
-DTH temperature in vlažnosti na zatiču 2
-LDR fotorezist na zatiču A5
-motor na zatiču 8
-senzor za vlago v tleh na zatiču A0
upam, da je to moja koda in da deluje pri vas
-senzor vlage za tla
Dobro jutro, imam težave s kodo, dobim to in uporabljam najnovejšo programsko opremo:
sketch_nov12c: 1: 10: usodna napaka: SimpleDHT.h: Takšne datoteke ali imenika ni
#include
^ ~~~~~~~~~~~~
prevajanje zaključeno.
izhodni status 1
SimpleDHT.h: Takšne datoteke ali imenika ni
Prosim vas, da mi pomagate, kako to rešiti, prosim, ker sem v tem nov in ne vem, kako to deluje zelo dobro. Hvala vam.
Pozdravljeni, bi lahko pustili boljšo sliko o tem, kako je vezje povezano? Ni dobro cenjeno, s kakšno napajalno napetostjo se napaja? Hvala
#include "DHT.h"
DHT dht (2, DHT11);
int valueLDR;
int pinLDR = A5;
int MOTOR = 8;
// —————————————————————————————————————————————-
void setup ()
{
Serial.begin (9600);
vrednostLDR = 0;
Serial.begin (9600);
Serial.println ("PRESKUS NAMIGALNEGA SISTEMA");
dht.begin ();
pinMode (MOTOR, IZHOD);
Serial.println ("Vrednost senzorja vlažnosti");
}
// —————————————————————————————————————————————-
void loop ()
{
Serial.println («============================================== = ========================= »);
// —————————————————————————————–
// ———– Vlaga, senzor zemlje —————————————————–
int vlažnost = analogRead (A0);
Serial.print ("Preberi:");
Serial.println (vlažnost);
če (vlažnost> = 0 in vlaga> = 1000) {
Serial.println ("Senzor v suhi zemlji");
} sicer če (vlažnost> 500 in vlažnost <= 1000) {
Serial.println ("Senzor v mokri zemlji");
} sicer če (vlažnost <= 500) {
Serial.println ("Senzor v vodi");
}
// —————————————————————————————–
// ————— Foto odpornost———————————————————-
valueLDR = analogRead (pinLDR);
Serial.print ("LIGHT (");
Serial.print (valueLDR);
Serial.println (")");
zakasnitev (2000);
// —————————————————————————————–
// ————— Senzor DTH11 za temperaturo in vlago v zraku —————————–
float h = dht.readHumidity ();
float t = dht.readTemperature ();
if (isnan (h) || isnan (t)) {
Serial.println ("Ni uspelo prebrati senzorja DHT11!");
vrnitve;
}
Serial.print ("Vlažnost:");
Serial.print (h);
Serial.print ("%");
Serial.print ("Temperatura:");
Serial.print (t);
Serial.println ("* C");
// —————————————————————————————–
// ———— Stanje vode ali ne vode ———————————————-
// [Zračna vlažnost] [Fotoresist] [Temperatura] (Zračna vlažnost)
če (h <= 50 && LDRvrednost <70 && t = 1000) {
digitalWrite (MOTOR, HIGH);
Serial.println ("Must water");
}
drugače {
digitalWrite (MOTOR, LOW);
Serial.println ("NE SME zalivati");
}
zakasnitev (1000);
}
// takoj ko zatiči samo preverijo, ali je črpalka pwm zatič in
// LDR fotorezist je analogen in tudi vlaga v tleh enaka zatiču
// analogni in tisti iz dth11 senzorja temperature in vlažnosti zraka kakršen koli
// digitalni zatiči lahko še vedno temeljijo na izvirni kodi te strani
// za povezavo zatičev
// deluje s 5v
V tem delu kode se prikaže napaka »prazna zanka () {» mi lahko pomaga
Pozdravljeni, mi lahko poveste, katere knjižnice ali kako se imenujejo, da jih namestim, saj ko prilepim kodo, mi pove, da potrebujem knjižnico DTH
Pozdravljeni, sistem se zdi zelo dober. Poskušal sem ga ponovno ustvariti, toda ob vključitvi kode in ustrezne knjižnice se prikaže naslednje.
V datoteki iz C: \ Users \ User \ Documents \ Arduino \ TEST_1 \ TEST_1.ino: 5: 0:
C: \ Program Files (x86) \ Arduino \ libraries \ DHT-sensor-library-master / DHT_U.h: 36:10: usodna napaka: Adafruit_Sensor.h: Takšne datoteke ali imenika ni
#include
^ ~~~~~~~~~~~~~~~~~~
prevajanje zaključeno.
izhodni status 1
Napaka pri prevajanju za kartico Arduino Uno.
Nisem prepričan, ali rabim še kakšno knjigarno, če mi lahko kdo pomaga.
Zelo dober projekt, toda po preverjanju kode, sestavljanju in nalaganju se na serijskem monitorju prikaže le "DHT11 branje ni uspelo", vendar ne presega te točke
Pozdravljeni, imam več težav. Prosim, če mi lahko pomagate in če ima kdo videoposnetek ali pa sem našel podroben video, ki ga lahko vidim
Imam vprašanje, kam postaviti tok in kakšen tok se lahko uporablja.
Ali lahko dodate oris z višjo ločljivostjo? nekatere povezave niso jasno vidne