
Съдържание:
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 12:57


Общ преглед
Целта на този проект е да се създаде компактно устройство, способно да следи условията на стайно растение. Устройството дава възможност на потребителя да проверява нивото на влажност на почвата, нивото на влажност, температурата и температурата на „усещане“от смартфон с помощта на приложението Blynk. Освен това потребителят ще получи предупреждение по имейл, когато условията станат неподходящи за централата. Например, потребителят ще получи напомняне да полива растението, когато нивата на влажност в почвата спаднат под подходящо ниво.
Стъпка 1: Изисквания



Този проект използва нещо Sparkfun ESP32, сензор DHT22 и сензор за влажност на електронна тухлена почва. Освен това са необходими wifi мрежа и приложението Blynk. За предпочитане е да се създаде водоустойчив корпус, който да съдържа ESP32. Въпреки че този пример използва стандартен контакт за източник на захранване, добавянето на акумулаторна батерия, слънчев панел и контролер за зареждане би позволило устройството да се захранва чрез възобновяема енергия.
Стъпка 2: Blynk



Изтеглете приложението Blynk и създайте нов проект. Обърнете внимание на маркера за удостоверяване-той ще се използва в кода. Създайте нови визуални приспособления в приложението Blynk и изберете съответните виртуални щифтове, определени в кода. Задайте интервала на опресняване за натискане. Всяка джаджа трябва да получи свой собствен виртуален щифт.
Стъпка 3: Arduino IDE

Изтеглете Arduino IDE. Следвайте инструкциите за изтегляне на драйвера за ESP32 и демото, за да осигурите wifi връзка. Изтеглете библиотеките Blynk и DHT, включени в кода. Попълнете маркера за удостоверяване, паролата за wifi, потребителското име за wifi и имейла в крайния код. Използвайте демонстрационния код за сензора за влажност на почвата, за да намерите минималните и максималните стойности за типа на почвата. Запишете и заменете тези стойности в крайния код. Заменете минималните стойности за температурата, влажността на почвата и влажността на растението в крайния код. Качете кода.
Стъпка 4: Изградете го



Първо, свържете сензора за влажност на почвата към 3.3V, земята и входния щифт 34. Обърнете внимание, че интегралът на превключвателя е настроен на A, защото ще се използва аналоговата настройка за този сензор. След това свържете DHT сензора към 3.3V, заземяване и входен щифт 27. Сензорът DHT22 изисква 10K Ohm резистор между VCC и изхода за извеждане на данни. Не забравяйте да проверите диаграмата на DHT, за да се уверите, че е свързана правилно. Конфигурирайте ESP32 във водоустойчив корпус със сензор за влага в почвата и DHT сензор над повърхността. Свържете се към източник на захранване и се насладете на данни за околната среда на вашето предприятие.
Стъпка 5: Код
// Включени библиотеки
#define BLYNK_PRINT Сериен
#включи #включи #включи #включи "DHT.h"
// Информация за DHT сензора
#дефинирайте DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 #дефинирайте DHTPIN 27 // Цифров извод, свързан към DHT сензора DHT dht (DHTPIN, DHTTYPE); // Инициализиране на DHT сензора.
// дефинираме входните щифтове и изходи
int почвен_сензор = 34; // дефинираме номера на пина на аналоговия вход, свързан към сензора за влага
int output_value; // дефинира като изход
int ниво на влага; // дефинира като изход
int нотифициран = 0; // дефинираме нотифицирано като 0
int timedelay = 60000L; // настройте таймера да работи за получаване на данни веднъж на всяка минута или 60 000 милисекунди
// задайте минимални стойности за растението
int min_moisture = 20; int min_temperature = 75; int min_humidity = 60;
// Трябва да получите Auth Token в приложението Blynk.
char auth = "Auth_Token_Here";
// Вашите идентификационни данни за WiFi.
char ssid = "Wifi_Network_Here"; char pass = "Wifi_Password_Here";
Таймер BlynkTimer;
// Тази функция изпраща времето за работа на Arduino всяка секунда до Virtual Pin (5).
// В приложението честотата на четене на Widget трябва да бъде зададена на PUSH. Това означава, че // вие определяте колко често да се изпращат данни към приложението Blynk.
void Sensors () // основна функция за четене на сензори и натискане към blynk
{output_value = analogRead (ground_sensor); // Чете аналогов сигнал от почвен_сензор и дефинира като output_value // Карта на output_vlaue от min, max стойности до 100, 0 и ограничаване между 0, 100 // Използвайте примерен код и сериен монитор, за да намерите min и макс. стойности за отделен сензор и тип почва за по -добро калибриране на нивото на влажност = ограничение (карта (изходна стойност, 1000, 4095, 100, 0), 0, 100); float h = dht.readHumidity (); // Четене на поплавък за влажност t = dht.readTemperature (); // Четене на температурата като Celsius (по подразбиране) float f = dht.readTemperature (true); // Четене на температурата като Фаренхайт (isFahrenheit = true) // Изчисляване на топлинния индекс във Фаренхайт (по подразбиране) float hif = dht.computeHeatIndex (f, h); // Проверете дали четенето е неуспешно и излезте рано (за да опитате отново). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println (F ("Неуспешно четене от DHT сензор!")); връщане; } // Това свързва vales към виртуални щифтове, дефинирани в приспособленията в приложението Blynk. Blynk.virtualWrite (V5, ниво на влажност); // Изпращане на нивото на влага към виртуален щифт 5 Blynk.virtualWrite (V6, f); // Изпращане на температурата към виртуалния пин 6 Blynk.virtualWrite (V7, h); // Изпращане на влажност на виртуален пин 7 Blynk.virtualWrite (V8, hif); // Изпращане на топлинен индекс на виртуален щифт 8
ако (уведомен == 0)
{if (ниво на влага <= min_moisture) // Ако нивото на влажност е равно или под минималната стойност {Blynk.email ("Email_Here", "Plant Monitor", "Water Plant!"); // Изпращане на имейл до инсталация за вода} забавяне (15000); // Blynk имейлите трябва да са с интервал от 15 секунди. Забавяне 15000 милисекони if (f <= min_temperature) // Ако температурата е равна или под минималната стойност {Blynk.email ("Email_Here", "Plant Monitor", "Temperature Low!"); // Изпращане на имейл, че температурата е ниска
}
забавяне (15000); // Blynk имейлите трябва да са с интервал от 15 секунди. Забавяне на 15000 милисекони if (h <= min_humidity) // Ако влажността е равна или под минималната стойност {Blynk.email ("Emial_Here", "Plant Monitor", "Humidity Low!"); // Изпращане на имейл, че влажността е ниска} известие = 1; timer.setTimeout (timedelay *5, resetNotified); // многократно закъснение по време на желаните минути между повтарящи се предупредителни имейли}}
void resetNotified () // функция, извикана за нулиране на честотата на имейлите
{notified = 0; }
void setup ()
{Serial.begin (9600); // Конзола за отстраняване на грешки Blynk.begin (auth, ssid, pass); // свързване към blynk timer.setInterval (timedelay, Sensors); // Настройка на функция, която да се извиква всяка минута или какъв timedelay е настроен на dht.begin (); // стартирайте DHT сензор}
// Празният цикъл трябва да съдържа само blynk.run и таймер
void loop () {Blynk.run (); // Пуснете blynk timer.run (); // Инициира BlynkTimer}
Препоръчано:
Как да изградите монитор на растенията с Arduino: 7 стъпки

Как да изградим мониторинг на растенията с Arduino: В този урок ще научим как да откриваме влага в почвата с помощта на сензор за влага и да мигаме със зелен светодиод, ако всичко е наред и OLED дисплей и Visuino. Гледайте видеото
Сензор за сърдечен ритъм, използващ Arduino (монитор за сърдечен ритъм): 3 стъпки

Сензор за пулс с помощта на Arduino (монитор за сърдечен ритъм): Сензорът за сърдечен ритъм е електронно устройство, което се използва за измерване на сърдечната честота, т.е. скоростта на сърдечния ритъм. Мониторингът на телесната температура, сърдечната честота и кръвното налягане са основните неща, които правим, за да поддържаме здравето си
Монитор за здраве на растенията: 7 стъпки

Монитор за здраве на растенията: Здравейте, отново. Причината за този проект беше малката ми сестра. Наближава рожденият й ден и тя обича две неща- природата (флора и фауна), както и малки дрънкулки и други подобни. Затова исках да комбинирам тези две неща и да й направя рожден ден p
Слънчево управление на растенията на базата на тегло с ESP32: 7 стъпки (със снимки)

Слънчево управление на растенията на базата на тегло с ESP32: Отглеждането на растения е забавно, а поливането и грижата за тях не представляват никакви проблеми. Приложенията за микроконтролер за наблюдение на тяхното здраве са в целия интернет и вдъхновението за техния дизайн идва от статичната природа на растението и лекотата на движение
Монитор на растенията: 12 стъпки (със снимки)

Монитор на растенията: Целта на монитора на растенията е да сканира и подава вода, ако е необходимо, към растение, свързано с дадения аналогов почвен сензор. Части, необходими за този проект, са: 1x Arduino Uno1x LCD екран1x сервомотор1x почвен сензорен модул1x потенциометър1x медицински 30c