Праект "Як зрабіць свой разумны сельскагаспадарчы датчык на Arduino" — гэта бюджэтная IoT-сістэма, якая дазваляе аўтаматычна кантраляваць вільготнасць глебы, тэмпературу, вільготнасць паветра і ўзровень святла, а таксама, пры неабходнасці, выдаваць папярэджанне аб паліве і перадаваць дадзеныя на вэб-панэль. У гэтым гайдзе вы знойдзеце ўсё, што трэба для зборкі Arduino-датчыка за 1–2 гадзіны: спіс частак, схему падключэння, прыклад кода, этапы каліброўкі, парады па надзейнасці для адкрытага паветра і спосабы маніторынгу дадзеных праз інтэрнэт.
Разумныя агра-датчыкі выкарыстоўваюцца ад хатніх грэдак да цяпліц для аптымізацыі паліву, ранняга выяўлення стрэсу раслін і лічбавага кантролю ўмоў росту. Гатовыя прамысловыя сістэмы магутныя, але для пачаткоўцаў, студэнтаў, maker-аў ці малых гаспадарак модульнае рашэнне на Arduino — больш даступнае і навучальнае. Пры правільным выбары датчыка і рэгулярнай каліброўцы вы атрымаеце дастаткова дакладныя вынікі для штодзённых рашэнняў.
Мэта гэтага артыкула — не проста зрабіць працуючую схему, а ўсебакова разабраць логіку вымярэнняў, дакладнасць даных, энергазатраты, падключэнне да інтэрнэту і бяспечную публікацыю. Калі вы захочаце паказваць вынікі на сайце ці ў спецыяльнай панэлі, вам спатрэбіцца надзейная інфраструктура. Для дакументацыі праекта, API-эндпойнтаў ці кіруючых панэляў можна выкарыстоўваць Hostragons рашэнні для веб-хостынгу, а для дамэннай публікацыі — Hostragons праверка дамена.
Мэта праекта і прынцып працы
Гэты разумны агра-датчык збірае чатыры асноўныя параметры з навакольнага асяроддзя: вільготнасць глебы, тэмпературу, вільготнасць паветра і інтэнсіўнасць святла. Arduino перыядычна счытвае гэтыя дадзеныя, параўноўвае іх з вызначанымі парогамі і можа выводзіць вынікі на серыйны экран, LCD, SD-карту або праз Wi-Fi на вэб-сервер. У простым варыянце, калі вільготнасць глебы ніжэй зададзенага ўзроўню — загараецца LED або buzzer, у больш складаным — рэле запускае міні-помпу для паліву.
Напрыклад: калі на балконе, дзе растуць памідоры, вільготнасць глебы доўгі час трымаецца ніжэй за 35%, раслінны стрэс можа ўзнікнуць. Датчык робіць замеры кожныя 10 хвілін, аналізуе сярэдняе з апошніх 6 замераў і, калі вільготнасць малая — паведамляе пра неабходнасць паліву. Гэта лепш, чым рэагаваць на адзін выпадковы паказчык, бо датчыкі глебы бываюць схільныя да памылак з-за салёнасці, кантакту або рэзкіх тэмпературных змен.
IoT-логіка простая: прылада вымярае, мікракантролер апрацоўвае, модуль сувязі перадае дадзеныя, вэб-панэль або база даных захоўвае гісторыю. Для адкрытых публікацый рэкамендуецца выкарыстоўваць HTTPS. Дадзеныя датчыка — не асабістыя, але могуць раскрываць інфармацыю пра месцазнаходжанне, арганізацыю вытворчасці і звычкі гаспадаркі. Таму варта ўлічваць Што такое сертыфікат SSL і чаму ён неабходны пры стварэнні публічных панэляў.
Што спатрэбіцца і прыкладны кошт
Ніжэй — спіс надзейных і лёгка даступных кампанентаў для базавай зборкі. Кошт залежыць ад брэнду, якасці і пастаўшчыка, таму лепш арыентавацца на практычныя крытэрыі. Для адкрытага паветра найбольш важныя — капацтыўны датчык глебы і герметычная скрынка.
- Arduino Uno або Arduino Nano: Uno — для навучання, Nano — для кампактных праектаў.
- Капацтыўны датчык вільготнасці глебы: больш устойлівы да карозіі, чым рэзістыўны.
- DHT22 або DHT11 датчык тэмпературы і вільготнасці: DHT22 — дакладней і шырэйшы дыяпазон.
- LDR-датчык святла і 10K рэзістар: дастаткова для прыкладных вымярэнняў яркасці.
- ESP8266 Wi-Fi модуль або ESP32: для падключэння да інтэрнэту.
- Рэле і міні-помпа: опцыя для аўтаматычнага паліву.
- Знешні 5V адаптар або powerbank: стабільнае сілкаванне ў полі.
- Breadboard, jumper-кабелі, паяльнік: для прататыпа і пастаянных злучэнняў.
- 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.3V патрабуе ўвагі | IoT-сістэмы з вэб-панэлямі |
| Гатовы агра-набор | Хуткі старт, сумяшчальныя кампаненты | Мала магчымасцяў для гнуткасці і навучання | Для тых, у каго мала часу |
Пачаткоўцам лепш пачаць з Arduino Uno і серыйнага манітору. Для онлайн-вываду даных — ESP8266 або ESP32. Для прафесійнага міні-панэля — ESP32, бо ён патрабуе менш частак і забяспечвае чыстую архітэктуру.
Схема падключэння: базавая зборка
У базавым варыянце капацтыўны датчык глебы падключаецца да аналогавага піну, DHT — да лічбавага, LDR праз падзел напружання — да аналогавага. Падключайце ўсё пры выключаным харчаванні. Для помпы або рэле харчаванне павінна быць асобнае, а Arduino толькі дае сігнал кіравання.
Рэкамендаваныя піны
- Датчык глебы VCC: 5V, GND: GND, AO: A0
- DHT22 VCC: 5V, GND: GND, DATA: D2
- LDR: адзін канец — 5V, другі — A1 і праз 10K рэзістар — GND
- LED: D8 праз 220 Ом рэзістар
- Сігнал рэле: D7, помпа — асобнае сілкаванне
Праб датчыка глебы ўстаўляйце вертыкальна ў грунт, а кабельнае злучэнне не павінна дакранацца да глебы. Лепш размясціць датчык каля каранёў, але не ў месцы, дзе пастаянна стоіць вада. Для некалькіх грэдак — асобныя датчыкі. Адзін датчык на ўсю плошчу можа быць недакладным, асабліва пры кропельным паліве.
Настройка Arduino IDE і бібліятэк
Спачатку спампуйце Arduino IDE з афіцыйнага сайта, падключыце плату і праверце працаздольнасць праз прыклад "blink". Далей усталюйце бібліятэку для DHT — у Library Manager знайдзіце DHT sensor library і Adafruit Unified Sensor. Гэта палегчыць чытанне тэмпературы і вільготнасці ў кодзе.
Калі вы хочаце вэб-панэль, дадайце ESP8266 або ESP32 Board Manager у IDE. У гэтым гайде код прыводзіцца для Arduino Uno — гэта дазваляе зразумець логіку вымярэнняў і рашэнняў. Затым яе можна пашырыць для ESP32 з HTTP POST або MQTT. Для стварэння API-эндпойнтаў глядзіце Кіраўніцтва па API і інтэграцыях.
Прыклад Arduino-кода
Код ніжэй счытвае вільготнасць глебы, тэмпературу, вільготнасць паветра і святло. Калі глеба сухая — LED сігналізуе. Не чакайце працэнтных значэнняў без каліброўкі — кожны датчык і грунт даюць свае аналагавыя межы. "dryValue" і "wetValue" трэба падстроіць пад ваш грунт.
#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 замераў, возьміце сярэдняе — dryValue.
- Пакладзіце ў вельмі мокрую глебу (без вады), зрабіце 10 замераў — wetValue.
- Зрабіце тое ж з грунтам, які будзе выкарыстоўвацца — торф, гліністы, пясчаны даюць розныя значэнні.
- Глядзіце вынікі ў серыйным маніторы і абнаўляйце межы ў кодзе.
- Падстройвайце мінімальны парог пад від раслін.
Працэнт 0 і 100 — гэта не абсалютная вільготнасць, а ваш дыяпазон сухога і мокрага для дадзенага датчыка. Для паліву гэтага цалкам дастаткова. Для больш дакладных рашэнняў бярыце сярэдняе з 3–5 апошніх замераў — гэта зніжае рызыку выпадковага скачка з-за кантакту ці электрычных перашкод.
Перадача даных на вэб-панэль і публікацыя
Сапраўдная карысць разумнага датчыка — аналіз гісторыі. Важна бачыць, як вільготнасць, тэмпература і святло змяняліся за 7 дзён, а не толькі зараз. Для гэтага даные можна перадаваць на вэб-сервер, захоўваць праз просты PHP або Node.js API, і візуалізаваць у графічнай панэлі.
Простая архітэктура: ESP32 счытвае датчыкі, пасылае дадзеныя ў фармаце JSON праз HTTP POST на сервер, сервер валідуюе і запісвае ў MySQL. Панэль паказвае апошнія замеры ў табліцы ці графіку. Для публікацыі панэлі на сваім дамене скарыстайце Як зарэгістраваць домен і для стабільнай работы — Выбар адпаведнага пакета вэб-хостынга.
Бяспека: дадайце token-палі для API. Пры кожным запыце прылада дасылае сакрэтны ключ — сервер без праверкі не захоўвае дадзеныя. Панэль абараняйце паролем, абнаўляйце ПЗ і абавязкова выкарыстоўвайце HTTPS. Калі даные адкрыты, не паказвайце дакладнае месцазнаходжанне — гэта можа быць камерцыйна адчувальным.
Парады для аўтаматычнага паліву

Рэле і міні-помпа робяць праект больш цікавым, але патрабуюць увагі — вада і электрычнасць у адной сістэме небяспечныя. Arduino толькі прымае рашэнне, але не сілкуе помпу — для помпы патрэбен асобны адаптар, рэле або MOSFET. Для DIY падыходзяць 5V або 12V DC-помпы.
Галоўная рызыка — памылка датчыка і празмерная праца помпы. У кодзе абмежуйце максімальную працягласць паліву — напрыклад, не болей 20 секунд за раз, потым перапынак да наступнага замеру. Можна абмежаваць колькасць паліву за дзень. Гэта абароніць расліны і не дасць спустошыць рэзервуар вады.
Рэкамендуемы алгарытм паліву
- Пры парозе вільготнасці робіце два паслядоўныя замеры для пацверджання.
- Уключайце помпу на 10–20 секунд.
- Пасля паліву чакайце мінімум 5 хвілін, каб глеба ўбрала ваду.
- Калі вільготнасць малая — другі палів.
- Абмежуйце колькасць паліву за суткі ў кодзе.
Надзейнасць у адкрытым паветры і абслугоўванне
Схема, якая працуе на стале, можа не вытрымліваць на вуліцы месяцамі. Вільготнасць, дождж, сонца, шкоднікі, пыл і тэмпературныя змены — выпрабаванне для электронікі. Скрынку трэба выбіраць IP65, кабельныя ўводы — герметычныя, унутры — пакеты для паглынання вільгаці. Кабельныя злучэнні абараняйце сіліконам або тэрмаўсадкай.
Абслугоўванне: раз на тыдзень правярайце, ці не зрушаны датчык, ці добра трымаюцца кабелі, ці рэалістычныя замеры. Раз на месяц пераглядзіце каліброўку. Калі датчык дае нестандартныя паказчыкі ў аднолькавых умовах — магчымы бруд, акісленне ці знос. Капацтыўныя датчыкі больш даўгавечныя за рэзістыўныя, але ў пастаянна мокрай глебе вечна не працуюць.
Тыповыя памылкі і іх вырашэнне
Часта пачаткоўцы прымаюць сырыя значэнні датчыка за працэнт вільготнасці. Іншая памылка — поўнае занурэнне датчыка глебы ў ваду, што шкодзіць электроніцы. DHT датчык пад сонцам паказвае завышаную тэмпературу — яго трэба размяшчаць у цені, з доступам паветра.
- Значэнні заўсёды 0 або 100: Магчыма, dryValue і wetValue ў кодзе пераблытаны або памылковыя.
- DHT выдае nan: Праверце бібліятэку, пін і кабелі.
- Arduino перазагружаецца пры працы помпы: Помпа перагружае агульную лінію — патрэбна асобнае сілкаванне.
- Wi-Fi зрываецца: Праверце антену, сілкаванне і сігнал.
- Замеры нестабільныя: Скараціце кабелі, бярыце сярэдняе, зменіце сілкаванне.
Аналіз даных: ад лічбаў да рашэнняў
Галоўная вартасць датчыка — пераўтварэнне сырых даных у карысныя высновы. Напрыклад: калі глеба сухая, тэмпература высокая і святло яркае — расліны хутка губляюць ваду. Але калі глеба сухая, а паветра халоднае і святла мала — палів можна адкласці. Камбінаваная аналіз даных дае лепшы вынік, чым адзін датчык.
Запіс за тыдзень пакажа, як хутка падае вільготнасць пасля паліву. Калі гэта адбываецца кожны дзень у адзін і той жа час — можна падладзіць графік паліву. Калі некаторыя зоны пастаянна мокрыя — магчыма праблемы з дрэнажам. Такія назіранні павышаюць якасць нават у малых гаспадарках. Публікацыя праекта як блог або тэхнічная дакументацыя на сваім дамене — гэта і партфоліо, і навучальны матэрыял. Для гэтага скарыстайце Кіраўніцтва па стварэнню сайта і Устаноўка сертыфіката SSL.
Ідэі для развіцця праекта
Пасля запуску базавай сістэмы яе можна пашыраць: напрыклад, дадаць датчык дажджу для кіравання палівам у адкрытым грунце, pH-датчык і EC-датчык для кантролю раствораў, OLED-экран для лакальнага вываду даных, SD-карту для аўтаномнай запісу, MQTT для інтэграцыі з Home Assistant.
- ESP32 з deep sleep для павелічэння часу працы ад батарэі
- Сонечная панэль і модуль зарадкі для незалежнага сілкавання
- Графічная справаздача праз Grafana або ўласную панэль
- Паведамленні ў Telegram або e-mail пра палів
- Маніторынг некалькіх датчыкаў у адной панэлі
- Мабільная інтэграцыя праз API
Калі ў вас некалькі прылад — кожны датчык павінен мець унікальны ID. На серверы варта захоўваць ID, час замеру, тып датчыка і значэнне — гэта спрасціць аналіз у будучыні. Пры вялікай базе даных важна наладзіць бэкап. Калі панэль дапамагае ў гаспадарчых рашэннях — пачынайце вывучаць Рашэнні для рэзервнага капіравання хостынгу на ранніх этапах.
Як пераўтварыць праект у блог (SEO і кантэнт)
Гэты праект — не проста тэхнічны эксперымент. Публікуйце вынікі замераў, фота зборкі, апісанне памылак і рашэнняў у блогу — гэта дапаможа супольнасці і зробіць ваш сайт каштоўным для пошукавікаў. Для DIY Google любіць: якасныя фота, унікальныя вынікі, этапы рашэння памылак і рэальны досвед.
Публікуючы, пазначайце тэму ў загалоўку, тлумачце, што чытач даведаецца, давайце табліцу камплектуючых, каментуйце код, дадавайце свае вынікі (E-E-A-T). Напрыклад, "капацтыўны датчык выдаў 812 у сухой глебе, 428 пасля паліву" — такія канкрэтныя даные адрозніваюць ваш блог ад стандартных гайдаў. Для хуткай і бяспечнай публікацыі скарыстайце Hostragons пакеты хостынгу.
Вынік
Праект Arduino "Разумны агра-датчык" — гэта рэальны старт для тых, хто сумяшчае электроніку, праграмаванне і агра-назіранне. З правільнымі датчыкамі, акуратнай каліброўкай, бяспечным сілкаваннем і рэгулярным запісам даных вы можаце стварыць карысную сістэму для грэдак ці цяпліцы. Для вэб-моніторынгу спатрэбіцца надзейны хостынг, дамен і SSL — гэта зробіць праект прафесійным. Калі гатовыя, сплануйце дамен і хостынг праз Hostragons — і пераходзьце да бяспечнай публікацыі.
Частыя пытанні
Ці патрэбна веданне праграмавання для зборкі агра-датчыка на Arduino?
Дастаткова базавых навыкаў працы з Arduino IDE і ўмення рэдагаваць гатовы код: мяняць піны, парогі, каліброўку. Для вэб-панэлі і API патрэбныя базавыя веды HTTP, баз даных, сервераў.
Які датчык глебы лепшы — капацтыўны ці рэзістыўны?
Для доўгатэрміновага выкарыстання капацтыўны датчык пераважней. Рэзістыўныя схільныя да карозіі ў мокрай глебе, з часам страчваюць дакладнасць. Для цяпліц і вулічных праектаў — лепш капацтыўны.
Ці можна выкарыстоўваць гэтую сістэму ў рэальнай аграрнай вытворчасці?
Яна падыходзіць для малых цяпліц, грэдак, навучальных і пробных праектаў, можа быць асновай для падтрымкі рашэнняў у малым бізнесе. Для крытычнага паліву — патрэбны прамысловыя датчыкі, дубляж і аўтаматызацыя.
Ці бяспечна публікаваць даные датчыка ў інтэрнэце?
Можна зрабіць бяспечна: выкарыстоўвайце API-token, пароль на панэль, HTTPS, рэгулярна абнаўляйце ПЗ. SSL на дамене і хостынгу — добры старт для шыфравання даных.
Ці можна запусціць Arduino-датчык ад батарэі або сонечнай панэлі?
Так, але варта зменшыць спажыванне: павялічвайце інтэрвал замераў, выкарыстоўвайце deep sleep на ESP32, сілкуйце датчыкі толькі падчас замераў, дадавайце модуль зарадкі для сонечнай панэлі.