Проєкт «Зроби власний розумний сільськогосподарський датчик на Arduino» – це недорога IoT-система для агротехніки, яка вимірює вологість ґрунту, температуру, вологість повітря та рівень освітлення, видає сигнал про потребу в поливі та за бажанням надсилає дані на веб-панель для моніторингу. У цьому посібнику ви знайдете повний перелік компонентів, схему підключення, приклад коду, кроки калібрування, поради щодо надійності в польових умовах та способи віддаленого спостереження за даними через інтернет — все це можна зібрати приблизно за 1-2 години.
Розумні агродатчики застосовують як у невеликих садках, так і в теплицях для зменшення зайвого поливу, раннього виявлення стресу рослин і цифрового контролю умов вирощування. Індустріальні системи є потужними, але для початківців, студентів, мейкерів чи малого бізнесу модульна система на базі Arduino є більш доступною та навчальною. При правильному виборі датчиків і регулярній калібруванні можна отримувати досить надійні результати для прийняття щоденних рішень.
Мета цієї статті — не просто зібрати працюючу схему, а розглянути логіку вимірювань, точність даних, енергоспоживання, підключення до інтернету й безпечну публікацію інформації. Якщо ви хочете відображати дані датчика на сайті або особистій панелі, знадобиться надійна інфраструктура для зберігання. У цьому допоможуть Hostragons рішення для веб-хостингу для розміщення і Hostragons перевірка домену для реєстрації домену.
Ціль проєкту та принцип роботи
Цей розумний сільськогосподарський датчик збирає чотири основні параметри навколишнього середовища: вологість ґрунту, температуру, вологість повітря та інтенсивність освітлення. Arduino періодично зчитує ці дані, порівнює з встановленими порогами та може виводити інформацію на послідовний монітор, LCD-дисплей, SD-карту або надсилати через Wi-Fi на вебсервер. У базовому режимі система подає сигнал за допомогою LED або звукового сигналу, коли вологість ґрунту падає нижче заданої межі. У більш складних конфігураціях можна підключити реле, яке вмикатиме невеликий насос для автоматичного поливу.
Наприклад, якщо на балконі з томатами вологість ґрунту тривалий час опускається нижче 35%, рослина може відчувати стрес. Ваш датчик робить заміри кожні 10 хвилин, бере середнє значення останніх 6 вимірювань і якщо вологість низька — сповіщає про необхідність поливу. Такий підхід надійніший, ніж приймати рішення за одним випадковим показником, адже датчики ґрунту можуть показувати короткочасні коливання через солоність, якість контакту чи різкі зміни температури.
Інтернет речей (IoT) тут працює просто: пристрій знімає показники, мікроконтролер їх обробляє, модуль зв’язку передає дані, а вебпанель або база зберігає історію. Якщо ви збираєтеся публікувати панель публічно, рекомендується використовувати HTTPS. Хоча дані датчика не є персональними, вони можуть розкривати місце розташування, схему виробництва та бізнес-звички. Тому варто врахувати питання безпеки, наприклад що таке сертифікат SSL і чому він потрібен, щоб убезпечити ваш проєкт.
Необхідні компоненти та орієнтовна вартість
Нижче наведено перелік найпоширеніших, стабільних і доступних деталей для початку. Ціни залежать від бренду, якості та постачальника, тому звертайте увагу на практичні критерії вибору, а не лише на вартість. Якщо плануєте використовувати датчик на вулиці, особливо важливо обрати ємнісний датчик вологості та водонепроникний корпус.
- Arduino Uno або Arduino Nano: Uno зручний для навчання, Nano — для компактних пристроїв.
- Ємнісний датчик вологості ґрунту: стійкіший до корозії, ніж резистивні.
- Датчик температури і вологості DHT22 або DHT11: DHT22 точніший і має ширший діапазон.
- LDR (фоторезистор) та резистор 10 кОм: для приблизного виміру рівня освітлення.
- Wi-Fi модуль ESP8266 або плата ESP32: для підключення до інтернету.
- Реле-модуль та міні-насос: для автоматичного поливу (опційно).
- Зовнішній адаптер живлення 5В або павербанк: забезпечує стабільне живлення у полі.
- Макетна плата (breadboard), перехідні проводи, паяльне обладнання: для монтажу та з’єднань.
- Корпус зі ступенем захисту IP65, кабельні вводи, силіконові ущільнювачі: для захисту від погодних умов.
Для базового набору (Arduino, датчик вологості, DHT, дроти) вартість буде нижчою за готові промислові системи. Додавання Wi-Fi, вебінтерфейсу, автоматичного насоса та корпусу для вулиці збільшує ціну, але і користь від системи суттєво зростає. Особливо в теплицях, де запис рішень про полив дозволяє чітко відстежувати дні з водним стресом протягом тижнів.
Порівняння Arduino, ESP32 та готових наборів датчиків
Перед початком важливо вибрати плату для проєкту. Arduino Uno простий для навчання, ESP32 має вбудований Wi-Fi і потужніший процесор — це переваги для IoT. Готові набори швидко розгортаються, але можуть мати обмежені можливості для кастомізації.
| Варіант | Переваги | Недоліки | Оптимальне використання |
|---|---|---|---|
| Arduino Uno | Багато навчальних матеріалів, просте підключення, ідеально для початківців | Немає вбудованого Wi-Fi, більший розмір | Прототипи, навчальні проєкти |
| Arduino Nano | Компактний, дешевший, підходить для постійної установки | USB і розташування пінів можуть бути складнішими для новачків | Малі горщики, балкони, компактні теплиці |
| ESP32 | Вбудований Wi-Fi/Bluetooth, потужний процесор, енергозберігаючі режими | Потрібна увага до рівня логіки 3.3В | IoT системи з відправкою даних на вебпанель |
| Готовий агрокомплект | Швидкий старт, сумісні компоненти в наборі | Менше можливостей для модифікації та вивчення | Користувачі з обмеженим часом |
Якщо це ваш перший проєкт, почніть з Arduino Uno і перевірте дані на послідовному моніторі. Для відправки в інтернет пізніше підключайте ESP8266 або переходьте на ESP32. Для професійної невеликої панелі ESP32 забезпечує менше деталей та чистішу архітектуру.
Схема підключення: базова збірка
У базовій схемі ємнісний датчик вологості підключається до аналогового входу, DHT — до цифрового, LDR — через дільник напруги на аналоговий вхід. Підключайте всі компоненти без живлення! Якщо використовуєте насос і реле, живлення насоса подавайте окремо, а Arduino подавайте лише сигнал керування.
Рекомендовані пін-з’єднання
- Датчик вологості ґрунту: VCC — 5В, GND — GND, AO — A0
- DHT22: VCC — 5В, GND — GND, DATA — D2
- LDR: один контакт — 5В, інший — A1 через резистор 10 кОм на GND
- Індикатор LED: через резистор 220 Ом на пін D8
- Реле: сигнал на D7, насос живиться окремо
Щуп датчика вологості слід вертикально вставити в ґрунт, при цьому кабель не повинен торкатися землі. Не залишайте датчик у постійно мокрій зоні, краще розміщуйте біля кореневої системи, але не там, де вода накопичується. Для кількох горщиків чи грядок краще використовувати окремі датчики, бо один сенсор не зможе точно відобразити всі умови, особливо при крапельному поливі.
Встановлення Arduino IDE та бібліотек
Завантажте Arduino IDE з офіційного сайту, підключіть плату, перевірте її роботу за допомогою базового прикладу Blink. Потім встановіть бібліотеки для DHT-сенсора через Менеджер бібліотек: DHT sensor library та Adafruit Unified Sensor. Це полегшить роботу з температурою і вологістю у коді.
Якщо плануєте підключати вебпанель, додайте менеджер плат ESP8266 або ESP32. У цьому посібнику код наведено для Arduino Uno, щоб чітко зрозуміти логіку. Пізніше можна адаптувати до ESP32 з HTTP POST або MQTT. Для створення API та інтеграції звертайтесь до Посібники з API та інтеграцій.
Приклад коду для Arduino
Нижче наведено код, який читає вологість ґрунту, температуру, вологість повітря та рівень освітлення. Якщо вологість ґрунту опускається нижче порогу, вмикається LED. Врахуйте, що без калібрування не варто очікувати точних відсоткових значень — кожен датчик і тип ґрунту мають свої аналогові діапазони, які треба адаптувати.
#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT22
#define SOIL_PIN A0
#define LDR_PIN A1
#define LED_PIN 8
DHT dht(DHTPIN, DHTTYPE);
int dryValue = 820;
int wetValue = 360;
int minMoisture = 40;
void setup() {
Serial.begin(9600);
dht.begin();
pinMode(LED_PIN, OUTPUT);
}
void loop() {
int soilRaw = analogRead(SOIL_PIN);
int lightRaw = analogRead(LDR_PIN);
float temp = dht.readTemperature();
float hum = dht.readHumidity();
int soilPercent = map(soilRaw, dryValue, wetValue, 0, 100);
soilPercent = constrain(soilPercent, 0, 100);
if (soilPercent < minMoisture) { digitalWrite(LED_PIN, HIGH); }
else { digitalWrite(LED_PIN, LOW); }
Serial.print("Вологість ґрунту: "); Serial.print(soilPercent); Serial.println("%");
Serial.print("Температура: "); Serial.print(temp); Serial.println(" °C");
Serial.print("Вологість повітря: "); Serial.print(hum); Serial.println("%");
Serial.print("Сирий рівень освітлення: "); Serial.println(lightRaw);
Serial.println("---");
delay(10000);
}
Інтервал вимірювань у коді — 10 секунд, що для сільського господарства занадто часто. Для горщиків чи теплиць достатньо 5-15 хвилин. Якщо плануєте живлення від батарей, збільшення інтервалів, живлення датчиків лише у момент зчитування та використання енергозберігаючих режимів істотно продовжать час роботи.
Калібрування: найважливіший крок для точних вимірювань
Часто помилки в проєктах виникають не через схему, а через некоректне калібрування. Датчик вологості видає сирі аналогові значення, які не дорівнюють відсотку вологості. Спочатку визначте сирі показники у сухому та вологому станах. Наприклад, у сухому повітрі — близько 820, у вологому ґрунті — 360. Ці значення задаються у коді як dryValue та wetValue.
Кроки калібрування
- Виміряйте датчик у сухому стані — зробіть 10 замірів і зафіксуйте середнє значення.
- Потім занурте датчик у дуже вологий, але не затоплений ґрунт — теж 10 замірів.
- Повторіть процедуру на ґрунті, який ви плануєте використовувати (торф, глина, піщаний ґрунт мають різні характеристики).
- Слідкуйте за значеннями у серійному моніторі і скоригуйте межі dryValue та wetValue у коді.
- Визначте мінімальний поріг вологості для конкретного виду рослин емпірично.
Зверніть увагу, що 0% і 100% у вашому випадку — це не абсолютна агрономічна вологість, а межі роботи вашого датчика. Для більш надійних рішень можна брати середнє з кількох останніх вимірювань, щоб зменшити вплив шумів та поганого контакту.
Передача даних на вебпанель і публікація
Щоб розумний датчик став справді корисним, треба зберігати історію вимірювань і стежити за трендами. Замість того, щоб дивитись лише на поточне значення вологості, краще бачити потребу у поливі за останній тиждень, динаміку температури та освітлення. Для цього дані відправляють на сервер, зберігають у базі даних і виводять у вигляді графіків на вебпанелі.
Проста архітектура: ESP32 зчитує датчики, відправляє JSON через HTTP POST на сервер; сервер перевіряє дані й записує в MySQL. У панелі відображаються останні виміри у таблицях або графіках. Для публікації на власному домені скористайтеся Як здійснити реєстрацію домену і вибір пакета веб-хостингу.
Для безпеки додайте у API просту перевірку токена: кожен запит містить секретний ключ, без якого сервер не приймає дані. Захищайте панель паролем, оновлюйте софт і обов’язково використовуйте HTTPS. Якщо публікуєте дані публічно, уникайте точних координат — місце теплиці або поля може бути комерційною таємницею.
Поради для додавання автоматичного поливу

Додавання реле і міні-насоса робить проєкт більш вражаючим, але зверніть увагу на безпеку: вода і електрика в одному пристрої — потенційна загроза. Arduino має лише приймати рішення, а живлення насоса має бути окремим через реле або MOSFET драйвер. Для хобі-проектів безпечніше використовувати 5В або 12В DC насоси.
Головна небезпека — помилка датчика, через яку насос працюватиме надто довго. Тому програмно обмежуйте максимальний час поливу — наприклад, не більше 20 секунд за один цикл, а також кількість циклів на добу. Такі обмеження допоможуть уникнути перезволоження ґрунту і порожнього резервуара.
Рекомендована логіка поливу
- Якщо вологість нижче порогу, спочатку підтвердіть це двома послідовними вимірами.
- Запустіть насос на короткий час — 10-20 секунд.
- Дайте ґрунту ввібрати воду не менше 5 хвилин.
- Якщо вологість все ще низька, повторіть короткий полив.
- Обмежте максимальну кількість поливів на добу програмно.
Захист від зовнішніх впливів і догляд
Схема, зібрана в лабораторії, може не витримати вуличних умов. Волога, дощ, сонце, пил, комахи і перепади температур — все це зношує електроніку. Тому розміщуйте плату в корпусі з IP65, використовуйте кабельні вводи, всередині коробки кладьте пакети для поглинання вологи. Кабельні з’єднання на датчику захищайте силіконом або термоусадкою.
Регулярні перевірки — запорука стабільності роботи. Раз на тиждень перевіряйте, чи датчик не змістився, чи не розхитані дроти, чи показники в межах очікуваного. Раз на місяць оновлюйте калібрувальні значення. Якщо датчик починає показувати дивні значення, можливо, поверхня сенсора забруднена, контакти окислилися або сам пристрій зносився. Ємнісні датчики служать довше за резистивні, але не вічно у вологому середовищі.
Типові помилки і як їх уникнути
Початківці часто приймають сирі значення за відсоткову вологість. Інша поширена помилка — занурення датчика повністю у воду, що може пошкодити електроніку. Також DHT-сенсор не варто ставити під пряме сонце, інакше температура вимірюватиметься з помилкою. Його краще розміщувати у тіні з доступом повітря.
- Значення постійно 0 або 100%: можливо, помилково задані межі калібрування.
- DHT показує «nan»: перевірте бібліотеку, правильність підключення і пін.
- Arduino скидається при запуску насоса: насос може перевантажувати лінію живлення — використовуйте окремий адаптер.
- Wi-Fi часто відключається: перевірте антену, живлення та якість сигналу.
- Показники сильно коливаються: використовуйте усереднення, скоротіть довжину проводів, покращіть стабільність живлення.
Як інтерпретувати дані і приймати рішення
Головна цінність розумного датчика — перетворення сирих цифр у зрозумілі рішення. Наприклад, низька вологість ґрунту при високій температурі і яскравому сонці означає швидке випаровування води. Але якщо волога низька, а температура і освітлення — низькі, полив можна відкласти. Краще оцінювати комбінації параметрів, а не покладатися на один сенсор.
Зберігаючи дані тиждень, ви побачите, як швидко після поливу падає вологість. Якщо вона стабільно знижується в один і той же час, можна планувати полив відповідно. Висока вологість у певних місцях може свідчити про проблеми з дренажем. Такі спостереження покращують якість виробництва навіть на невеликих площах. Якщо хочете поділитися проєктом, сторінка на власному сайті стане чудовим портфоліо і навчальним ресурсом. Для цього перегляньте Посібник зі створення веб-сайту і встановлення сертифіката SSL.
Ідеї для розвитку проєкту
Після запуску базової системи можна додавати нові функції. Наприклад, датчик дощу для відкладення поливу за несприятливих погодних умов. Датчики pH і EC для контролю складу поживних розчинів. OLED-дисплей для локального відображення даних, модуль SD-карти для автономного запису без інтернету. Використання MQTT для інтеграції з платформами на кшталт Home Assistant.
- Збільшення часу роботи батареї через глибокий сон ESP32
- Автономне живлення сонячною панеллю з контролером заряджання
- Відображення графіків через Grafana або кастомні панелі
- Сповіщення про полив у Telegram або на електронну пошту
- Моніторинг кількох датчиків з централізованої панелі
- Інтеграція мобільного додатку через API
Якщо плануєте кілька пристроїв, кожному датчику призначте унікальний ідентифікатор. На сервері зберігайте ID, час заміру, тип датчика і значення — це полегшить подальший аналіз. При зростанні бази даних подбайте про регулярне резервне копіювання. Якщо панель використовуватиметься для прийняття рішень у бізнесі, рано чи пізно знадобиться звернути увагу на Рішення для резервного копіювання хостингу.
Як перетворити проєкт у корисний блог для SEO
Цей проєкт не обов’язково має залишатися лише технічною вправою. Публікуючи результати вимірювань, фото збірки, опис проблем і способи їх вирішення у блог, ви не лише допомагаєте спільноті, а й створюєте цінний контент для пошукових систем. Google цінує якісні DIY-матеріали з чіткими фото, унікальними даними, детальними інструкціями та реальними кейсами.
Під час публікації вкажіть у заголовку чітку тему, у вступі — що читач дізнається, подайте список матеріалів у таблиці і поясніть код коментарями. Додайте свої результати тестування — це підвищує довіру (E-E-A-T). Наприклад, «ємнісний сенсор показав 812 у сухому ґрунті та 428 після поливу» — такі дані відрізняють ваш матеріал від шаблонних посібників. Для швидкого й безпечного розміщення сайту розгляньте Hostragons пакети хостингу.
Висновок
Проєкт «Зроби власний розумний сільськогосподарський датчик на Arduino» — це практичний старт у світі електроніки, програмування та агротехніки. За допомогою правильного вибору датчиків, калібрування, безпечного живлення та регулярного збору даних ви зможете побудувати корисну систему підтримки прийняття рішень для невеликого саду чи теплиці. Віддалений моніторинг через вебпанель з надійним хостингом, доменом та SSL робить ваш проєкт професійним. Коли будете готові, плануйте домен і хостинг з Hostragons для безпечного запуску.
Поширені запитання
Чи потрібні знання програмування для створення розумного агродатчика на Arduino?
Для початкового рівня достатньо базових навичок роботи з Arduino IDE та вміння змінювати код, наприклад, номера пінів, пороги і налаштування калібрування. Для додавання вебпанелі та API потрібні базові знання HTTP, баз даних і серверів.
Що краще обрати: ємнісний датчик вологості ґрунту чи резистивний?
Для тривалого використання краще ємнісний. Резистивні датчики схильні до корозії і з часом втрачають точність, особливо у вологому ґрунті. Для вуличних і тепличних проєктів рекомендовано ємнісні моделі.
Чи підходить ця система для комерційного фермерства?
Вона підходить для малих теплиць, хобі-городів, навчальних проєктів і попереднього моніторингу. Для комерційного використання рекомендується застосовувати промислові датчики, резервні системи і професійні автоматики для критичних рішень.
Чи безпечно показувати дані датчика в інтернеті?
Так, якщо додати базові заходи безпеки: використання токенів в API, захист панелі паролем, HTTPS та регулярне оновлення програмного забезпечення. SSL-сертифікат на домені — це мінімальний рівень захисту при передачі даних.
Чи можна живити Arduino з акумулятора або сонячної панелі?
Так, але для тривалої роботи потрібно оптимізувати споживання енергії: збільшити інтервал між вимірами, використовувати глибокий сон ESP32, живити датчики тільки під час вимірювання, а також підключити контролер заряджання для сонячної панелі.