Jak podłączyć czujnik wilgotności gleby do Arduino?

Spisu treści:

Jak podłączyć czujnik wilgotności gleby do Arduino?
Jak podłączyć czujnik wilgotności gleby do Arduino?
Anonim

Kiedy wyjeżdżasz gdzieś daleko na określony czas? Nie ma nikogo, kto mógłby podlewać twoje kwiaty w domu, więc musisz poprosić o pomoc sąsiadów, którzy z kolei mogą być w tym niedbali. W rezultacie po Twoim przybyciu rośliny będą się źle czuły. Aby temu zapobiec, możesz stworzyć automatyczny system nawadniania. W tym celu potrzebujemy Arduino oraz czujnika wilgotności gleby. W artykule rozważymy przykład podłączenia i pracy z czujnikiem FC-28. Wykazał się pozytywną stroną, przy pomocy tysięcy projektów powstały.

O FC-28

Istnieje wiele różnych czujników do określania wilgotności ziemi, ale najpopularniejszym jest model FC-28. Ma niską cenę, dzięki czemu jest szeroko stosowany przez wszystkich radioamatorów w swoich projektach. Zastosowano czujnik wilgotności gleby z Arduino. Ma dwie sondy, które przewodzą prąd elektryczny przez ziemię. Okazuje się, że jeśli gleba jest mokra, to opór między sondami jest mniejszy. Odpowiednio przy suchym podłożu opór jest większy. Arduino akceptuje te wartości, porównuje i w razie potrzeby włącza np. pompę. Czujnik może pracować zarówno w trybie cyfrowym, jak i analogowym, rozważymy obie opcje połączenia. FC-28 jest używany głównie w małych projektach, na przykład przy automatycznym podlewaniu jednej konkretnej rośliny, ponieważ niewygodne jest używanie go na dużą skalę ze względu na jego rozmiar i wady, które również rozważymy.

Czujnik wilgotności gleby FC-28
Czujnik wilgotności gleby FC-28

Gdzie kupić

Faktem jest, że w rosyjskich sklepach czujniki do współpracy z Arduino są stosunkowo drogie. Średnia cena tego czujnika w Rosji waha się od 200 do 300 zł, podczas gdy na Aliexpress ten sam czujnik kosztuje tylko jakieś 30-50. Znaczniki są ogromne. Oczywiście nadal możesz zrobić czujnik do pomiaru wilgotności gleby własnymi rękami, ale o tym poniżej.

Informacje o połączeniu

Podłączenie czujnika wilgotności do Arduino jest bardzo łatwe. Jest wyposażony w komparator i potencjometr do regulacji czułości czujnika, a także do ustawiania wartości granicznej po podłączeniu za pomocą wyjścia cyfrowego. Sygnał wyjściowy, jak wspomniano powyżej, może być cyfrowy i analogowy.

Pinout czujnika wilgotności gleby
Pinout czujnika wilgotności gleby

Podłączanie z wyjściem cyfrowym

Podłączone prawie tak samo jak analogowe:

  • VCC - 5V na Arduino.
  • D0 - D8 na płycie Arduino.
  • GND -ziemia.

Jak wspomniano powyżej, na module czujnika znajdują się komparator i potencjometr. Wszystko działa w następujący sposób: za pomocą potencjometru ustawiamy wartość graniczną naszego czujnika. FC-28 porównuje wartość z limitem, a następnie przesyła wartość do Arduino. Powiedzmy, że wartości czujnika są powyżej progu, w takim przypadku czujnik wilgotności gleby w Arduino przesyła 5V, jeśli mniej - 0V. Wszystko jest bardzo proste, ale tryb analogowy ma dokładniejsze wartości, dlatego zaleca się jego używanie.

Podłączanie w trybie cyfrowym
Podłączanie w trybie cyfrowym

Schemat okablowania wygląda jak na zdjęciu powyżej. sposób

Kod programowania dla Arduino podczas korzystania z trybu cyfrowego pokazano poniżej.


int led_pin=13; int pin_czujnika=8; void setup() { pinMode(led_pin, OUTPUT); pinMode(sensor_pin, INPUT); } void loop() { if(digitalRead(sensor_pin)==HIGH){ digitalWrite(led_pin, HIGH); } else { digitalWrite(led_pin, LOW); opóźnienie (1000); } }

Co robi nasz kod? Najpierw zidentyfikowano dwie zmienne. Pierwsza zmienna - led_pin - służy do oznaczenia diody LED, a druga - do oznaczenia czujnika wilgotności gruntu. Następnie deklarujemy pin LED jako wyjście, a pin czujnika jako wejście. Jest to konieczne, abyśmy mogli uzyskać wartości, aw razie potrzeby włączyć diodę LED, aby wizualnie zobaczyć, że wartości czujnika są powyżej progu. W pętli odczytujemy wartości z czujnika. Jeśli wartość jest wyższa niż limit, włącz diodę LED, jeśli jest niższa, wyłącz ją. Zamiast diody LEDmoże pompa, wszystko zależy od Ciebie.

Tryb analogowy

Aby połączyć się za pomocą wyjścia analogowego, musisz pracować z A0. Pojemnościowy czujnik wilgotności gleby w Arduino przyjmuje wartości od 0 do 1023. Podłącz czujnik w następujący sposób:

  • VCC podłącz 5V do Arduino.
  • GND na czujniku jest podłączony do GND na płycie Arduino.
  • A0 połącz się z A0 na Arduino.

Następnie wpisz poniższy kod w Arduino.


int pin_czujnika=A0; int wartość_wyjściowa; void setup() { Serial.begin(9600); Serial.println("Odczyt czujnika"); opóźnienie (2000); } void loop() { output_value=analogRead(sensor_pin); wartość_wyjściowa=mapa(wartość_wyjściowa, 550, 0, 0, 100); Serial.print("Wilgoc"); Serial.print(wartość_wyjściowa); Serial.println("%"); opóźnienie (1000); }

Więc do czego służy ten kod? Pierwszym krokiem było ustawienie zmiennych. Pierwsza zmienna jest potrzebna do określenia kontaktu czujnika, a druga będzie przechowywać wyniki, które otrzymamy za pomocą czujnika. Następnie odczytujemy dane. W pętli zapisujemy wartości z czujnika do utworzonej przez nas zmiennej output_value. Następnie obliczany jest procent wilgotności gleby, po czym wyświetlamy je na monitorze portu. Schemat połączeń pokazano poniżej.

Połączenie analogowe czujnika wilgotności gleby
Połączenie analogowe czujnika wilgotności gleby

Zrób to sam

Powyżej omówiono sposób podłączenia czujnika wilgotności gleby do Arduino. Problem z tymi czujnikami polega na tym, że są krótkotrwałe. Faktem jest, że są bardzo podatne nakorozja. Niektóre firmy produkują czujniki ze specjalną powłoką, aby wydłużyć żywotność, ale to wciąż nie to samo. Rozważana jest również możliwość korzystania z czujnika niezbyt często, ale tylko wtedy, gdy jest to wymagane. Na przykład istnieje kod programu, w którym co sekundę czujnik odczytuje wartości wilgotności gleby. Możesz przedłużyć żywotność, jeśli włączysz go na przykład raz dziennie. Ale jeśli to ci nie odpowiada, możesz zrobić czujnik wilgotności gleby własnymi rękami. Arduino nie odczuje różnicy. Zasadniczo system jest taki sam. Po prostu zamiast dwóch czujników możesz umieścić własny i użyć materiału mniej podatnego na korozję. Najlepiej oczywiście użyć złota, ale biorąc pod uwagę jego cenę, wyjdzie ono bardzo drogie. Ogólnie taniej jest kupić, biorąc pod uwagę cenę FC-28.

DIY czujnik wilgotności gleby
DIY czujnik wilgotności gleby

Wady i zalety

W artykule omówiono możliwości podłączenia czujnika wilgotności gleby do Arduino oraz przedstawiono przykładowe kody programu. FC-28 to naprawdę dobry czujnik wilgotności gleby, ale jakie są zalety i wady tego czujnika?

Zalety:

  • Cena. Czujnik ten ma bardzo niską cenę, więc każdy radioamator będzie mógł kupić i zbudować własny automatyczny system nawadniania roślin. Oczywiście przy pracy z dużymi wagami ten czujnik nie jest odpowiedni, ale nie jest do tego przeznaczony. Jeśli potrzebujesz mocniejszego czujnika - SM2802B, będziesz musiał zapłacić za niego dość dużą kwotę.
  • Prostota. Opanowanie pracy z tym czujnikiem wilgotności gleby w Arduino cankażdy. Tylko kilka przewodów, kilka linijek kodu - i tyle. Wykonano kontrolę wilgotności gleby.

Wady:

Zalecana: