INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-23 12:53
Oorsig
Die doel van hierdie projek is om 'n kompakte toestel te skep wat die toestande van 'n kamerplant kan monitor. Die toestel stel die gebruiker in staat om die grondvogvlak, humiditeitsvlak, temperatuur en die "voelagtige" temperatuur vanaf 'n slimfoon met behulp van die Blynk-app na te gaan. Die gebruiker sal ook 'n e -pos -waarskuwing ontvang wanneer toestande ongeskik raak vir die aanleg. Die gebruiker sal byvoorbeeld 'n herinnering ontvang om die plant nat te maak wanneer grondvogvlakke onder 'n geskikte vlak daal.
Stap 1: Vereistes
Hierdie projek gebruik 'n Sparkfun ESP32 -ding, 'n DHT22 -sensor en 'n elektroniese baksteengrondvogsensor. Boonop is 'n wifi -netwerk en die Blynk -app nodig. Verkieslik moet 'n waterdigte omhulsel geskep word om die ESP32 -ding te bevat. Alhoewel hierdie voorbeeld 'n standaardaansluiting vir 'n kragbron gebruik, sou die toevoeging van 'n herlaaibare battery, sonpaneel en laaibestuurder die toestel in staat stel om deur hernubare energie aangedryf te word.
Stap 2: Blynk
Laai eers die Blynk -app af en skep 'n nuwe projek. Let op die verifikasietoken-dit sal in die kode gebruik word. Skep nuwe skerm -widgets in die Blynk -app en kies die ooreenstemmende virtuele penne wat in die kode gedefinieer word. Stel die verversingsinterval in om te druk. Elke widget moet sy eie virtuele pen toewys.
Stap 3: Arduino IDE
Laai Arduino IDE af. Volg die aflaai -instruksies vir die ESP32 ding -bestuurder en die demo om wifi -verbinding te verseker. Laai die Blynk- en DHT -biblioteke af wat in die kode ingesluit is. Vul die verifikasieteken, wifi -wagwoord, wifi -gebruikersnaam en e -posadres in met die finale kode. Gebruik die demokode vir die grondvogsensor om die minimum en maksimum waardes vir die grondsoort te vind. Teken hierdie waardes op en vervang dit in die finale kode. Vervang die minimum waardes vir die temperatuur, grondvog en humiditeit vir die plant in die finale kode. Laai die kode op.
Stap 4: Bou dit
Koppel eers die grondvogsensor aan op 3.3V, grond en invoerpen 34. Let op: die skakelaar is op A ingeskakel omdat die analooginstelling vir hierdie sensor gebruik sal word. Koppel dan die DHT -sensor aan 3.3V, grond en invoerpen 27. Die DHT22 sensor benodig 'n 10K Ohm weerstand tussen die VCC en die data out pin. Kontroleer die DHT -diagram om seker te maak dat dit behoorlik bedraad is. Stel die ESP32 in 'n waterdigte omhulsel op met die vogsensor in die grond en die DHT -sensor bo die oppervlak. Koppel aan 'n kragbron en geniet data oor die omgewing van u aanleg.
Stap 5: Kode
// Ingesluit biblioteke
#define BLYNK_PRINT reeks
#include #include #include #include "DHT.h"
// DHT sensor inligting
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 #define DHTPIN 27 // Digitale pen gekoppel aan die DHT sensor DHT dht (DHTPIN, DHTTYPE); // Initialiseer DHT -sensor.
// definieer invoerpenne en uitsette
int soil_sensor = 34; // definieer analoog invoerpen nommer wat gekoppel is aan vogsensor
int output_value; // definieer as uitvoer
int vochtvlak; // definieer as uitset
int aangemeld = 0; // definieer aangemeld as 0
int tydsduur = 60000L; // stel die timer in om data uit te voer, kry elke minuut of 60 000 milisekondes
// stel minimum waardes vir plant
int min_vocht = 20; int min_temperatuur = 75; int min_ humiditeit = 60;
// U moet Auth Token in die Blynk -app kry.
char auth = "Auth_Token_Here";
// U WiFi -geloofsbriewe.
char ssid = "Wifi_Network_Here"; char pass = "Wifi_Password_Here";
BlynkTimer timer;
// Hierdie funksie stuur die sekuriteit van Arduino elke sekonde na Virtual Pin (5).
// In die app moet die leesfrekwensie van Widget op PUSH gestel word. Dit beteken dat u bepaal hoe gereeld data na die Blynk -app gestuur moet word.
void Sensors () // hooffunksie om sensors te lees en na blynk te druk
{output_value = analogRead (soil_sensor); // Lees analoog sein van soil_sensor en definieer as output_value // Map output_vlaue van min, maksimum waardes tot 100, 0 en beperk tussen 0, 100 // Gebruik voorbeeldkode en seriële monitor om min en maksimum waardes vir individuele sensor en grondsoort vir 'n beter kalibrasie vogvlak = beperking (kaart (afvoerwaarde, 1000, 4095, 100, 0), 0, 100); float h = dht.readHumidity (); // Lees humiditeit float t = dht.readTemperature (); // Lees temperatuur as Celsius (die standaard) float f = dht.readTemperature (true); // Lees temperatuur as Fahrenheit (isFahrenheit = true) // Bereken hitte -indeks in Fahrenheit (die standaard) float hif = dht.computeHeatIndex (f, h); // Kontroleer of enige lees misluk het en vertrek vroeg (om weer te probeer). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println (F ("Kan nie lees van DHT -sensor nie!")); terugkeer; } // Dit verbind valse met virtuele penne wat in die widgets in die Blynk -app gedefinieer word Blynk.virtualWrite (V5, vogvlak); // Stuur vogvlak na virtuele pen 5 Blynk.virtualWrite (V6, f); // Stuur temperatuur na virtuele pen 6 Blynk.virtualWrite (V7, h); // Stuur humiditeit na virtuele pen 7 Blynk.virtualWrite (V8, hif); // Stuur hitte -indeks na virtuele pen 8
as (in kennis gestel == 0)
{if (moisturelevel <= min_vochtigheid) // As moisturelevel gelyk is aan of onder min waarde {Blynk.email ("Email_Here", "Plant Monitor", "Water Plant!"); // Stuur e -pos aan wateraanleg} vertraging (15000); // Blynk -e -posse moet 15 sekondes van mekaar wees. Vertraag 15000 millisekons as (f <= min_temperatuur) // As temperatuur gelyk is aan of onder min waarde {Blynk.email ("E -pos_Hier", "Plantmonitor", "Temperatuur laag!"); // Stuur 'n e -pos dat die temperatuur laag is
}
vertraging (15000); // Blynk -e -posse moet 15 sekondes van mekaar wees. Vertraag 15000 millisekons as (h <= min_vochtigheid) // As die humiditeit gelyk is aan of onder die min waarde {Blynk.email ("Emial_Here", "Plant Monitor", "Humidity Low!"); // Stuur e -pos dat die humiditeit laag is} kennisgewings = 1; timer.setTimeout (tydsduur *5, resetNotified); // vermenigvuldig die tydsduur met die aantal minute tussen herhalende waarskuwings -e -posse}}}
leegte resetNotified () // funksie geroep om die e -posfrekwensie terug te stel
{kennisgewing = 0; }
leemte opstelling ()
{Serial.begin (9600); // Ontfout konsole Blynk.begin (auth, ssid, pass); // maak verbinding met blynk timer.setInterval (tydsdag, sensors); // Stel 'n funksie op wat elke minuut genoem moet word, of watter tydsduur op dht.begin () ingestel is; // hardloop DHT -sensor}
// Die nietige lus moet slegs blynk.run en timer bevat
leemte -lus () {Blynk.run (); // Begin blynk timer.run (); // Begin BlynkTimer}
Aanbeveel:
Hoe om 'n plantmonitor met Arduino te bou: 7 stappe
Hoe om 'n plantmonitor met Arduino te bou: in hierdie tutoriaal leer ons hoe om 'n grondvog op te spoor met 'n vogsensor en 'n groen LED te flits as alles in orde is, en OLED -skerm en Visuino. Kyk na die video
Arduino -plantmonitor met grondkapasitiewe sensor - handleiding: 6 stappe
Arduino plantmonitor met grondkapasitiewe sensor - handleiding: in hierdie tutoriaal leer ons hoe u 'n grondvog kan opspoor met behulp van 'n kapasitiewe vogsensor met OLED -skerm en Visuino. Kyk na die video
Beheer oor die hele wêreld met behulp van internet met behulp van Arduino: 4 stappe
Beheer oor die hele wêreld met behulp van internet met behulp van Arduino: Hallo, ek is Rithik. Ons gaan 'n internetbeheerde LED maak met u telefoon. Ons gaan sagteware soos Arduino IDE en Blynk gebruik. Dit is eenvoudig, en as u daarin geslaag het, kan u soveel elektroniese komponente beheer as wat u wil
Monitor versnelling met behulp van Raspberry Pi en AIS328DQTR met behulp van Python: 6 stappe
Monitering van versnelling met behulp van Raspberry Pi en AIS328DQTR Gebruik van Python: Versnelling is eindig, volgens ek volgens sommige wette van die fisika.- Terry Riley 'n Jagluiperd gebruik ongelooflike versnelling en vinnige spoedveranderinge wanneer hy jaag. Die vinnigste wesens aan wal gebruik af en toe sy hoogste tempo om prooi te vang. Die
Aan die gang met ESP32 CAM - Streaming van video met behulp van ESP CAM via wifi - ESP32 -beveiligingskamera -projek: 8 stappe
Aan die gang met ESP32 CAM | Streaming van video met behulp van ESP CAM via wifi | ESP32 -beveiligingskamera -projek: Vandag leer ons hoe u hierdie nuwe ESP32 CAM -bord kan gebruik en hoe ons dit kan kodeer en as 'n beveiligingskamera kan gebruik en 'n stroomvideo oor wifi kan kry