Y0xJr4ZyhulzH5RDMM3o5sTUqACs4sWSSKEos0Fl
Bookmark

Sensor ketinggian air berbasis arduino uno

Sensor ketinggian air banyak digunakan dalam berbagai aplikasi, termasuk deteksi ketinggian air, deteksi kebocoran, dan sistem irigasi otomatis. Sensor ini mendeteksi keberadaan air dan memberikan sinyal keluaran yang dapat diproses oleh mikrokontroler. Dalam tutorial ini, kita akan menjelajahi cara kerja sensor ketinggian air dan cara menghubungkannya dengan Arduino untuk membuat alarm deteksi hujan.

Apa itu sensor ketinggian air?

Sensor ketinggian air mendeteksi keberadaan atau ketinggian air dengan mengukur perubahan konduktivitas. Sensor ini biasanya terdiri dari serangkaian jalur konduktif terbuka yang berfungsi sebagai probe. Ketika air melewati celah di antara jalur-jalur tersebut, sensor menghasilkan sinyal listrik yang menunjukkan keberadaan atau ketinggian air.

Pinout sensor ketinggian air

Modul sensor level air 3-pin biasanya terdiri dari pin-pin berikut:
  • VCC – Catu daya (3,3V hingga 5V)
  • D0 (Output Digital) – Output TINGGI (1) ketika air terdeteksi, RENDAH (0) ketika kering
  • GND – Tanah

Spesifikasi utama

Parameter Spesifikasi
Tegangan Kerja 5V
Arus Kerja 20mA
Antarmuka analog
Sinyal Tegangan Keluaran Tegangan 0V – 4.2V
Suhu Kerja 10 derajat celcius ~ 30 derajat celcius
Konsumsi Daya Rendah
Kepekaan Tinggi
Kompatibilitas Arduino Ya

Kontruksi

Sensor air terdiri dari dua bagian utama:

Probe (Area Deteksi)

Area deteksi terdiri dari jejak konduktif paralel. Ketika air melewati jejak tersebut, ia membentuk sirkuit listrik, yang memungkinkan sensor mendeteksi keberadaan air.

Modul Elektronik

Modul elektronik ini mencakup sirkuit berbasis transistor yang memproses sinyal dari probe dan menghasilkan keluaran digital (TINGGI atau RENDAH). Tidak seperti beberapa modul sensor yang menggunakan potensiometer untuk menyesuaikan sensitivitas, versi ini mengandalkan transistor untuk penguatan dan pengalihan sinyal.

Bagaimana cara kerja sensor ketinggian air?

Sensor air beroperasi dengan memanfaatkan jejak konduktif yang terekspos untuk mendeteksi keberadaan air. Ketika air bersentuhan dengan jejak tersebut, air akan menjembatani celah tersebut, memungkinkan arus kecil mengalir.
  • TINGGI (1) Output → Air terdeteksi
  • RENDAH (0) Keluaran → Tidak terdeteksi air
Arduino membaca sinyal digital dan dapat memicu tindakan seperti membunyikan alarm, mengendalikan pompa, atau menampilkan peringatan pada LCD. memicu tindakan seperti membunyikan alarm, mengendalikan pompa, atau menampilkan level air pada LCD.

Sensor ketinggian air dengan Arduino - Proyek alarm deteksi hujan

Sekarang, mari kita membangun proyek sistem alarm deteksi hujan ini.

Komponen yang dibutuhkan

  • Arduino UNO
  • Modul Sensor Air (3-pin)
  • Bel
  • LED (Warna apa saja)
  • Resistor 220KΩ
  • Kabel Jumper
  • Papan tempat memotong roti
  • Diagram sirkuit

Diagram sirkuit

Kode Program


const int waterSensorPin = A0;  // Water sensor output pin
const int ledPin = 8;           // LED pin
const int buzzerPin = 11;       // Buzzer pin
const int threshold = 300;      // Water detection threshold (adjust based on testing)

void setup() {
  pinMode(ledPin, OUTPUT);     // Set LED pin as output
  pinMode(buzzerPin, OUTPUT);  // Set Buzzer pin as output
  Serial.begin(9600);          // Initialize Serial Monitor
}

void loop() {
  int waterValue = analogRead(waterSensorPin);  // Read the water sensor value

  Serial.print("Water Sensor Value: ");
  Serial.println(waterValue);  // Print the sensor value for debugging

  if (waterValue > threshold) {     // If water is detected
    digitalWrite(ledPin, HIGH);     // Turn on LED
    digitalWrite(buzzerPin, HIGH);  // Turn on buzzer
    Serial.println("Water detected!");
  } else {
    digitalWrite(ledPin, LOW);     // Turn off LED
    digitalWrite(buzzerPin, LOW);  // Turn off buzzer
    Serial.println("No water detected.");
  }

  delay(500);  // Small delay for stability
}

Penjelasan Kode


const int waterSensorPin = A0;  // Water sensor output pin
const int ledPin = 8;           // LED pin
const int buzzerPin = 11;       // Buzzer pin
const int threshold = 300;      // Water detection threshold (adjust based on testing)
  • waterSensorPin = A0 → Sensor air terhubung ke pin analog A0.
  • ledPin = 8 → LED dihubungkan ke pin digital 8.
  • buzzerPin = 11 → Buzzer dihubungkan ke pin digital 11.
  • Ambang batas = 300 → Jika nilai sensor melebihi 300, air dianggap terdeteksi. Nilai ini dapat disesuaikan berdasarkan pengujian waktu nyata.

void setup() {
  pinMode(ledPin, OUTPUT);     // Set LED pin as output
  pinMode(buzzerPin, OUTPUT);  // Set Buzzer pin as output
  Serial.begin(9600);          // Initialize Serial Monitor
}
  • pinMode(ledPin, OUTPUT) → Mengonfigurasi pin LED sebagai keluaran.
  • pinMode(buzzerPin, OUTPUT) → Mengonfigurasi pin buzzer sebagai output.
  • Serial.begin(9600) → Memulai komunikasi serial pada 9600 baud untuk debugging.

void loop() {
  int waterValue = analogRead(waterSensorPin);  // Read the water sensor value
  • analogRead(waterSensorPin) → Membaca nilai analog sensor (rentang 0 hingga 1023).

  Serial.print("Water Sensor Value: ");
  Serial.println(waterValue);  // Print the sensor value for debugging
  • Mencetak nilai mentah sensor ke Serial Monitor.

  if (waterValue > threshold) {     // If water is detected
    digitalWrite(ledPin, HIGH);     // Turn on LED
    digitalWrite(buzzerPin, HIGH);  // Turn on buzzer
    Serial.println("Water detected!");
  } else {
    digitalWrite(ledPin, LOW);     // Turn off LED
    digitalWrite(buzzerPin, LOW);  // Turn off buzzer
    Serial.println("No water detected.");
  }
Mencetak “Air terdeteksi!” di Monitor Serial.
  • Menyalakan LED (TINGGI).
  • Menyalakan bel (TINGGI).
  • Mencetak “Air terdeteksi!” di Monitor Serial.
Jika tidak:
  • Mematikan LED (RENDAH).
  • Mematikan bel (RENDAH).
  • Mencetak “Tidak ada air yang terdeteksi.” di Monitor Serial.

  delay(500);  // Small delay for stability
}
  • Penundaan 500 ms mencegah fluktuasi cepat dalam pembacaan sensor.
Dengarkan
Pilih Suara
1x
* Mengubah pengaturan akan membuat artikel dibacakan ulang dari awal.
Posting Komentar