Berikut adalah contoh program untuk mengontrol sensor hujan menggunakan Arduino Uno. Sensor hujan digunakan untuk mendeteksi adanya air atau tetesan hujan. Ketika sensor mendeteksi hujan, kita dapat mengaktifkan LED atau buzzer sebagai indikator.
Alat dan bahan:
- Arduino Uno
- Sensor hujan
- LED (opsional untuk indikasi)
- Buzzer (opsional)
- Resistor 220Ω (untuk LED)
- Kabel jumper
Cara Kerja Sensor Hujan:
- Sensor hujan terdiri dari dua bagian, yaitu modul sensor hujan dan modul pemrosesan.
- Modul sensor mendeteksi air di permukaannya dan mengirimkan sinyal analog.
- Modul pemrosesan mengubah sinyal analog menjadi sinyal digital yang dapat dibaca oleh Arduino.
Skema Rangkaian:
- Hubungkan pin VCC sensor hujan ke pin 5V pada Arduino.
- Hubungkan pin GND sensor hujan ke GND Arduino.
- Hubungkan pin A0 (output analog) sensor hujan ke pin analog A0 pada Arduino.
- hubungkan LED ke pin digital Arduino (misalnya pin 9 & 10) dengan resistor 220Ω.
- Jika menggunakan buzzer, hubungkan ke pin digital (misalnya pin 12).
const int rainSensorPin = A0; // Pin analog untuk sensor hujan
const int ledPin1 = 9; // Pin untuk LED Hijau
const int ledPin2= 10; // Pin untuk LED Merah
const int buzzerPin = 12; // Pin untuk buzzer
int sensorValue = 0; // Variabel untuk menyimpan nilai sensor
void setup() {
// Setel pin LED dan buzzer sebagai output
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(buzzerPin, OUTPUT);
// Memulai komunikasi serial untuk debugging
Serial.begin(9600);
}
void loop() {
// Membaca nilai dari sensor hujan
sensorValue = analogRead(rainSensorPin);
// Cetak nilai sensor ke serial monitor
Serial.print("Nilai Sensor Hujan: ");
Serial.println(sensorValue);
// Jika nilai sensor melebihi ambang batas (misalnya lebih dari 500), artinya hujan
if (sensorValue > 500) {
digitalWrite(ledPin2, HIGH); // Nyalakan LED Merah
digitalWrite(ledPin1, LOW); // Matikan LED Hijau
digitalWrite(buzzerPin, HIGH); // Aktifkan buzzer
} else {
digitalWrite(ledPin2, LOW); // Matikan LED Merah
digitalWrite(ledPin1, HIGH); // Hidupkan LED Hijau
digitalWrite(buzzerPin, LOW); // Matikan buzzer
}
delay(1000); // Tunggu 1 detik sebelum membaca sensor lagi
}
- Kalian dapat menyesuaikan nilai ambang batas sesuai dengan kebutuhan dan kondisi lingkungan tempat sensor ditempatkan.
- Jika menggunakan output digital dari sensor hujan, kalian dapat langsung membaca sinyal HIGH atau LOW pada pin digital Arduino tanpa perlu membaca nilai analog.