Sadržaj:
Video: Monitor biljaka pomoću ESP32 Thing and Blynk: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
Pregled
Cilj ovog projekta je stvoriti kompaktni uređaj koji može pratiti stanje sobne biljke. Uređaj omogućuje korisniku da provjeri vlažnost tla, razinu 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 uvjeti postanu neprikladni za postrojenje. Na primjer, korisnik će dobiti podsjetnik da zalije biljku kad razina vlažnosti tla 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 mogućnosti je potrebno stvoriti vodonepropusno 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
Zapravo, preuzmite aplikaciju Blynk i izradite novi projekt. Zabilježite token za provjeru autentičnosti-on će se koristiti u kodu. Izradite nove widgete za prikaz u aplikaciji Blynk i odaberite odgovarajuće virtualne pinove definirane u kodu. Podesite interval osvježavanja na pritisak. Svakom widgetu treba dodijeliti vlastiti virtualni pin.
Korak 3: Arduino IDE
Preuzmite Arduino IDE. Slijedite upute za preuzimanje upravljačkog programa za ESP32 i demo kako biste osigurali WiFi vezu. Preuzmite biblioteke Blynk i DHT 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 senzora vlažnosti tla pronađite minimalne i maksimalne vrijednosti za vrstu 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. Učitajte kôd.
Korak 4: Izgradite ga
Prvo spojite osjetnik vlažnosti tla na 3,3 V, uzemljenje i ulazni pin 34. Napomena, integralno je da je prekidač postavljen na A jer će se koristiti analogna postavka za ovaj senzor. Zatim spojite DHT osjetnik na 3,3 V, uzemljenje i ulazni pin 27. Za osjetnik DHT22 potreban je otpornik od 10K Ohma između VCC -a i pina za izlaz podataka. Svakako provjerite DHT dijagram kako biste bili sigurni da je pravilno ožičen. Konfigurirajte ESP32 unutar vodonepropusnog kućišta s osjetnikom vlage u tlu i DHT osjetnikom iznad površine. Spojite se na izvor napajanja i uživajte u podacima o okolišu vaše elektrane.
Korak 5: Kodirajte
// Uključene knjižnice
#define BLYNK_PRINT Serijski
#include #include #include #include "DHT.h"
// Podaci o DHT osjetniku
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 #define DHTPIN 27 // Digitalni pin spojen na DHT osjetnik DHT dht (DHTPIN, DHTTYPE); // Inicijalizacija DHT osjetnika.
// definiramo ulazne pinove i izlaze
int_osjetnik tla = 34; // definiramo broj pin -a analognog ulaza spojen na senzor vlage
int output_value; // definirati kao izlaz
int raven vlage; // definirati kao izlaz
int obaviješten = 0; // definirati prijavljeno kao 0
int timedelay = 60000L; // postavljanje timera za pokretanje dobivanja podataka jednom svake minute ili 60 000 milisekundi
// postavljanje minimalnih vrijednosti za postrojenje
int min_vlaga = 20; int min_temperatura = 75; int min_vlažnost = 60;
// Trebali biste dobiti Auth Token u aplikaciji Blynk.
char auth = "Auth_Token_Here";
// Vaše WiFi vjerodajnice.
char ssid = "Wifi_Network_Here"; char pass = "Wifi_Password_Here";
BlynkTimer mjerač vremena;
// Ova funkcija svake sekunde šalje vrijeme nadogradnje Arduina na Virtual Pin (5).
// U aplikaciji bi učestalost čitanja Widgeta trebala biti postavljena na PUSH. To znači da // definirate koliko često ćete slati podatke aplikaciji Blynk.
void Sensors () // glavna funkcija za očitavanje senzora i guranje na blynk
{output_value = analogRead (ground_sensor); // Očitavanje analognog signala s osjetnika tla i definiranje kao output_value // Mapiranje output_vlaue od min, max vrijednosti do 100, 0 i ograničenje između 0, 100 // Upotrijebite kod uzorka i serijski monitor za pronalaženje min i maksimalne vrijednosti za pojedinačne senzore i vrstu tla radi bolje kalibracije razine 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 (zadano) plovak hif = dht.computeHeatIndex (f, h); // Provjerite neuspjelo čitanje i prijevremeno izađite (za ponovni pokušaj). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println (F ("Nije uspjelo čitanje s DHT senzora!")); povratak; } // Ovo povezuje vale s virtualnim pinovima definiranim u widgetima u aplikaciji Blynk Blynk.virtualWrite (V5, nivo vlage); // Pošaljite razinu vlage na virtualni pin 5 Blynk.virtualWrite (V6, f); // Pošaljite temperaturu virtualnom 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 (raven vlage <= min_moisture) // Ako je razina vlage jednaka ili ispod minimalne vrijednosti {Blynk.email ("Email_Here", "Plant Monitor", "Water Plant!"); // Pošaljite e -poruku postrojenju za vodu} delay (15000); // Blynk 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!"); // Slanje e -pošte s niskom vlagom} obaviješteno = 1; timer.setTimeout (timedelay *5, resetNotified); // višestruki vremenski zaostatak prema željenim minutama između ponovljenih poruka upozorenja}}
void resetNotified () // funkcija pozvana za poništavanje učestalosti e -pošte
{notified = 0; }
void setup ()
{Serial.begin (9600); // Konzola za otklanjanje pogrešaka Blynk.begin (auth, ssid, pass); // povezivanje s blynk timer.setInterval (timedelay, Sensors); // Postavljanje funkcije za pozivanje 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čeni:
Automatski sustav zalijevanja biljaka pomoću Micro: bita: 8 koraka (sa slikama)
Automatski sustav zalijevanja biljaka pomoću Micro: bita: U ovom uputstvu pokazat ću vam kako izgraditi automatski sustav zalijevanja biljaka pomoću Micro: bita i nekih drugih malih elektroničkih komponenti. Micro: bit koristi senzor vlage pratiti razinu vlage u tlu biljke i
Kako izgraditi sustav zalijevanja biljaka pomoću Arduina: 7 koraka
Kako izgraditi sustav zalijevanja 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 bljeskanjem zelene LED diode ako je sve u redu te OLED zaslon i Visuino. Pogledajte video
Arduino monitor biljaka s 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 s NodeMCU -om, lokalnim poslužiteljem Blynk i aplikacijom Blynk, podesiva zadana vrijednost: 3 koraka
Zalijevanje sobnih biljaka pomoću NodeMCU -a, lokalnog Blynk poslužitelja i Blynk Apk -a, podesive zadane vrijednosti: Ovaj projekt sam izgradio 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 mom domu putem interneta
Monitor biljaka: 12 koraka (sa slikama)
Monitor biljaka: Svrha monitora biljaka je skeniranje i davanje vode ako je potrebno na biljku priključenu na analogni senzor tla. Dijelovi potrebni za ovaj projekt su: 1x Arduino Uno1x LCD zaslon1x Servo motor1x Senzorska jedinica tla1x Potenciometar1x Medicinski 30c