Arduino Polska Forum

Pełna wersja: Analogowy czujnik wilgotnosci gleby
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Mam problem z czujnikiem wilgotnosci gleby a dokladnie to nie wiem co mam na wyjsciu. Podlaczylem czujnik do wejscia analogowego w arduino i odpalilem przykladowy program. Program wyswietlal komunikat czy ziemia jest wilgotna czy sucha a zaleznosci od ad_value wiec ustawilem zeby wyswietlal ad_value w szeregowym monitorze i pokazuje liczby od 0 (nie wbity w ziemie) do jakichs wartosci rzedu kilkaset (w podlanej ziemii ponad 500). Czytalem user Manual i nic tam nie ma jak przeskalowac te wartosci.

Czujnik mam taki:
https://botland.com.pl/czujniki-wilgotno...ogowy.html
W opisie czujnika jest przykladowy program ktorego uzylem i user Manual.
Wydaje mi się, że liniowo. Jeśli suchy, wiszący w powietrzu czujnik daje Ci odczyt 0, włóż go jeszcze do wody i wtedy sprawdź pomiar. Wtedy przeskaluj wynik funkcją map według wzoru:

int wilgotnosc = map(0,x,0,100);
gdzie x będzie wartością zanurzenia czujnika w wodzie.

Map działa tak, że możesz przekształcić jeden zakres w inny. Pierwsze dwie liczby w nawiasie to zakres, jaki uzyskujesz (np. od 0 do 256) z czujnika, natomiast drugie - zakres przelicznika. Dla przykładu, jeśli uzyskujesz pomiary o wartościach 10-150, a chcesz mieć wyniki w postaci 1-10, musisz wpisać: map(10,150,1,10);