Lompat ke konten Lompat ke sidebar Lompat ke footer

Arduino Part 22. Sensor Hujan & Alarm Banjir

Sensor ini merupakan sensor pendeteksi air sehingga dapat diaplikasikan untuk mengukur curah hujan, alarm banjir atau bisa juga untuk otomatis pompa air. Kita ketahui bahwa air dapat mengantarkan listrik dan memiliki nilai hambatan tertentu. Banyak tidaknya air yang terkena sensor maka akan mempengaruhi besar kecilnya nilai hambatan sensor. Nilai hambatan diubah menjadi perubahan tegangan sehingga lebih mudah proses didalam arduino.



Bentuk sensor pendeteksi air seperti gambar berikut ini:



Tampak terlihat sensor pendeteksi air ini terbuat dari jalur-jalur pada  PCB. Semakin banyak air yang mengenai jaur PCB maka nilai hambatannya akan semakin kecil. Untuk ujicoba dan mengukur nilai hambatan sensor ini maka ambilah air segelas dan multimeter. Tempatkan multimeter pada posisi ohm meter X10 lalu celupkan bagian bawah sensor ke air, lalu amati nilai pada ohm meter, dan perlahan celupkan sensor air diposisi tengah sensor lalu celupkan sensor hingga sampai batas akhir.

Hasil yang didapat adalah :

  • Saat tidak terkena air nilai hambatannya sangat tinggi sekali karena jalur PCBnya tidak ada yang terhubung oleh air.
  • Saat dicelupkan ke air posisi jalur paling bawah sensor didapat nilainya sekitar 5 Kohm,
  • Saat dicelupkan diposisi ditengah sensor maka nilainya sekitar 1 Kohm
  • Saat dicelupkan hingga jalur paling atas sensor maka didapatkan nilai sekitar 500 ohm.

Jadi nilai hambatan sensor akan semakin kecil jika semakin banyak jalur PCB sensor yang terkena air. Agar nilai hambatan tadi bisa dimasukkan datanya ke Arduino kita membutuhkan modul sensor tambahan yang dapat menguatkan sinyal dan mengubah nilai hambatan sensor menjadi nilai tegangan analog dan nilai digital (high dan low).  Modulnya seperti pada gambar :


A.    PENGUJIAN DATA ANALOG PADA SENSOR PENDETEKSI AIR

Untuk pengujian sensor pendeteksi air ini kita menggunakan Arduino uno. Untuk pengujian pertama kita menggunakan data analog (A0) dari modul sensor yang dihubungkan ke input analog (A0) Arduino uno. Gambar rangkaiannya bisa dilihat pada gambar di bawah ini :



 Setelah anda merakit rangkaiannya maka silahkan ketik sketch program pengujiannnya dibawah ini :

// ----------------------------------------
// Pengujian Sensor Pendeteksi air
// Datnalog
// www.elektronikahedry.com
// ----------------------------------------
 
const int SENSOR = A0;
 
void setup()
{
  Serial.begin(9600);
}
 
void loop()
{
  // Baca sensor
  int dataSensor = analogRead(SENSOR);
  // Tampilkan di serial monitor
  Serial.println(dataSensor);
  delay(100);
}

Setelah itu silahkan disimpan, lalu lakukan verify guna memastikan program yang diketik tidak ada kesalahan. Jika sudah sukses maka silahkan upload ke arduinonya, lalu untuk ujicobanya silahkan sensornya di celup sedikit demi sedikit lalu amati perubahan nilai analog yang tampil diserial monitor. Datanya adalah sebagai berikut.


Dari data tersebut terlihat bahwa saat sensor belum terkena air maka nilainya 1023, saat sensor sudah mulai terkena air maka akan tampil nilai sekitar 800, Saat sensor dicelupkan setengah maka nilainya sekitar 300, dan jika dicelupkan maksimum maka akan tampil nilai analognya 200.

Perubahan nilai ini maka bisa kita manfaatkan sebagai sensor hujan. Karena saat hujan rintik-rintik maka nilai analognya akan berbeda dibanding saat hujan lebat.

 

B.     SENSOR HUJAN

Untuk membuat sensor hujan kita menggunakan data analog dari sensor pendeteksi air ini. Rangkaiannya sama seperti rangkaian pengujian data analag. Untuk ujicobanya silahkan siapkan wadah penampung air lalu jatuhkan air dipermukaan sensor dengan kondisi menyerupai hujan biasa atau hujan deras. Sketch programnya bisa dilihat pada gambar dibawah ini:

// ------------------------------
// Sensor Hujan
// www.elektronikahendry.com
// ------------------------------
 
const int SENSOR = A0;
 
void setup()
{
  Serial.begin(9600);
}
 
void loop()
{
  // Baca sensor
  int dataSensor = analogRead(SENSOR);
 
  Serial.print(dataSensor);
  // Cek ambang
  if (dataSensor < 300)
    Serial.println(". Hujan deras");
  else
    if (dataSensor < 500)
      Serial.println(". Hujan biasa");
    else
      Serial.println(". Tidak hujan");
  
  delay(100);
}

Hasil dari pengujiannya bisa dilihat dari serial monitor hasilnya sbb:


 

C.     PENGUJIAN DATA DIGITAL PADA SENSOR PENDETEKSI AIR

Pengujian kedua adalah menggunakan data digital ouput modul sensor (D0). Kalau data digital maka modul sensor hanya akan memberikan 2 nilai output saja yaitu HIGH (1) dan LOW (0). Data digital ini kita masukkan ke pin digital Arduino Uno dan setting pinnya sebagai Input. Gambar rangkaiannnya adalah seperti gambar dibawah ini:


Untuk sketch programnya bisa dibuat sebagai berikut:

// -----------------------------------------
// Pengujian Sensor Pendeteksi air
// Data Digital
// www.elektronikahedry.com
// -----------------------------------------
 
const int SENSOR = 8;
 
void setup()
{
  Serial.begin(9600);
  pinMode (SENSOR, INPUT);
}
 
void loop()
{
  // Baca sensor
  int dataSensor = digitalRead(SENSOR);
  // Tampilkan di serial monitor
  Serial.println(dataSensor);
  delay(100);
}

Jadi pda program di atas menggunakan pin 8 sebagai input digital. Jadi pada saat kondisi sensor kering maka akan muncul angka 1 dan saat sensor terkena air maka logika yang muncul adalah 0. Hasilnya bisa dilihat pada gambar di bawah ini:


D.    ALARM BANJIR

Untuk membuat alarm banjir kita cukup menambahkan buzzer yang akan berbunyi saat sensor terkena air. Kita letakkan sensor dibatas maksimum air yang menandakan batas tersebut termasuk kondisi banjir. Gambar rangkaiannnya sebagai berikut:


 

Silahkan buat sketch program seperti dibawah ini.

// ------------------------------
// Contoh penggunaan sensor air
// untuk Alarm banjir
// www.elektronikahendry.com
// ------------------------------
 
const int SENSOR = 4;
int BUZZER = 3;
 
void setup()
{
  pinMode(SENSOR, INPUT);
  pinMode(BUZZER, OUTPUT);
  Serial.begin(9600);
}
 
void loop()
{
  // Baca sensor
  int dataSensor = digitalRead(SENSOR);
 
  if (dataSensor == 0)
  {
    Serial.println("BANJIR");
    digitalWrite(BUZZER, HIGH);
    delay(100);
    digitalWrite(BUZZER, LOW);
    delay(100);
    digitalWrite(BUZZER, HIGH);
    delay(100);
    digitalWrite(BUZZER, LOW);
    delay(100);
  }
  else
    Serial.println("AMAN");
  
  delay(100);
}

Hasilnya bisa ditonton pada video berikut ini:


Demikianlah pembahasan tentang sensor air ini, silahkan saran dan pendapat pada kolom komentar. Terimakasih.

Posting Komentar untuk "Arduino Part 22. Sensor Hujan & Alarm Banjir"