Мазмұны:
Бейне: ESP32 Thing and Blynk қолданатын өсімдік мониторы: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
Шолу
Бұл жобаның мақсаты - үй өсімдіктерінің жағдайын бақылай алатын ықшам құрылғыны құру. Құрылғы пайдаланушыға Blynk қосымшасы арқылы смартфоннан топырақтың ылғалдылық деңгейін, ылғалдылық деңгейін, температураны және «сезімтал» температураны тексеруге мүмкіндік береді. Сонымен қатар, қондырғы қондырғыға жарамсыз болған кезде пайдаланушыға электронды түрде хабарлама жібереді. Мысалы, топырақ ылғалдылығы қолайлы деңгейден төмендеген кезде пайдаланушыға зауытты суару туралы ескертпе келеді.
1 -қадам: талаптар
Бұл жобада Sparkfun ESP32 заты, DHT22 сенсоры және кірпіштің электронды ылғал сенсоры қолданылады. Сонымен қатар, Wi -Fi желісі мен Blynk қосымшасы қажет. Ең дұрысы, су өткізбейтін қоршау ESP32 заттан тұратын етіп жасалуы керек. Бұл мысалда қуат көзі үшін стандартты розетка қолданылғанымен, қайта зарядталатын батареяны, күн панелін және заряд реттегішін қосу құрылғыны жаңартылатын энергиямен қуаттауға мүмкіндік береді.
2 -қадам: Блинк
Blynk қосымшасын жүктеп алып, жаңа жоба жасаңыз. Аутентификация таңбалауышына назар аударыңыз-ол кодта қолданылады. Blynk қосымшасында жаңа дисплей виджеттерін жасаңыз және кодта анықталған сәйкес виртуалды түйреуіштерді таңдаңыз. Басу үшін жаңарту аралығын орнатыңыз. Әр виджетке жеке виртуалды түйреуіш тағайындау керек.
3 -қадам: Arduino IDE
Arduino IDE жүктеп алыңыз. Wi -Fi қосылымын қамтамасыз ету үшін ESP32 зат драйвері мен демонстрациясын жүктеу нұсқауларын орындаңыз. Кодқа енгізілген Blynk және DHT кітапханаларын жүктеңіз. Түпнұсқалық растау белгісін, wifi құпия сөзін, wifi пайдаланушы атын және электрондық поштаны соңғы кодқа енгізіңіз. Топырақ типінің минималды және максималды мәндерін табу үшін топырақ ылғалдылығы сенсорының демо -кодын пайдаланыңыз. Бұл мәндерді соңғы кодқа жазыңыз және ауыстырыңыз. Соңғы кодтағы өсімдік үшін температура, топырақ ылғалдылығы мен ылғалдылықтың минималды мәндерін ауыстырыңыз. Кодты жүктеңіз.
4 -қадам: Оны құрастырыңыз
Алдымен топырақтың ылғалдылық датчигін 3.3В, жерге және кіріс штыры 34 -ке жалғаңыз. Ескеріңіз, бұл ажыратқыш А -ға орнатылған, себебі бұл сенсордың аналогтық параметрі қолданылады. Содан кейін, DHT сенсоры 3.3В, жерге тұйықтау және кіріс штыры 27 -ге жалғаңыз. DHT22 сенсоры VCC мен деректерді шығаратын түйреуіш арасындағы 10K Ом резисторды қажет етеді. DHT диаграммасының дұрыс сымдалғанына көз жеткізіңіз. ESP32 қондырғысын су өткізбейтін корпустың ішіндегі ылғал сенсоры мен DHT сенсоры беттің үстінде орнатыңыз. Қуат көзіне қосылыңыз және зауыттың қоршаған ортасы туралы деректерді тыңдаңыз.
5 -қадам: код
// Қосылған кітапханалар
#BLYNK_PRINT сериясын анықтаңыз
#қосу #қосу #қосу #қосу «DHT.h»
// DHT сенсоры туралы ақпарат
#DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 анықтаңыз #DHTPIN 27 анықтаңыз // DHT DHT DHT сенсорына қосылған сандық түйреуіш (DHTPIN, DHTTYPE); // DHT сенсорын іске қосыңыз.
// кіріс түйреуіштері мен шығыстарды анықтау
int tuproq_сенсоры = 34; // ылғалдылық датчигіне қосылған аналогтық кіріс пин нөмірін анықтау
int output_value; // шығыс ретінде анықтаңыз
int moistlevel; // шығыс ретінде анықтаңыз
int notified = 0; // хабарламаны 0 ретінде анықтаңыз
int timedelay = 60000L; // таймерді минутына бір рет немесе 60 000 милисекундта алуды орнатыңыз
// өсімдіктер үшін минималды мәндерді орнатыңыз
int min_moisture = 20; int min_temperature = 75; int min_humidity = 60;
// Сіз Blynk қосымшасында Auth Token алуыңыз керек.
char auth = «Auth_Token_Here»;
// Сіздің WiFi тіркелгі деректеріңіз.
char ssid = «Wifi_Network_Here»; char pass = «Wifi_Password_Here»;
BlynkTimer таймері;
// Бұл функция әр секунд сайын Arduino жұмыс уақытын Virtual Pin (5) жібереді.
// Қолданбада Виджеттің оқу жиілігі PUSH күйіне орнатылуы керек. Бұл // Blynk қосымшасына деректерді жіберу жиілігін анықтайтынын білдіреді.
void Sensors () // сенсорларды оқу мен blynk -ке итерудің негізгі функциясы
{output_value = analogRead (tuproq_сенсоры); // tuproq_сенсорынан аналогтық сигналды оқыңыз және output_value ретінде анықтаңыз // output_vlaue минималды мәнінен 100, 0 -ге дейін шектеңіз және 0 -ден 100 -ге дейін шектеңіз // Мин және ылғалдылық деңгейін жақсырақ калибрлеу үшін жеке датчик пен топырақтың максималды мәндері = шектеу (карта (шығыс_мәні, 1000, 4095, 100, 0), 0, 100); float h = dht.readHumidity (); // ылғалдылықтың өзгеруін оқу t = dht.readTemperature (); // Оқу температурасы Цельсий ретінде (әдепкі) өзгермелі f = dht.readTemperature (true); // Температураны Фаренгейт ретінде оқу (isFahrenheit = true) // Фаренгейт бойынша жылу индексін есептеу (әдепкі) hif = dht.computeHeatIndex (f, h); // Кез келген оқу сәтсіз болғанын тексеріп, ерте шығыңыз (қайталап көру үшін). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println (F («DHT сенсорынан оқу мүмкін болмады!»)); қайтару; } // Бұл мәндерді Blynk Blynk қосымшасындағы виджеттерде анықталған виртуалды түйреуіштермен байланыстырады.virtualWrite (V5, ылғалдылық деңгейі); // ылғалдылық деңгейін 5 виртуалды түйреуішке жіберу Blynk.virtualWrite (V6, f); // температураны виртуалдыға жіберу пин 6 Blynk.virtualWrite (V7, h); // ылғалдылықты виртуалды 7 пинге жіберу
егер (хабарланған == 0)
{if (moistlevel <= min_moisture) // Егер ылғалдылық деңгейі минималды мәнге тең немесе төмен болса {Blynk.email («Email_Here», «Өсімдік мониторы», «Су зауыты!»); // Су қондырғысына электрондық поштаны жіберу} delay (15000); // Blynk хаттары 15 секунд аралықта болуы керек. 15000 миллисекунды кешіктіру if (f <= min_temperature) // Егер температура мин мәніне тең немесе одан төмен болса {Blynk.email («Email_Here», «Өсімдік мониторы», «Температура төмен!»); // Температура төмен екендігі туралы электрондық хат жіберіңіз
}
кешіктіру (15000); // Blynk хаттары 15 секунд аралықта болуы керек. 15000 миллисекунды кешіктіру if (h <= min_humidity) // Егер ылғалдылық минималды мәнге тең немесе одан төмен болса {Blynk.email («Emial_Here», «Өсімдік мониторы», «Ылғалдылық төмен!»); // Ылғалдылық төмен екендігі туралы электрондық хабар жіберу} notified = 1; timer.setTimeout (timedelay *5, resetNotified); // қайталанатын ескерту хаттары арасында қажет уақыт саны бойынша уақытты көбейту}}
void resetNotified () // электрондық пошта жиілігін қалпына келтіру үшін шақырылатын функция
{хабарланды = 0; }
жарамсыз орнату ()
{Serial.begin (9600); // Отладка консолі Blynk.begin (auth, ssid, pass); // blynk timer.setInterval қызметіне қосылу (timedelay, Sensors); // Әр минут сайын шақырылатын функцияны немесе уақыт кестесі dht.begin () мәніне орнатылады; // DHT сенсорын іске қосыңыз}
// Void циклында тек blynk.run мен таймер болуы керек
void loop () {Blynk.run (); // blynk timer.run () іске қосыңыз; // BlynkTimer іске қосады}
Ұсынылған:
Arduino көмегімен өсімдік мониторын қалай құруға болады: 7 қадам
Arduino көмегімен өсімдік мониторын қалай құруға болады: Бұл оқулықта біз ылғал сенсорының көмегімен топырақтың ылғалдылығын анықтауды және егер бәрі жақсы болса, жасыл жарық диодты және OLED дисплейі мен Visuino -ны қалай жоятынын білеміз
Топырақ сыйымдылық сенсоры бар Arduino өсімдік мониторы - Оқулық: 6 қадам
Топырақ сыйымдылығы сенсоры бар Arduino өсімдік мониторы - Оқулық: Бұл оқулықта біз OLED дисплейі мен Visuino бар сыйымдылық ылғалдылығы сенсорының көмегімен топырақ ылғалдылығын анықтауды үйренеміз. Бейнені қараңыз
Микрогравитациялық өсімдік өсіруші «Диско -бал»: 13 қадам
Микрогравитациялық зауыт өсіруші «Диско -бал»: Сәлеметсіздер ме, оқырмандар, бұл жоба - өсіп келе жатқан жер жасаушылар байқауының кәсіби ұсынысы, бұл жоба ықшам гравитацияда жоспарды өсіру үшін пайдаланылатын ықтимал қондырғы дизайны тұжырымдамасының дәлелі болып табылады. конкурс ережелері мен тізімге енгіздім
Machine Learning көмегімен өсімдік ауруларын қалай анықтауға болады: 6 қадам
Машиналық оқытудың көмегімен өсімдік ауруларын қалай анықтауға болады: Ауру өсімдіктерді анықтау мен тану процесі әрқашан қолмен және жалықтыратын процесс болды, ол адамдардан өсімдіктердің денесін визуалды түрде тексеруді талап етеді, бұл көбінесе қате диагнозға әкелуі мүмкін. Болжам бойынша, жаһандық әлемдік
Өсімдік мониторы: 12 қадам (суреттермен)
Өсімдік мониторы: Зауыт мониторының мақсаты - берілген аналогты топырақ датчигіне қосылған зауытқа суды сканерлеу және енгізу. Бұл жобаға қажет бөлшектер: 1x Arduino Uno1x СКД Экран 1x Серво Мотор1x Топырақ Сенсоры 1x Потенциометр1x Медициналық 30c