Turinys:
- 1 žingsnis: Reikalavimai
- 2 žingsnis: Blynk
- 3 žingsnis: „Arduino IDE“
- 4 žingsnis: sukurkite
- 5 žingsnis: kodas
Video: Augalų monitorius naudojant „ESP32 Thing“ir „Blynk“: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Apžvalga
Šio projekto tikslas - sukurti kompaktišką prietaisą, galintį stebėti kambarinio augalo sąlygas. Įrenginys leidžia vartotojui patikrinti dirvožemio drėgmės lygį, drėgmės lygį, temperatūrą ir „jaučiamą“temperatūrą išmaniajame telefone naudojant „Blynk“programą. Be to, vartotojas gaus įspėjimą el. Paštu, kai sąlygos taps netinkamos gamyklai. Pvz., Vartotojas gaus priminimą laistyti augalą, kai dirvožemio drėgmės lygis nukris žemiau tinkamo lygio.
1 žingsnis: Reikalavimai
Šiame projekte naudojamas „Sparkfun ESP32“daiktas, DHT22 jutiklis ir elektroninis plytų dirvožemio drėgmės jutiklis. Be to, reikalingas „Wi -Fi“tinklas ir „Blynk“programa. Pageidautina, kad būtų sukurtas vandeniui atsparus gaubtas, kuriame būtų ESP32 dalykas. Nors šiame pavyzdyje naudojamas standartinis maitinimo šaltinio lizdas, pridėjus įkraunamą bateriją, saulės kolektorių ir įkrovimo valdiklį, prietaisas galėtų būti maitinamas naudojant atsinaujinančią energiją.
2 žingsnis: Blynk
Jei norite, atsisiųskite „Blynk“programą ir sukurkite naują projektą. Atkreipkite dėmesį į autentifikavimo žetoną-jis bus naudojamas kode. Sukurkite naujus ekrano valdiklius programoje „Blynk“ir pasirinkite atitinkamus virtualius kaiščius, apibrėžtus kode. Nustatykite atnaujinimo intervalą. Kiekvienam valdikliui reikia priskirti savo virtualų kaištį.
3 žingsnis: „Arduino IDE“
Atsisiųskite „Arduino IDE“. Vykdykite ESP32 daiktų tvarkyklės ir demonstracinės versijos atsisiuntimo instrukcijas, kad užtikrintumėte „Wi -Fi“ryšį. Atsisiųskite į kodą įtrauktas „Blynk“ir „DHT“bibliotekas. Į galutinį kodą įveskite autentifikavimo prieigos raktą, „wifi“slaptažodį, „wifi“vartotojo vardą ir el. Naudokite dirvos drėgmės jutiklio demonstracinį kodą, kad surastumėte minimalias ir maksimalias dirvožemio tipo vertes. Įrašykite ir pakeiskite šias vertes galutiniame kode. Galutiniame kode pakeiskite minimalias augalo temperatūros, dirvožemio drėgmės ir drėgmės vertes. Įkelkite kodą.
4 žingsnis: sukurkite
Pirmiausia prijunkite dirvožemio drėgmės jutiklį prie 3,3 V, įžeminimo ir įvesties kaiščio 34. Atkreipkite dėmesį, kad jungiklis yra integruotas į A padėtį, nes bus naudojamas analoginis šio jutiklio nustatymas. Tada prijunkite DHT jutiklį prie 3.3V, įžeminimo ir įvesties kaiščio 27. DHT22 jutikliui reikia 10K omo rezistoriaus tarp VCC ir duomenų išvesties kaiščio. Būtinai patikrinkite DHT diagramą, kad įsitikintumėte, jog ji tinkamai prijungta. ESP32 sukonfigūruokite vandeniui nepralaidžiame gaubte su drėgmės jutikliu dirvožemyje ir DHT jutikliu virš paviršiaus. Prisijunkite prie maitinimo šaltinio ir mėgaukitės savo gamyklos aplinkos duomenimis.
5 žingsnis: kodas
// Įtrauktos bibliotekos
#define BLYNK_PRINT Serialas
#įtraukimas #įtraukimas #įtraukimas #įtraukimas "DHT.h"
// DHT jutiklio informacija
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 #define DHTPIN 27 // Skaitmeninis kaištis prijungtas prie DHT jutiklio DHT dht (DHTPIN, DHTTYPE); // Inicijuokite DHT jutiklį.
// apibrėžti įvesties kaiščius ir išėjimus
int dirvos_jutiklis = 34; // apibrėžti analoginį įvesties kaiščio numerį, prijungtą prie drėgmės jutiklio
int output_value; // apibrėžti kaip išvestį
int drėgmės lygis; // apibrėžti kaip išvestį
int pranešta = 0; // apibrėžti pažymėtą kaip 0
int laiko uždelsimas = 60000L; // nustatyti laikmatį paleisti, kad gautumėte duomenis kartą per minutę arba 60 000 milisekundžių
// nustatykite minimalias augalo vertes
int min_moisture = 20; int min_temperatūra = 75; int min_ drėgmė = 60;
// „Blynk“programoje turėtumėte gauti „Auth Token“.
char auth = "Auth_Token_Here";
// Jūsų „WiFi“prisijungimo duomenys.
char ssid = "Wifi_Network_Here"; char pass = "Wifi_Password_Here";
„BlynkTimer“laikmatis;
// Ši funkcija kas sekundę siunčia „Arduino“budėjimo laiką į virtualųjį kaištį (5).
// Programoje valdiklio skaitymo dažnis turėtų būti nustatytas į PUSH. Tai reiškia, kad jūs nustatote, kaip dažnai siųsti duomenis į „Blynk“programą.
void Sensors () // pagrindinė funkcija skaityti jutiklius ir stumti į blynk
{output_value = analogRead (ground_sensor); // Skaitykite analoginį signalą iš ground_sensor ir apibrėžkite kaip output_value // Išvesties_viksės žemėlapį nustatykite nuo min, maks. reikšmių iki 100, 0 ir apribokite nuo 0 iki 100 // Naudokite mėginio kodą ir nuoseklųjį monitorių, kad surastumėte min ir maksimalios atskiro jutiklio ir dirvožemio tipo vertės, kad būtų geriau kalibruojamas drėgmės lygis = suvaržymas (žemėlapis (išvesties_ vertė, 1000, 4095, 100, 0), 0, 100); plūdė h = dht.readHumidity (); // Skaityti drėgmės plūdę t = dht.readTemperature (); // Skaityti temperatūrą kaip Celsijų (numatytoji) float f = dht.readTemperature (true); // Skaityti temperatūrą kaip Farenheitą (isFahrenheit = true) // Apskaičiuoti šilumos indeksą Farenheitu (numatytasis) float hif = dht.computeHeatIndex (f, h); // Patikrinkite, ar nepavyko nuskaityti, ir išeikite anksčiau (bandykite dar kartą). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println (F ("Nepavyko nuskaityti iš DHT jutiklio!")); grįžti; } // Tai sujungia vales su virtualiais kaiščiais, apibrėžtais „Blynk“programos valdikliuose „Blynk.virtualWrite“(V5, drėgmės lygis); // Siųsti drėgmės lygį į virtualųjį kaištį 5 „Blynk.virtualWrite“(V6, f); // Siųsti temperatūrą į virtualųjį 6 kaištis Blynk.virtualWrite (V7, h); // Siųsti drėgmę į virtualų kaištį 7 Blynk.virtualWrite (V8, hif); // Siųsti šilumos indeksą į virtualų 8 kaištį
jei (pranešta == 0)
{if (drėgmės lygis <= min_moisture) // Jei drėgmės lygis yra lygus arba mažesnis už min. reikšmę {Blynk.email ("Email_Here", "Plant Monitor", "Water Plant!"); // Send email to water plant} delay (15000); // „Blynk“el. Laiškų skirtumas turi būti 15 sekundžių. Atidėkite 15000 milisekundžių, jei (f <= min_temperatūra) // Jei temperatūra yra lygi arba mažesnė už min. Reikšmę {Blynk.email ("Email_Here", "Plant Monitor", "Temperature Low!"); // Siųsti el. Laišką, kad temperatūra žema
}
vėlavimas (15000); // „Blynk“el. Laiškų skirtumas turi būti 15 sekundžių. Atidėkite 15000 milisekundžių, jei (h <= min_humidity) // Jei drėgmė lygi arba mažesnė už min. Reikšmę {Blynk.email ("Emial_Here", "Plant Monitor", "Low Drėgmė!"); // Siųsti el. Laišką, kad drėgmė yra maža} pranešta = 1; timer.setTimeout (laiko praleidimas *5, atstatymasNotifikuotas); // daugkartinis laiko atidėjimas pagal norimų minučių skaičių tarp pakartotinių įspėjamųjų el. laiškų}}
void resetNotified () // funkcija iškviesta iš naujo nustatyti el. laiškų dažnį
{pranešta = 0; }
negaliojanti sąranka ()
{Serial.begin (9600); // Derinimo pultas Blynk.begin (auth, ssid, pass); // prisijungti prie blynk timer.setInterval (timedelay, Sensors); // Nustatykite funkciją, kuri bus iškviečiama kas minutę arba koks laiko atidėjimas nustatytas į dht.begin (); // paleisti DHT jutiklį}
// Tuštumos cikle turėtų būti tik blynk.run ir laikmatis
tuštumos kilpa () {Blynk.run (); // Paleisti blynk timer.run (); // Inicijuoja „BlynkTimer“}
Rekomenduojamas:
„Arduino“augalų monitorius su dirvožemio talpos jutikliu - Pamoka: 6 žingsniai
„Arduino“augalų monitorius su dirvožemio talpos jutikliu - pamoka: Šioje pamokoje sužinosime, kaip aptikti dirvožemio drėgmę naudojant talpinį drėgmės jutiklį su OLED ekranu ir „Visuino“. Žiūrėkite vaizdo įrašą
Išmanusis kambarinių augalų monitorius - žinokite, kada jūsų augalą reikia laistyti: 8 žingsniai (su nuotraukomis)
Išmanusis kambarinių augalų monitorius - žinokite, kada jūsų augalą reikia laistyti: Prieš porą mėnesių aš padariau dirvožemio drėgmės stebėjimo lazdelę, kuri maitinama iš baterijų ir gali būti įstrigusi jūsų dirvožemio puode, kad suteiktų jums naudingos informacijos apie dirvą drėgmės lygis ir mirksi šviesos diodai, nurodantys, kada reikia laukti
Kambarinių augalų laistymas naudojant „NodeMCU“, vietinį „Blynk Server“ir „Blynk Apk“, reguliuojamas nustatymo taškas: 3 žingsniai
Kambarinių augalų laistymas naudojant „NodeMCU“, „Local Blynk Server“ir „Blynk Apk“, reguliuojamas nustatymo taškas: Aš sukūriau šį projektą, nes mano kambariniai augalai turi būti sveiki net tada, kai ilgesnį laiką atostogauju, ir man patinka idėja internetu kontroliuoti ar bent stebėti visus galimus dalykus, kurie vyksta mano namuose
Saulės masės augalų valdymas naudojant ESP32: 7 žingsniai (su nuotraukomis)
Saulės svoriu pagrįstas augalų valdymas naudojant ESP32: Augalų auginimas yra įdomus, o laistymas ir priežiūra jais tikrai nėra vargas. Internete yra mikrovaldiklių programos, skirtos jų sveikatai stebėti, o jų dizaino įkvėpimo šaltinis yra statinis augalo pobūdis ir paprastas valdymas
Augalų monitorius: 12 žingsnių (su nuotraukomis)
Augalų monitorius: Augalų monitoriaus tikslas yra nuskaityti ir, jei reikia, įpilti vandens, kad augalas prijungtų nurodytą analoginį dirvožemio jutiklį. Šiam projektui reikalingos dalys: 1x „Arduino Uno1x“LCD ekranas1x servo variklis1x dirvožemio jutiklio blokas1x potenciometras1x medicinos 30c