Arduino w połączeniu z czujnikiem opadów deszczu YL-83
Ten krótki tutorial pokazuje jak obsłużyć czujnik opadów deszczu za pośrednictwem płytki Arduino.
W przykładzie wykorzystano następujące elementy:
- Arduino Uno
- Deszcz :-)
Podłączenie
Moduł jest zasilany bezpośrednio z Arduino, więc nie potrzebujemy zewnętrznego źródła energii. Piny podłączamy według 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 podłączenia czujnika opadów deszczu.
Obsługa
Wyjście D0 działa cyfrowo. Domyślnie jest w stanie wysokim, natomiast po wykryciu opadów przechodzi w stan niski. Czułość możemy regulować za pomocą wbudowanego potencjometru. Natomiast wyjście A0 generuje sygnał analogowy i zmniejsza wartość napięcia wraz ze wzrostem opadów (jest odwrotnie proporcjonalne do natężenia deszczu). W przykładzie wykorzystamy prosty program, 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.