Untuk membuat alat deteksi ketinggian air menggunakan Arduino, kita bisa memanfaatkan sensor ultrasonik (HC-SR04) atau sensor level air seperti water level sensor atau rangkaian pelampung.
Berikut adalah panduan membuat alat deteksi ketinggian air menggunakan sensor ultrasonik HC-SR04 karena mudah digunakan dan tidak memerlukan kontak langsung dengan air.
Komponen yang Dibutuhkan
- Arduino Uno (atau jenis lainnya).
- Sensor Ultrasonik HC-SR04 – untuk mengukur jarak permukaan air.
- Buzzer – untuk alarm jika ketinggian air melewati batas tertentu.
- LED (opsional) – sebagai indikator tambahan.
- Resistor 220 Ohm – untuk LED.
- Kabel jumper – untuk koneksi antar komponen.
- Breadboard – sebagai papan koneksi sementara.
- Adaptor atau kabel USB – sebagai catu daya Arduino.
- Sensor ultrasonik HC-SR04 mengukur jarak antara sensor dan permukaan air.
- Jika jarak air mendekati sensor (ketinggian air naik), Arduino akan memicu buzzer atau LED sebagai alarm.
- Logika sederhana: Semakin tinggi air, semakin kecil jarak yang terbaca oleh sensor.
- VCC → 5V Arduino
- GND → GND Arduino
- TRIG → Pin 7 Arduino
- ECHO → Pin 6 Arduino
- Buzzer positif → Pin 10 Arduino
- LED positif → Pin 13 Arduino (melalui resistor 220 Ohm).
- Buzzer negatif dan LED negatif → GND Arduino.
#define trigPin 7 // Pin Trig sensor ultrasonik
#define echoPin 6 // Pin Echo sensor ultrasonik
#define buzzer 10 // Pin buzzer
#define led 13 // Pin LED
float jarak; // Variabel untuk menyimpan jarak
float tinggi_air; // Variabel untuk menyimpan ketinggian air
float tinggi_tangki = 30.0; // Tinggi tangki air dalam cm (sesuaikan)
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzer, OUTPUT);
pinMode(led, OUTPUT);
Serial.begin(9600); // Inisialisasi komunikasi serial
}
void loop() {
// Mengirimkan pulsa ultrasonik
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Membaca waktu pantulan (dalam mikrodetik)
long durasi = pulseIn(echoPin, HIGH);
// Menghitung jarak (dalam cm)
jarak = durasi * 0.034 / 2;
// Menghitung ketinggian air
tinggi_air = tinggi_tangki - jarak;
// Menampilkan data di Serial Monitor
Serial.print("Jarak permukaan air: ");
Serial.print(jarak);
Serial.print(" cm | Ketinggian air: ");
Serial.print(tinggi_air);
Serial.println(" cm");
// Logika alarm jika ketinggian air melebihi batas
if (tinggi_air > 25) { // Sesuaikan batas tinggi air
digitalWrite(buzzer, HIGH); // Buzzer menyala
digitalWrite(led, HIGH); // LED menyala
Serial.println("Peringatan: Air mendekati batas maksimum!");
} else {
digitalWrite(buzzer, LOW); // Buzzer mati
digitalWrite(led, LOW); // LED mati
}
delay(1000); // Delay 1 detik sebelum pengukuran berikutnya
}
- Pasang sensor ultrasonik di bagian atas tangki atau wadah air.
- Jalankan program dan buka Serial Monitor untuk melihat data jarak dan ketinggian air.
- Jika air mendekati batas atas, buzzer dan LED akan aktif sebagai peringatan.
- Tambahkan layar LCD untuk menampilkan ketinggian air secara langsung.
- Gunakan modul relay untuk mengontrol pompa air otomatis saat ketinggian air mencapai batas tertentu.
- Integrasikan dengan modul Wi-Fi (ESP8266/ESP32) untuk mengirim notifikasi ke smartphone.
- Tambahkan fitur logging data menggunakan SD card untuk mencatat perubahan ketinggian air.