Senzor hladiny dešťové vody je rozšiřovací modul pro Arduino. Tento modul je tvořen deskou plošných spojů, na které se nachází detekční vodivé proužky a pomocné součástky. Při použití je pak detekována voda, která se objeví na zmíněných detekčních proužcích.
Pro napájení lze použít napětí v rozsahu 3,3 – 5 V. Proudový odběr se pohybuje v jednotkách miliampér, maximálně 20 mA. Provozní teplota je doporučena v rozsahu 10-30 °C. A rozměry celého modulu jsou 62x20 mm.

Pro úspěšné propojení senzoru deště a Arduino desky stačí zapojit celkem 3 vodiče. Propojíme „S“ s pinem A0, „+“ s pinem D4 a „-“ se zemí Arduina. Pro pin „+“ je možné vybrat jiný digitální pin a pro pin „S“ je možné vybrat jiný analogový pin, ale je nutné tuto volbu provést také na začátku programu.

Ukázkový kód obsahuje na svém začátku nastavení propojovacích pinů a vytvoření proměnné, do které je ukládán čas poslední kontroly.
V podprogramu setup v prvním kroku zahájíme komunikaci po sériové lince a následně nastavíme napájecí pin jako výstupní.
Nekonečná smyčka loop má na začátku v komentáři uvedené místo, v kterém můžeme vykonávat ostatní příkazy programu. Kontrola deště je následně volána každých 1000 ms (1 sekunda) a zpracování této kontroly trvá velice krátký čas. Pokud je tedy rozdíl aktuálního času od spuštění a uloženého času větší jak 1 sekunda, provedeme následující příkazy.
Jako první zapneme pomocí napájecího pinu modul se senzorem a po krátké pauze načteme hodnoty z analogového pinu do proměnné. Následně vypneme napájení pro modul a vypíšeme na sériovou linku načtenou hodnotu. Poté je ještě v programu uvedena detekce překročení námi dané hranice. Já jsem zde zvolil hodnotu 512, která odpovídá polovině měřícího rozsahu. Při překročení této hranice vypíšeme po sériové lince ještě dodatek o překročení hranice. Posledním krokem kontroly je uložení aktuálního času do proměnné, abychom mohli další kontrolu zahájit opět po uběhnutí jedné sekundy.
// Arduino senzor dešťové vody
// nastavení propojovacích pinů
#define pinAnalog A0
#define pinNapajeni 4
// proměnná pro uložení času poslední kontroly
unsigned long ulozenyCas = 0;
void setup() {
// zahájení komunikace po sériové lince
// rychlostí 9600 baud
Serial.begin(9600);
// nastavení napájecího pinu jako výstup
pinMode(pinNapajeni, OUTPUT);
}
void loop() {
// místo pro zbytek programu
// ...
// každých 1000 ms provedeme kontrolu
if (millis() - ulozenyCas > 1000) {
// zapnutí napájení pro modul s krátkou pauzou
digitalWrite(pinNapajeni, HIGH);
delay(1);
// načtení hodnoty z analogového pinu do proměnné
int analog = analogRead(pinAnalog);
// vypnutí napájení pro modul
digitalWrite(pinNapajeni, LOW);
// vytištění informace o analogovém vstupu
Serial.print("Analogovy vstup: ");
Serial.println(analog);
// při překročení nastavené hladiny
// vytiskni varovnou hlášku
if (analog > 512) {
Serial.println("Prekrocena nastavena hranice - detekovan dest!");
}
// uložení aktuálního času pro následující kontrolu
ulozenyCas = millis();
}
}
Po nahrání ukázkového kódu do Arduino desky s připojeným senzorem deště dostaneme například tento výsledek po zamokření detekčních proužků:
Analogovy vstup: 0 Analogovy vstup: 0 Analogovy vstup: 552 Prekrocena nastavena hranice - detekovan dest! Analogovy vstup: 608 Prekrocena nastavena hranice - detekovan dest! Analogovy vstup: 605 Prekrocena nastavena hranice - detekovan dest! Analogovy vstup: 462
Senzor hladiny dešťové vody pro Arduino je zajímavý rozšiřovací modul, které umožňuje vytvořit s Arduinem detektor vody. Hodí se tedy do projektů jako je například automatické zapínání stěrače oken, detektor deště a další. V ukázce jsem záměrně použil pouze krátké zapínání napájení pro modul v průběhu měření, protože při stálém napájení má modul nejen zbytečně vysoký proudový odběr, ale také se snižuje životnost detekčních vodivých proužků. A při venkovním použití bychom také měli správně zaizolovat část modulu s pomocnými součástkami.
Seznam použitých komponent:
https://dratek.cz/arduino/974-arduino-uno-r3-atmega328p-1424115860.html
https://dratek.cz/arduino/1264-senzor-hladiny-destove-vody-pro-arduino-1459973768.html