Jestli to nebude tím, že měření vlhkosti půdy je docela složité. Pro tvoji představu, vodivost obyčejné vody se může lišit o několik řádů. Velmi čistá destilovaná voda má minimální vodivost, s rostoucí příměsí solí, kyselin nebo zásad vodivost významně roste. Pokud chceš kontrolovat opravdu vlhkost půdy, pak bys měl senzor zkoušet ne ve vodě, ale v dané půdě, protože ta je také jedinečná obsahem látek, které jsou schopny tvořit elektrolyt.
Ale asi bychom tomu neměli říkat měření, v lepším případě můžeme mluvit o signalizaci vlhkosti. Ve skutečnosti jde o velmi nedokonalou indikaci vodivosti. Funkce map(value, fromLow, fromHigh, toLow, toHigh) převádí jednu stupnici na jinou. Nejlépe se podívat na specifikaci
https://www.arduino.cc/reference/en/lan ... /math/map/ Je to velmi jednoduché.
Pokud se budeme bavit o absolutní měřením vlhkosti půdy, tak ho vlastně pomocí vodivosti ani provádět nelze. Jako kontrola, jestli je kytka v květináči zalitá nebo není, se to použít dá.
A mělo by se to dělat asi takhle:
1. Necháš vyschnout květináč na popel, strčíš do něj sondu a čteš pomocí analogRead() hodnoty. Nějakou průměrnou hodnotu z těchto údajů si zapíšeš jako
vlhkostLOW
2. Pak ten květináč pořádně zaleješ a nějakou chvíli počkáš a zase si zapíšeš nějaký průměrný údaj
vlhkostHIGH.
Pak můžeš do programu hrdě napsat něco takového - map(analogRead(vlhkomer), vlhkostLOW, vlhkostHIGH, 0, 100);
A budeš si pamatovat, že neměříš, ale indikuješ vlhkost v tom květináči. V jiném květináči to při stejné kalibraci může a nemusí fungovat, protože vlastnosti půdy se mohou výrazně lišit.
Ovšem v tom je ta radost amatérských konstrukcí.
Jinak vlhkost půdy se měří docela snadno, zvážíš zeminu, vysušíš ji a zvážíš znovu. Je to i velmi přesné.
Nezapomeň: "Tvůj senzor měří vodivost a protože to dělá ss proudem, tak ani tu neměří moc dobře. Je to pouhý indikátor!"
A ještě bych doplnil, že i hloubka vpichu sondy do půdy může zásadně ovlivnit výsledek.