Orodha ya maudhui:

Mtazamaji wa mmea Kutumia ESP32 Thing na Blynk: Hatua 5
Mtazamaji wa mmea Kutumia ESP32 Thing na Blynk: Hatua 5

Video: Mtazamaji wa mmea Kutumia ESP32 Thing na Blynk: Hatua 5

Video: Mtazamaji wa mmea Kutumia ESP32 Thing na Blynk: Hatua 5
Video: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, Novemba
Anonim
Mtazamaji wa mmea Kutumia ESP32 Thing na Blynk
Mtazamaji wa mmea Kutumia ESP32 Thing na Blynk
Mtazamaji wa mmea Kutumia ESP32 Thing na Blynk
Mtazamaji wa mmea Kutumia ESP32 Thing na Blynk

Maelezo ya jumla

Lengo la mradi huu ni kuunda kifaa chenye uwezo wa kufuatilia hali ya upandaji wa nyumba. Kifaa hicho kinamwezesha mtumiaji kuangalia kiwango cha unyevu wa mchanga, kiwango cha unyevu, joto, na joto la "kujisikia-kama" kutoka kwa smartphone kutumia App ya Blynk. Kwa kuongezea, mtumiaji atapokea arifa ya barua pepe wakati hali zitakuwa hazifai kwa mmea. Kwa mfano, mtumiaji atapokea ukumbusho wa kumwagilia mmea wakati viwango vya unyevu wa mchanga vinashuka chini ya kiwango kinachofaa.

Hatua ya 1: Mahitaji

Mahitaji
Mahitaji
Mahitaji
Mahitaji
Mahitaji
Mahitaji

Mradi huu unatumia kitu cha Sparkfun ESP32, sensorer ya DHT22, na Sensor ya Udongo wa Udongo wa Elektroniki. Kwa kuongeza, mtandao wa wifi na programu ya Blynk inahitajika. Ikiwezekana, kizuizi kisicho na maji kinapaswa kuundwa ili iwe na kitu cha ESP32. Wakati mfano huu unatumia kituo cha kawaida cha chanzo cha umeme, kuongezewa betri inayoweza kuchajiwa, jopo la jua, na kidhibiti chaji itawezesha kifaa kuwezeshwa kupitia nishati mbadala.

Hatua ya 2: Blynk

Blynk
Blynk
Blynk
Blynk
Blynk
Blynk

Ili kuwa, pakua programu ya Blynk na uunde mradi mpya. Kumbuka ishara ya uthibitishaji - itatumika kwenye nambari. Unda vilivyoandikwa vipya vya kuonyesha katika programu ya Blynk na uchague pini zinazofanana zinazoelezewa kwenye nambari. Weka muda wa kuonyesha upya ili kushinikiza. Kila wijeti inapaswa kupewa pini yake halisi.

Hatua ya 3: Arduino IDE

Arduino IDE
Arduino IDE

Pakua Arduino IDE. Fuata maagizo ya kupakua ya dereva wa kitu cha ESP32 na onyesho ili kuhakikisha uunganisho wa wifi. Pakua maktaba za Blynk na DHT zilizojumuishwa kwenye nambari. Jaza ishara ya uthibitishaji, nywila ya wifi, jina la mtumiaji wa wifi, na barua pepe katika nambari ya mwisho. Tumia nambari ya onyesho kwa sensorer ya unyevu wa mchanga kupata viwango vya chini na vya juu kwa aina ya mchanga. Rekodi na ubadilishe maadili haya katika nambari ya mwisho. Badilisha viwango vya chini vya joto, unyevu wa mchanga, na unyevu kwa mmea katika nambari ya mwisho. Pakia nambari.

Hatua ya 4: Jenga

Jenga
Jenga
Jenga
Jenga
Jenga
Jenga

Kwanza, unganisha sensorer ya unyevu wa ardhi kwa 3.3V, ardhi, na pini ya kuingiza 34. Kumbuka, ni muhimu swichi imewekwa kwa A kwa sababu mpangilio wa analog ya sensa hii itatumika. Ifuatayo, unganisha sensorer ya DHT kwa 3.3V, ardhi, na pini ya kuingiza 27. Sensorer ya DHT22 inahitaji kinzani ya 10K Ohm kati ya VCC na pini ya data. Hakikisha kuangalia mchoro wa DHT ili kuhakikisha kuwa imeunganishwa vizuri. Sanidi ESP32 ndani ya kizuizi kisicho na maji na sensor ya unyevu kwenye mchanga na sensor ya DHT juu ya uso. Unganisha na chanzo cha nguvu na ufurahie data kwenye mazingira ya mmea wako.

Hatua ya 5: Kanuni

// Maktaba zilizojumuishwa

#fafanua BLYNK_PRINT Serial

# pamoja na # pamoja na # pamoja na # pamoja na "DHT.h"

// Habari ya sensorer ya DHT

#fafanua DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 #fafanua DHTPIN 27 // Pini ya dijiti iliyounganishwa na sensor ya DHT DHT dht (DHTPIN, DHTTYPE); // Anzisha sensorer ya DHT.

// kufafanua pini za kuingiza na matokeo

sdor_sensor = 34; // fafanua nambari ya siri ya pembejeo ya analog iliyounganishwa na sensorer ya unyevu

// pato_thamani; // fafanua kama pato

int unyevu, // fafanua kama pato

int ilifahamishwa = 0; // fafanua kama 0

wakati uliowekwa = 60000L; // kuweka kipima muda ili kupata data mara moja kila dakika au 60, 000 miliseconds

// weka maadili ya chini kwa mmea

int min_moisture = 20; int min_joto = 75; unyevu wa chini = 60;

// Unapaswa kupata Auth Token katika Programu ya Blynk.

char auth = "Auth_Token_Here";

// Kitambulisho chako cha WiFi.

char ssid = "Wifi_Network_Hapa"; char pass = "Wifi_Password_Hapa";

Kipima muda cha BlynkTimer;

// Kazi hii inapeleka wakati wa juu wa Arduino kila sekunde kwa Pini ya Virtual (5).

// Katika programu, frequency ya kusoma ya Widget inapaswa kuwekwa kwa PUSH. Hii inamaanisha // kwamba unafafanua ni mara ngapi kutuma data kwa Programu ya Blynk.

Sensors batili () // kazi kuu kusoma sensorer na kushinikiza kwa blynk

{output_value = AnalogRead (udongo_sensor); maadili ya juu ya sensorer ya mtu binafsi na aina ya mchanga kwa usawa bora wa unyevu = kubana (ramani (pato_wa thamani, 1000, 4095, 100, 0), 0, 100); kuelea h = dht.read Humidity (); // Soma kuelea kwa unyevu t = dht. Joto la Joto (); // Soma joto kama Celsius (chaguo-msingi) kuelea f = dht. Soma Joto (kweli); // Soma joto kama Fahrenheit (isFahrenheit = kweli) // Fanya faharisi ya joto katika Fahrenheit (chaguo-msingi) kuelea hif = dht.computeHeatIndex (f, h); // Angalia ikiwa usomaji wowote umeshindwa na utoke mapema (kujaribu tena). ikiwa (isnan (h) || isnan (t) || isnan (f)) {Serial.println (F ("Imeshindwa kusoma kutoka kwa sensorer ya DHT!")); kurudi; } // Hii inaunganisha vales na pini halisi zilizoainishwa katika vilivyoandikwa kwenye programu ya Blynk Blynk.virtualWrite (V5, unyevu); // Tuma kiwango cha unyevu kwa pini 5 Blynk. VirtualWrite (V6, f); // Tuma joto pin 6 Blynk. Virtual Writ (V7, h); // Tuma unyevu kwa pini halisi 7 Blynk. Virtual Writ (V8, hif);

ikiwa (imearifiwa == 0)

{kama (unyevulevel // Tuma barua pepe kwa mmea wa maji} kuchelewa (15000); // Barua pepe za Blynk lazima ziwe mbali na sekunde 15. Kuchelewesha milliseconi 15000 ikiwa (f <= min_joto) // Ikiwa joto ni sawa au chini ya thamani ya chini {Blynk.email ("Email_Here", "Monitor Monitor", "Joto Chini!"); // Tuma barua pepe kuwa joto ni la chini

}

kuchelewa (15000); // Barua pepe za Blynk lazima ziwe mbali na sekunde 15. Kuchelewesha milliseconi 15000 ikiwa (h <= min_humidity) // Ikiwa unyevu ni sawa au chini ya thamani ya min {Blynk.email ("Emial_Here", "Monitor Monitor", "Humidity Low!"); // Tuma barua pepe kwamba unyevu ni mdogo} umearifiwa = 1; timer.setTimeout (timedelay * 5, resetNotified); // kuzidisha muda kwa idadi ya dakika zinazohitajika kati ya barua pepe za kurudia za onyo}}

reset batili Imejulishwa () // kazi inayoitwa kuweka upya mzunguko wa barua pepe

{aliarifiwa = 0; }

kuanzisha batili ()

{Serial.begin (9600); // Dashibodi ya utatuzi Blynk. Anza (auth, ssid, pass); // unganisha kwenye kipima muda cha blynk.setInterval (timedelay, Sensors); // Sanidi kazi ya kuitwa kila dakika au ni saa gani iliyowekwa kwa dht. Anza (); // endesha sensorer ya DHT}

// Kitanzi batili kinapaswa kuwa na blynk.run na timer tu

kitanzi batili () {Blynk.run (); // Run blynk timer.run (); // Huanzisha BlynkTimer}

Ilipendekeza: