Przejdź do głównej treści
Otwórz wyszukiwarkę
Szukaj
Zamknij wyszukiwarkę Wyczyść Szukaj
Produkty w koszyku: 0. Zobacz szczegóły

Twój koszyk jest pusty

Inteligentne nawadnianie ogrodu z Arduino - DIY krok po kroku

  • dodano: 06-05-2026
Inteligentne nawadnianie ogrodu z Arduino - DIY krok po kroku

W przeciętnym domowym ogrodzie zraszacz uruchamiany ręcznie zużywa 40-60% więcej wody niż system reagujący na wilgotność gleby. Komercyjne sterowniki nawadniania zaczynają się od 800 zł, a wersja z czujnikiem wilgotności i WiFi to wydatek 1 500-2 500 zł. Ten sam efekt osiągniesz, budując własny kontroler na Arduino lub ESP32 za 150-180 zł - z opcją rozbudowy o sterowanie ze smartfona za kolejne 30-40 zł.

Poniżej znajdziesz kompletny tutorial krok po kroku: pełną listę zakupów (BOM), schemat elektroniczny, kalibrację czujnika kapacytancyjnego, gotowy szkielet kodu z hysterezą oraz wskazówki dotyczące zasilania i obudowy zewnętrznej IP54.

1. Co potrzebujesz? Pełna lista zakupów (BOM)

Komplet komponentów dla wersji jednostrefowej. Wszystkie elementy znajdziesz w naszych kategoriach - linki przy każdej pozycji.

Komponent

Specyfikacja

Cena (PLN)

Kategoria

Arduino Nano lub ESP32-WROOM-32

mikrokontroler, USB-C / micro-USB

25-40

arduino

Czujnik wilgotności gleby

kapacytancyjny v2.0, wyjście analogowe (0-3 V)

8-15

czujniki

Moduł przekaźnika 1-kanałowy

5 V z optoizolacją, styki 250 VAC / 10 A

6-10

przekaźniki

Elektrozawór 12 V DC

przyłącze 1/2" lub 3/4", typ NC

35-55

moduły elektroniczne

Zasilacz 12 V DC

1-2 A, wtyk DC 5,5 / 2,1 mm

18-30

zasilacz

Przetwornica step-down LM2596

12 V → 5 V, prąd do 2 A

5-8

moduły elektroniczne

Przewody jumper i kabel

jumper M-F / M-M; YDY 2 × 1,5 mm²

10-20

przewody

Obudowa hermetyczna IP54

100 × 68 × 50 mm, 2 dławiki PG7

15-25

obudowy

Złączki WAGO 222

3-pin, do połączenia obwodu 12 V

6-10

przewody

Suma minimalna: 128 złSuma realistyczna: 180 zł.

Dla systemu 4-strefowego dolicz: 3 dodatkowe elektrozawory × 35-55 zł oraz wymianę modułu 1-kanałowego na moduł przekaźnika 4-kanałowy (15-18 zł zamiast 6-10 zł). Całkowity koszt instalacji 4-strefowej: 350-450 zł - ok. 20% ceny komercyjnego odpowiednika.

2. Schemat elektroniczny - jak to wszystko połączyć?

Logika obwodu jest prosta: Arduino mierzy napięcie z czujnika wilgotności, porównuje z progiem i steruje stanem przekaźnika, który podaje 12 V na cewkę elektrozaworu.

Tabela podłączeń (Arduino Nano)

Element

Pin Arduino

Opis

Czujnik wilgotności - VCC

3,3 V

zasilanie elektroniki czujnika

Czujnik wilgotności - GND

GND

masa wspólna

Czujnik wilgotności - AOUT

A0

wyjście analogowe (0-1023 ADC)

Moduł przekaźnika - VCC

5 V

zasilanie cewki przekaźnika

Moduł przekaźnika - GND

GND

masa wspólna

Moduł przekaźnika - IN

D7

sterowanie (active-LOW)

Elektrozawór - plus 12 V

przekaźnik COM

wejście styków mocy

Elektrozawór - minus

przekaźnik NO

normalnie otwarte (zamyka się przy załączeniu)

Trzy krytyczne zasady montażu

  • Wspólna masa (GND) Arduino, modułu przekaźnika i zasilacza 12 V musi być fizycznie połączona. Brak wspólnej masy = przypadkowe załączanie zaworu i niestabilne odczyty czujnika.

  • Optoizolacja w module przekaźnika oddziela elektrycznie obwód cewki od logiki Arduino. Zabezpiecza mikrokontroler przed impulsem indukcyjnym z elektrozaworu (do 70 V w momencie wyłączania cewki).

  • Dioda zwrotna (1N4007 lub szybka 1N4148) równolegle do cewki elektrozaworu eliminuje impulsy odwrotne. W większości elektrozaworów 12 V dioda jest już wbudowana - sprawdź w karcie katalogowej. Dla 24 V AC dioda nie zadziała - używasz wtedy warystora MOV 39 V.

Szczegółowy dobór modułu przekaźnikowego (5 V vs 3,3 V dla ESP32, izolacja, dobór do prądu cewki) opisaliśmy w artykule Przekaźniki - jak dobrać (cz. 12).

3. Dobór czujnika wilgotności gleby - kapacytancyjny vs rezystancyjny

Na rynku dostępne są dwa typy czujników wilgotności: rezystancyjne (z dwoma metalowymi widełkami) i kapacytancyjne (z płaską płytką PCB pokrytą lakierem). Różnica w trwałości i dokładności jest dramatyczna.

Cecha

Rezystancyjny (HL-69)

Kapacytancyjny v2.0

Cena

3-6 zł

8-15 zł

Korozja elektrod

TAK - żywotność 2-6 mies.

NIE - elektrody w lakierze

Wpływ zasolenia gleby

Wysoki (zafałszowanie pomiaru o 15-30%)

Pomijalny

Stabilność długoterminowa

Niska - widoczny dryft po 60 dniach

Wysoka - stabilność > 24 mies.

Pobór prądu

35 mA

5 mA

Napięcie pracy

3,3 - 5 V

3,3 - 5 V

Zalecenie do ogrodu

NIE

TAK

Werdykt: kup kapacytancyjny v2.0 (Soil Moisture Sensor v2.0). Różnica 5-9 zł zwraca się po 3 miesiącach - nie będziesz wymieniać czujnika co sezon.

Kalibracja czujnika kapacytancyjnego (5 minut)

Wartości ADC z czujnika kapacytancyjnego są odwrócone w stosunku do intuicji - im więcej wody, tym niższe napięcie i niższa wartość ADC.

  1. Powietrze (0% wilgotności) - włóż czujnik do suchego powietrza, odczytaj ADC. Typowo: 520-620.

  2. Woda (100% wilgotności) - zanurz czujnik w szklance wody do linii oznaczonej na PCB. Typowo: 240-300.

  3. Zapisz dwie wartości jako stałe AIR_VALUE i WATER_VALUE w kodzie.

  4. Mapuj na procenty funkcją map(adc, AIR_VALUE, WATER_VALUE, 0, 100).

Każdy egzemplarz ma minimalnie inne wartości graniczne - kalibracja jest obowiązkowa. Powtarzaj ją co 6 miesięcy - starzenie lakieru ochronnego przesuwa próg o 20-40 punktów ADC w górę.

Pełną ofertę czujników wilgotności (kapacytancyjnych, rezystancyjnych, profesjonalnych z wyjściem 4-20 mA) znajdziesz w naszej kategorii /czujniki.

4. Sterowanie elektrozaworem przez przekaźnik

Elektrozawory ogrodowe pracują przy 12 V DC (tani DIY) lub 24 V AC (profesjonalne, np. Hunter, Rain Bird). Pin Arduino dostarczy maksymalnie 40 mA przy 5 V - elektrozawór wymaga 300-500 mA przy 12 V. Bezpośrednie podłączenie spali mikrokontroler.

Dlaczego przekaźnik, a nie tranzystor MOSFET?

  • Przekaźnik z optoizolacją galwanicznie odcina obwód mocy od logiki - w razie zwarcia w elektrozaworze nie uszkodzi Arduino.

  • Tranzystor MOSFET wymaga starannego doboru bramki (logic-level, np. IRLZ44N), rezystora pull-down 10 kΩ i diody zwrotnej. Dla początkującego: moduł przekaźnikowy gotowy do podłączenia w 30 sekund.

  • Przekaźnik radzi sobie z elektrozaworami AC i DC (ważne, jeśli kiedyś podłączysz starszą instalację 24 V AC).

Parametry typowego modułu przekaźnikowego 1-kanałowego z optoizolacją

Parametr

Wartość

Napięcie sterowania

5 V (lub 3,3 V dla ESP32)

Prąd cewki

ok. 70 mA

Maks. obciążenie styków

250 VAC / 10 A • 30 VDC / 10 A

Logika sterowania

active-LOW (LOW = załączone)

Czas przełączania

5-10 ms

Trwałość mechaniczna

100 000 cykli

Trwałość elektryczna

10 000 cykli przy obciążeniu znamionowym

Kalkulacja żywotności: przy 4 podlewaniach dziennie i sezonie 6 miesięcy/rok = 720 cykli rocznie. Trwałość mechaniczna 100 000 cykli oznacza 138 lat teoretycznej pracy. W praktyce żywotność ogranicza wilgoć w obudowie - dlatego warto wybrać IP54+.

Pełen przewodnik po doborze przekaźników (kanałowość, izolacja, dobór do prądu cewki) znajdziesz w naszej kategorii /przekazniki oraz w artykule Przekaźniki - jak dobrać (cz. 12).

5. Kod Arduino (szkielet)

Poniżej kompletny szkielet z hysterezą (zapobiega przełączaniu zaworu w kółko, gdy wilgotność oscyluje wokół progu) i timerem na millis() zamiast delay() - Arduino nie blokuje się podczas podlewania i może równolegle obsługiwać kolejne strefy lub komunikację UART.

// Inteligentne nawadnianie ogrodu - szkielet

// Wersja: 1.0 (Arduino Nano / Uno)



const int PIN_SOIL = A0; // czujnik wilgotnosci

const int PIN_RELAY = 7; // sterowanie przekaznikiem (active-LOW)



// Wartosci po kalibracji (zob. sekcja 3)

const int AIR_VALUE = 580; // sucho (0%)

const int WATER_VALUE = 270; // mokro (100%)



// Progi - hysteresa

const int HYST_LOW = 30; // ponizej 30% - WLACZ

const int HYST_HIGH = 50; // powyzej 50% - WYLACZ



// Czasy

const unsigned long IRRIGATION_MS = 60000UL; // 60 s podlewania

const unsigned long CHECK_INTERVAL = 600000UL; // pomiar co 10 min



unsigned long lastCheck = 0;

unsigned long irrigationStart = 0;

bool isIrrigating = false;



void setup() {

Serial.begin(9600);

pinMode(PIN_RELAY, OUTPUT);

digitalWrite(PIN_RELAY, HIGH); // active-LOW: HIGH = OFF

}



void loop() {

unsigned long now = millis();



// 1. Wylaczenie po uplywie czasu podlewania

if (isIrrigating && (now - irrigationStart >= IRRIGATION_MS)) {

digitalWrite(PIN_RELAY, HIGH); // OFF

isIrrigating = false;

Serial.println("Stop podlewania (timer)");

}



// 2. Pomiar wilgotnosci co CHECK_INTERVAL

if (now - lastCheck >= CHECK_INTERVAL) {

lastCheck = now;



int adc = analogRead(PIN_SOIL);

int humidity = map(adc, AIR_VALUE, WATER_VALUE, 0, 100);

humidity = constrain(humidity, 0, 100);



Serial.print("Wilgotnosc: ");

Serial.print(humidity);

Serial.println("%");



// 3. Hysteresa

if (!isIrrigating && humidity < HYST_LOW) {

digitalWrite(PIN_RELAY, LOW); // ON

isIrrigating = true;

irrigationStart = now;

Serial.println("START podlewania");

} else if (isIrrigating && humidity > HYST_HIGH) {

digitalWrite(PIN_RELAY, HIGH); // OFF

isIrrigating = false;

Serial.println("Stop podlewania (wystarczy)");

}

}

}

Co warto dostosować?

  • IRRIGATION_MS - długość pojedynczej tury podlewania. Zacznij od 30-60 s, monitoruj wilgotność po 1 godz. i koryguj. Zależy od ciśnienia w sieci wodociągowej i powierzchni grządki.

  • CHECK_INTERVAL - odstęp między pomiarami. Dla pracy bateryjnej z ESP32 wydłuż do 30 min + deep sleep.

  • HYST_LOW / HYST_HIGH - progi per gatunek roślin: pomidory 25/45%, sałata 35/55%, lawenda 15/35%, kaktusy 8/20%.

Kod kompiluje się w Arduino IDE i zajmuje 2,8 kB flash z 32 kB Nano. Wersja obsługująca 4 niezależne strefy z osobnymi progami zajmuje ok. 6 kB - zmieści się nawet w ATtiny85.

6. Zasilanie i obudowa

Najczęstszą przyczyną awarii zewnętrznego sterownika jest woda w obudowie, a nie błąd w kodzie. Zaplanuj zasilanie i hermetyzację z wyprzedzeniem.

Schemat zasilania

[Zasilacz 12 V / 1 A]

|

+---> [Elektrozawor 12 V] (przez przekaznik)

|

+---> [LM2596 step-down] -> 5 V -> [Arduino VIN]

-> 5 V -> [Modul przekaznika VCC]

Kluczowe parametry

Element

Specyfikacja

Komentarz

Zasilacz 12 V

1 A dla 1 zaworu, 2 A dla 4 zaworów

model impulsowy z /zasilacze, klasa min. IP44

LM2596

wyjście kalibrowane na 5,0-5,2 V

nie 4,8 V - Arduino resetuje się przy załączeniu przekaźnika

Bezpiecznik

1,5 A na linii 12 V

termiczny lub topikowy w obudowie

Filtr (opcj.)

kondensator 470 µF / 25 V na linii 12 V

tłumi spadek napięcia przy załączeniu cewki

Obudowa zewnętrzna - lista kontrolna

Wymagana klasa szczelności: IP54 minimum, IP65 zalecane.

IP54 = ochrona przed bryzgami, IP65 = ochrona przed strugami wody pod ciśnieniem (deszcz nawalny, mycie ogrodu wężem).

  • Materiał: ABS lub poliwęglan (PC) - odporność UV, brak kruchości w mrozie.

  • Dławiki: min. 2 dławiki PG7 / PG9 (kabel zasilający + kabel czujnika). Każdy dodatkowy kabel = dodatkowy dławik, nigdy wspólny otwór z silikonem.

  • Pochłaniacz wilgoci: silica gel 5-10 g w środku obudowy, wymiana co 12 mies. (lub gdy granulki zmienią kolor z niebieskiego na różowy).

  • Antena WiFi: jeśli używasz ESP32, nie zamykaj anteny w metalowej puszce. Plastikowa obudowa albo wyprowadzona antena zewnętrzna SMA.

  • Montaż: stelaż ze pochyleniem 5° w dół, by woda spływała na zewnątrz, a nie do dławików.

Czego unikać:

  • Tanich obudów IP44 z marketu - nie wytrzymują polskiej zimy z deszczem zamarzającym.

  • Zamykania zasilacza 230 V w jednej obudowie z Arduino - używaj zewnętrznego zasilacza wtyczkowego z wodoodporną wtyczką ogrodową.

  • Łączenia przewodów skrętką ręczną - tylko WAGO 222, listwy zaciskowe lub lutowanie + koszulka termokurczliwa.

7. Rozbudowa o ESP32 + WiFi

Arduino Nano działa świetnie jako autonomiczny sterownik, ale nie da Ci historii podlewania, alarmów na telefon ani integracji z prognozą pogody. Wystarczy zamienić mikrokontroler na ESP32-WROOM-32 (różnica w cenie: 15-20 zł) i kod nadal działa po drobnych korektach (mapowanie pinów + ADC 12-bit zamiast 10-bit).

Co zyskujesz po przejściu na ESP32

Funkcja

Arduino Nano

ESP32

WiFi 2,4 GHz

-

+

Bluetooth 4.2 + BLE

-

+

Wbudowany RTC

-

+

Pamięć Flash

32 kB

4 MB

RAM

2 kB

520 kB

Procesor

16 MHz, 1 rdzeń

240 MHz, 2 rdzenie

Kanały ADC

8 (10-bit, 0-1023)

18 (12-bit, 0-4095)

Cena

25 zł

35-45 zł

Pobór w deep sleep

19 mA

10 µA

5 pomysłów na rozbudowę

  • Lokalny web server na ESP32 - wpisujesz IP urządzenia w przeglądarce telefonu, masz dashboard z wilgotnością, harmonogramem i przyciskiem „podlej teraz”. Biblioteka WebServer.h, kod ok. 150 linii.

  • MQTT do Home Assistant - ESP32 publikuje wilgotność na temacie garden/soil/humidity co 5 min. W HA tworzysz automatyzację: jeśli prognoza deszczu na 24 h > 5 mm, pomiń podlewanie.

  • Pobieranie pogody z OpenWeather API - ESP32 sprawdza prognozę raz dziennie. API darmowe do 1 000 zapytań / dobę (ok. 41 zapytań / godz. - z dużym zapasem).

  • Powiadomienia push przez Telegram - integracja z Telegram Bot API (darmowa). Wiadomość typu „Strefa 3: 2 godz. bez przepływu wody, sprawdź zawór”.

  • Synchronizacja czasu (NTP) - ESP32 łączy się z pl.pool.ntp.org i wie, kiedy jest świt / zmrok. Podlewanie tylko między 5:00 a 7:00 (parowanie minimalne).

Jeśli chcesz pójść dalej i zbudować własną stację pogodową na ESP32 (BME280 dla temperatury i ciśnienia, BH1750 dla nasłonecznienia, anemometr SE0170), zajrzyj do tutoriala Stacja pogodowa ESP32 (cz. 4) - sterownik nawadniania może czytać dane z tej samej stacji przez MQTT i podlewać tylko wtedy, gdy temperatura jest między 8 a 28 °C.

Fragment kodu ESP32 - łączność WiFi i MQTT

#include <WiFi.h>

#include <PubSubClient.h>



const char* ssid = "TwojaSiec";

const char* password = "TwojeHaslo";

const char* mqtt_server = "192.168.1.50"; // adres Home Assistant



WiFiClient espClient;

PubSubClient client(espClient);



void setupWiFi() {

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) delay(500);

Serial.println(WiFi.localIP());

client.setServer(mqtt_server, 1883);

}



void publishHumidity(int humidity) {

char buf[8];

itoa(humidity, buf, 10);

client.publish("garden/soil/humidity", buf);

}

ESP32 obsłuży dodatkowo 8 stref równolegle bez spadku wydajności - moduł przekaźnikowy 8-kanałowy + 8 elektrozaworów to system godny komercyjnych instalacji za 4 000 zł.

8. FAQ

Czy system działa zimą?

Nie. Woda zamarzająca w elektrozaworze i wężach uszkadza membranę gumową. Wyłącz instalację jesienią (październik / listopad), spuść wodę z węży, odłącz zasilacz. Restart wiosną po pierwszych nocach bez przymrozków (zwykle koniec kwietnia w Polsce).

Ile dokładnie kosztuje cały zestaw?

  • Wersja 1-strefowa Arduino: 150-180 zł.

  • Wersja 4-strefowa Arduino: 350-450 zł.

  • Wersja 4-strefowa ESP32 + WiFi + Home Assistant: 400-500 zł.

  • Komercyjny odpowiednik 4-strefowy z WiFi: 2 000-3 500 zł.

Czy potrzebuję umiejętności lutowania?

Nie, jeśli używasz modułu czujnika i modułu przekaźnika gotowych do podłączenia. Wszystko spinasz przewodami jumper na płytce stykowej. Lutowanie potrzebne dopiero przy wersji wbudowanej w obudowę zewnętrzną - złącza śrubowe lub WAGO 222 też wystarczą.

Ile stref podlewania mogę obsłużyć?

  • Arduino Nano: do 8 stref (limit pinów cyfrowych).

  • ESP32: do 16 stref natywnie, więcej z ekspanderem I2C MCP23017 (32 GPIO za 6 zł).

  • Praktyka domowa: 3-6 stref to standard (warzywa, kwiaty, trawnik, krzewy ozdobne osobno).

Czy mogę podlewać każdą strefę inaczej?

Tak. W kodzie definiujesz osobne progi HYST_LOW i HYST_HIGH per strefa oraz osobny czas IRRIGATION_MS. Pomidory potrzebują 25/45%, sałata 35/55%, lawenda 15/35%.

Co, jeśli wodociąg odetnie wodę?

Dodaj czujnik przepływu Hall Effect (np. YF-S201) na wejściu wody. Jeżeli przekaźnik załączony, a przepływu brak przez 10 s - kod wysyła alarm i blokuje system na 1 godz. Czujnik przepływu kosztuje 12-18 zł.

Czy potrzebuję pozwolenia lub odbioru elektrycznego?

Nie. Cała instalacja po stronie ogrodowej pracuje przy bezpiecznym napięciu 12 V DC. Zasilacz 230 V jest gotowym, certyfikowanym urządzeniem (CE), pracuje pod kontrolą bezpiecznika domowego rozdzielnicy.

Mogę zostawić system bez nadzoru na 2 tygodnie wakacji?

Tak, pod trzema warunkami:

  1. ESP32 z WiFi i powiadomieniami push (Telegram lub HA).
  2. Akumulator buforowy 7 Ah / 12 V z przełączaniem na zaniki prądu.
  3. Mechaniczny zawór odcinający wodę po stronie domu jako drugi poziom zabezpieczenia (na wypadek pęknięcia węża).

Co dalej?

Zacznij od kompletu w wersji 1-strefowej (BOM z sekcji 1) i zmontuj na płytce stykowej w domu. Po przetestowaniu kodu i kalibracji czujnika przejdź na ESP32 z WiFi i przenieś elektronikę do hermetycznej obudowy IP54. W ciągu jednego weekendu masz działający system, który zaoszczędzi 30-50% wody przez cały sezon i zwróci się w pełni już w drugim roku użytkowania.

Komentarze do wpisu (0)

Napisz komentarz