Arduino w połączeniu z czujnikiem wilgotności gleby
Krótki poradnik pokazuje jak wykorzystać czujnik wilgotności gleby za pośrednictwem mikrokontrolera Arduino.
W przykładzie wykorzystano następujące elementy:
Podłączenie
Moduł jest zasilany bezpośrednio z Arduino, więc nie potrzebujemy zewnętrznego źródła energii. Piny podpinamy według poniższej tabeli:
Pin Arduino | Pin Czujnika |
---|---|
5 V | VCC |
GND | GND |
pin A0 | A0 |
pin 2 | D0 |
Pozostałe dwa piny z modułu czujnika łączymy z sondą pomiarową za pomocą dołączonego do zestawu przewodu tak, jak na poniższym schemacie:
Schemat układu.
Obsługa
Wyjście D0 działa cyfrowo. Domyślnie jest w stanie wysokim, natomiast po wykryciu wilgotności przechodzi w stan niski. Czułość możemy regulować za pomocą wbudowanego potencjometru. Wyjście A0 działa analogowo i zmniejsza wartość napięcia wraz ze wzrostem wilgotności (jest do niego odwrotnie proporcjonalne). W przykładzie wykorzystamy prosty kod programu, który na bieżąco będzie wyświetlał na monitorze szeregowym wartości odczytane z A0 i D0.
- int sensor_A0 = A0; // podłączenie od A0 na czujniku do A0 na Arduino
- int sensor_D0 = 2; // podłączenie od D0 na czujniku do pinu 2 na Arduino
- int wartosc_A0; // zmienna dla wartości A0
- int wartosc_D0; // zmienna dla wartości A0
- void setup() {
- Serial.begin(9600); // uruchomienie monitora szeregowego
- pinMode(2, INPUT); // ustawienie pinu 2 jako wejście
- }
- void loop() {
- wartosc_A0 = analogRead(sensor_A0); // pobranie wartości z A0
- wartosc_D0 = digitalRead(sensor_D0); // pobranie wartości z D0
- Serial.print("D0: "); // wyświetlenie na monitorze szeregowym
- Serial.print(wartosc_D0);
- Serial.print(" -- A0: ");
- Serial.println(wartosc_A0);
- delay(200); // opóźnienie pomiędzy kolejnymi odczytami
- }
Efekty działania programu możemy zobaczyć na poniższym screenie.
Zrzut ekranu szeregowego monitora.