Sadržaj:
Video: Monitor biljaka pomoću ESP32 Thing and Blynk: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Pregled
Cilj ovog projekta je stvoriti kompaktni uređaj koji može pratiti stanje sobne biljke. Uređaj omogućava korisniku da provjeri vlažnost tla, nivo vlažnosti, temperaturu i temperaturu "nalik osjećaju" sa pametnog telefona pomoću aplikacije Blynk. Osim toga, korisnik će primiti upozorenje putem e -pošte kada uslovi postanu neprikladni za postrojenje. Na primjer, korisnik će dobiti podsjetnik da zalije biljku kada nivo vlage u tlu padne ispod odgovarajuće razine.
Korak 1: Zahtjevi
Ovaj projekt koristi Sparkfun ESP32 stvar, DHT22 senzor i elektronički senzor vlage tla od opeke. Osim toga, potrebna je WiFi mreža i aplikacija Blynk. Poželjno je da se napravi vodootporno kućište koje sadrži ESP32 stvar. Iako ovaj primjer koristi standardnu utičnicu za izvor napajanja, dodavanje punjive baterije, solarne ploče i kontrolera punjenja omogućilo bi napajanje uređaja obnovljivom energijom.
Korak 2: Blynk
U stvari, preuzmite aplikaciju Blynk i kreirajte novi projekt. Zabilježite token za provjeru autentičnosti-on će se koristiti u kodu. Kreirajte nove widgete za prikaz u aplikaciji Blynk i odaberite odgovarajuće virtualne pinove definirane u kodu. Podesite interval osvežavanja na pritisak. Svakom widgetu treba dodijeliti vlastiti virtualni pin.
Korak 3: Arduino IDE
Preuzmite Arduino IDE. Slijedite upute za preuzimanje ESP32 upravljačkog programa i demo kako biste osigurali WiFi vezu. Preuzmite Blynk i DHT biblioteke uključene u kôd. U konačni kod unesite token za provjeru autentičnosti, lozinku za WiFi, korisničko ime za WiFi i e -poštu. Pomoću demo koda za senzor vlažnosti tla pronađite minimalne i maksimalne vrijednosti za tip tla. Zapišite i zamijenite ove vrijednosti u konačnom kodu. Zamijenite minimalne vrijednosti temperature, vlažnosti tla i vlažnosti biljke u konačnom kodu. Otpremite kôd.
Korak 4: Izgradite ga
Prvo povežite senzor vlažnosti tla na 3,3 V, uzemljenje i ulazni pin 34. Napomena, integralno je prekidač postavljen na A jer će se koristiti analogna postavka za ovaj senzor. Zatim spojite DHT senzor na 3.3V, masu i ulazni pin 27. DHT22 osjetniku je potreban otpornik od 10K Ohma između VCC -a i pina za izlaz podataka. Obavezno provjerite DHT dijagram kako biste bili sigurni da je pravilno ožičen. Konfigurirajte ESP32 unutar vodootpornog kućišta sa senzorom vlage u tlu i DHT senzorom iznad površine. Priključite se na izvor napajanja i uživajte u podacima o okruženju vaše elektrane.
Korak 5: Kodirajte
// Uključene biblioteke
#define BLYNK_PRINT Serijski
#include #include #include #include "DHT.h"
// Informacije o DHT senzoru
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 #define DHTPIN 27 // Digitalni pin spojen na DHT senzor DHT dht (DHTPIN, DHTTYPE); // Inicijalizacija DHT senzora.
// definiramo ulazne pinove i izlaze
int tlačni_senzor = 34; // definiramo broj pin -a analognog ulaza spojen na senzor vlage
int output_value; // definirati kao izlaz
int wetlevel; // definiraj kao izlaz
int notified = 0; // definiramo notificirano kao 0
int timedelay = 60000L; // podesite tajmer za pokretanje dobijanja podataka jednom svake minute ili 60 000 milisekundi
// postavljanje minimalnih vrijednosti za postrojenje
int min_moisture = 20; int min_temperature = 75; int min_vlažnost = 60;
// Trebali biste dobiti Auth Token u aplikaciji Blynk.
char auth = "Auth_Token_Here";
// Vaši WiFi akreditivi.
char ssid = "Wifi_Network_Here"; char pass = "Wifi_Password_Here";
BlynkTimer timer;
// Ova funkcija svake sekunde šalje vrijeme rada Arduina na Virtual Pin (5).
// U aplikaciji, učestalost čitanja Widgeta treba postaviti na PUSH. To znači // da definirate koliko često ćete slati podatke aplikaciji Blynk.
void Sensors () // glavna funkcija za očitavanje senzora i pritiskanje za brisanje
{output_value = analogRead (ground_sensor); // Očitavanje analognog signala sa senzora_tla i definiranje kao output_value // Mapiranje output_vlaue od min, max vrijednosti do 100, 0 i ograničenje između 0, 100 // Upotreba uzorka koda i serijskog monitora za pronalaženje min i maksimalne vrijednosti za pojedinačni senzor i tip tla za bolju kalibraciju nivoa vlage = ograničenje (karta (vrijednost_izlaza, 1000, 4095, 100, 0), 0, 100); float h = dht.readHumidity (); // Očitavanje plovka vlažnosti t = dht.readTemperature (); // Očitavanje temperature kao Celsius (zadano) float f = dht.readTemperature (true); // Očitavanje temperature kao Fahrenheita (isFahrenheit = true) // Izračunavanje toplinskog indeksa u Fahrenheitu (zadani) plovak hif = dht.computeHeatIndex (f, h); // Provjerite da li neko čitanje nije uspjelo i izađite ranije (da pokušate ponovo). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println (F ("Očitavanje nije uspjelo sa DHT senzora!")); return; } // Ovo povezuje vale s virtualnim pinovima definiranim u widgetima u aplikaciji Blynk.ly Blynk.virtualWrite (V5, nivo vlage); // Pošaljite razinu vlage na virtualni pin 5 Blynk.virtualWrite (V6, f); // Pošaljite temperaturu na virtual pin 6 Blynk.virtualWrite (V7, h); // Pošaljite vlažnost na virtualni pin 7 Blynk.virtualWrite (V8, hif); // Pošaljite indeks topline na virtualni pin 8
ako (obaviješteno == 0)
{if (nivo vlage <= min_moisture) // Ako je nivo vlage jednak ili ispod minimalne vrijednosti {Blynk.email ("Email_Here", "Monitor biljaka", "Vodovod!"); // Pošaljite e -poruku postrojenju za vodu} delay (15000); // Neispravne e -poruke moraju biti udaljene 15 sekundi. Odgodi 15000 milisekona ako (f <= min_temperature) // Ako je temperatura jednaka ili ispod minimalne vrijednosti {Blynk.email ("Email_Here", "Plant Monitor", "Temperature Low!"); // Pošaljite e -poruku da je temperatura niska
}
kašnjenje (15000); // Blynk e -poruke moraju biti udaljene 15 sekundi. Odgodite 15000 milisekona ako (h <= min_ vlažnosti) // Ako je vlažnost jednaka ili ispod minimalne vrijednosti {Blynk.email ("Emial_Here", "Monitor postrojenja", "Vlažnost niska!"); // Pošaljite e -poštu da je vlažnost niska} notified = 1; timer.setTimeout (timedelay *5, resetNotified); // višestruko kašnjenje u vremenu prema željenim minutama između ponovljenih e -poruka upozorenja}}
void resetNotified () // funkcija pozvana za resetiranje frekvencije e -pošte
{notified = 0; }
void setup ()
{Serial.begin (9600); // Konzola za otklanjanje grešaka Blynk.begin (auth, ssid, pass); // povezivanje sa blynk timer.setInterval (timedelay, Sensors); // Postavljanje funkcije koja će se pozivati svake minute ili vremenski zastoj postavljen na dht.begin (); // pokrenite DHT senzor}
// Prazna petlja treba sadržavati samo blynk.run i mjerač vremena
void loop () {Blynk.run (); // Pokreni blynk timer.run (); // Pokreće BlynkTimer}
Preporučuje se:
Automatski sistem za zalijevanje biljaka pomoću Micro: bita: 8 koraka (sa slikama)
Automatski sistem za zalijevanje biljaka pomoću Micro: bita: U ovom uputstvu ću vam pokazati kako izgraditi automatski sistem za zalijevanje biljaka pomoću Micro: bita i nekih drugih malih elektronskih komponenti. Micro: bit koristi senzor vlage za praćenje nivoa vlage u tlu biljke i
Kako izgraditi sistem za zalijevanje biljaka pomoću Arduina: 7 koraka
Kako izgraditi sustav za zalijevanje biljaka pomoću Arduina: U ovom ćemo vodiču naučiti kako napraviti sustav za zalijevanje biljaka pomoću senzora vlage, pumpe za vodu i trepnuti zelenom LED diodom ako je sve u redu te OLED zaslonom i Visuinom. Pogledajte video
Arduino monitor biljaka sa kapacitivnim senzorom tla - Vodič: 6 koraka
Arduino monitor biljaka s kapacitivnim senzorom tla - Vodič: U ovom ćemo vodiču naučiti kako detektirati vlagu u tlu pomoću kapacitivnog senzora vlage s OLED zaslonom i Visuinom. Pogledajte video
Zalijevanje sobnih biljaka pomoću NodeMCU -a, lokalnog Blynk servera i Blynk Apk -a, podesiva zadata vrijednost: 3 koraka
Zalijevanje sobnih biljaka pomoću NodeMCU -a, lokalnog Blynk servera i Blynk Apk -a, podesive zadane vrijednosti: Izgradio sam ovaj projekt jer moje sobne biljke moraju biti zdrave čak i kad sam na odmoru duže vrijeme i sviđa mi se ideja da imam kontrolirati ili barem nadzirati sve moguće stvari koje se događaju u mojoj kući putem interneta
Monitor biljaka: 12 koraka (sa slikama)
Monitor biljaka: Svrha monitora biljaka je skeniranje i davanje vode ako je potrebno na biljku koja je priključila dati analogni senzor tla. Dijelovi potrebni za ovaj projekt su: 1x Arduino Uno1x LCD ekran1x Servo motor1x Senzorska jedinica tla1x Potenciometar1x Medicinski 30c