ALAT ALARM WASPADA BANJIR BERBASIS ARDUINO

Latar Belakang
Berkembangnya ilmu pengetahuan dan teknologi sejalan dengan dibutuhkannya sumber  daya  manusia  yang  handal,  mampu  menciptakan  suatu  alat  yang  dapat mempermudah  manusia  dalam  melakukan  pekerjaan.  Alat - alat  tersebut  yang  bekerja secara otomatis. Penanggulangan banjir hanyalah dilakukan secara terintegrasi karena meluapnya  intensitas  air  atau  daerah  tempat  tinggal  di  suatu  daerah  bisa  jadi disebabkan  kiriman  dari  hulunya.  Penentuan  rangkaian  pendeteksi  banjir  yang  tepat harus mengacu pada kondisi tempat sensor tersebut akan dipasang. Hal ini berkaitan dengan  kelebihan  dan  kekurangan  masing - masing  metode  pendeteksian  sensor  yang digunakan.  Untuk  itu  beberapa  rangkaian  pendeteksi  banjir  dapat  digunakan  dan dipadu dengan mikrokontroller sebagai pengaturnya. Disamping  itu  juga  rankaian  ini  sangat  membantu  masyarakat  untuk  lebih mewaspadai akan adanya banjir  yang akan melanda pemukiman mereka. Maka dalam keperluan monitoring alat pendeteksi banjir ini membutuhkan alarm dan tanda seperti idikator  LED  ataupun  BUZZER  untuk  memberikan  tanda  bahwa  ketinggian  air  telah mencapai  ambang  batas  tertentu.  Oleh  sebab  itu  penanggulangan  banjir  haruslah dilakukan secara terintegrasi karena meluapnya intensiatas air di suatu daerah. Maka  dari  itu  saya  membuat  sebuah  rancangan “Alarm Waspada Banjir Berbasis Arduino” yang  berfungsi  untuk  memberikan  tanda  disaat ketinggian air akan mencapai pemungkiman penduduk.
Fungsi dan Kegunaan
Alat ini dapat digunakan untuk monitoring ketinggian air dan memberikan tanda apabila meluapnya intensitas air di suatu daerah.
Alat dan Bahan
            Alat dan bahan yang digunakan dalam pembuatan alat ini antara lain :
1.      1 buah Arduino Uno
2.      1 buah Sensor Ultrasonik
3.      1 buah battery
4.      1 buah buzzer
5.      1 buah saklar
6.      4 buah resistor 330 ohm
7.      4 buah lampu LED (biru, merah, kuning, hijau masing-masing 1 buah)


Gambar Perancangan Alat



Gambar Rangkaian Simulasi Proteus
Keterangan :
Pin 2 ARDUINO : Lampu LED biru
Pin  3 ARDUINO : Lampu LED hijau
Pin 4 ARDUINO :  Lampu LED kuning
Pin 5 ARDUINO :  Lampu LED merah
Pin A0 ARDUINO : Buzzer
Pin 12 ARDUINO : Echo
Pin 13 ARDUINO : Trigger
Listing Program :
#include <LiquidCrystal.h>
#include <NewPing.h>
#define TRIGGER_PIN   13
#define ECHO_PIN      12
#define ledlman 2
#define led1 3
#define led2 4
#define led3 5
#define buz A0
LiquidCrystal lcd(6, 7, 8, 9, 10, 11);
NewPing ultrasonic1(TRIGGER_PIN, ECHO_PIN);
int z=0;
int y=20;
long distance;
void setup() {
  lcd.begin(16, 2);
  lcd.print("MRidwan Prasetya");
  Serial.begin (9600);
  pinMode (ledlman, OUTPUT);
  pinMode (led1, OUTPUT);
  pinMode (led2, OUTPUT);
  pinMode (led3, OUTPUT);
  pinMode (A0, OUTPUT);
}
void loop() {
  delay(1000);
  double distance = ultrasonic1.ping_cm();
  Serial.print("Hasil Sensor 1 :");
  Serial.print(distance);
  Serial.print("cm     |     ");
  z = y-distance;
  lcd.clear();
 lcd.setCursor(0, 0); lcd.print("Ketinggian Air");
  lcd.setCursor(0, 1); lcd.print("Jarak :");lcd.print(z);
  lcd.setCursor(14, 1); lcd.print("Cm");
  if (distance >= 18) //biru
  {
    digitalWrite(ledlman, HIGH);
    digitalWrite(led1, LOW);
    digitalWrite(A0, LOW);
    digitalWrite(led2, LOW);
    digitalWrite(led3, LOW);
  }
  if (distance <= 17) //hijau
  {
    digitalWrite(led1, HIGH);
    digitalWrite(A0, LOW);
    digitalWrite(led2, LOW);
    digitalWrite(led3, LOW);
    digitalWrite(ledlman, LOW);
  }
  if  ((distance >= 9) && (distance <= 13)) //kuning
  {
    digitalWrite(led2, HIGH);
    digitalWrite(A0, HIGH);
    digitalWrite(led1, LOW);
    digitalWrite(led3, LOW);
    digitalWrite(ledlman, LOW);
    delay (1000);
    digitalWrite(A0, LOW);
    digitalWrite(led2, LOW);
  }
  if ((distance >= 2) && (distance <= 9)) //merah  {
    digitalWrite(led3, HIGH);
    digitalWrite(A0, HIGH);
    digitalWrite(led2, LOW);
    digitalWrite(led1, LOW);
   digitalWrite(ledlman, LOW);
  }
  delay(500);
}
Data Percobaan
No.
Data Hasil Percobaan
1.

Gambar Saat ketinggian air 0 cm dan led biru nyala
2.
Gambar Saat ketinggian air 4 cm dan led hijau nyala
3.
 Gambar Saat ketinggian air 7 cm dan led kuning dan buzzer nyala berkedip kedip

4.
Gambar Saat ketinggian air 13 cm dan led merah dan buzzer nyala terus menerus



Pembahasan
            Alarm waspada banjir ini bertujuan untuk memberi peringatan kepada masyarakat bahwa ketinggian air sudah mencapai batas bahaya yang memungkin akan terjadinya banjir. Pada alat ini terdapat 4 led yang memiliki step macam macam level ketinggian air yang warnanya berbeda satu sama lain. Juga terdapat buzzer untuk memberi kan effect bunyi untuk memberi peringatan kepada masyarakat.
            Alat dan bahan yang dibutuhkan pada tugas besar ini adalah menggunakan sensor ultrasonic yang system kerjanya adalah seperti indra pada kelalawar yang menggunakan perambatan bunyi untuk cara kerjanya dengan echo adalah sebagai pengirim dan trigger sebagai penerima dan led red, led green, led blue, led yellow dan sebuah buzzer. Yang mana tiap led memiliki karakter warna yang menunujukan level ketinggian air yang berbeda beda. Adapun cara kerja dari sensor ini adalah pada saat ketinggian air masih dangkal maka led biru akan menyala bertanda bahwa ketinggian air masih dalam level aman dengan ketinggian maksimum sampek 3cm lalu setelah itu ketika ketinggian air bertambah maka led hijau akan menyala petanda bahwa ketinggian level air berubah menjadi waspada dengan ketinggian air maksimum 7 cm dan selanjutnya ketika air ditambah lagi maka led kuning disertai buzzer akan menyala namun berkedip menandakan bahwa level ketinggian air sudah masuk status awas yang berarti sudah mendekati banjir dengan ketinggian air maksimal 11cm dan yang terakhir adalah led merah dan buzzer menyala secara menerus yang menandakan bahwa level ketinggian air sudah bahaya yang berarti air sudah mencapai titik maksimal untuk mencapai banjir dengan status ketinggian air yaitu bahaya dengan ketinggian air maksimal 18cm.
             Dari mekanisme system kerja alat ini juga ada program yang harus dilakukan untuk mengatur system kerja alat dengan yang pertama yaitu #include <LiquidCrystal.h> yaitu header buat lcd, #include <NewPing.h> yaitu berfungsi untuk header sensor menggunakan library newping, #define TRIGGER_PIN   13 yaitu pin trigger pada sensor masuk ke pin 13 pada Arduino, #define ECHO_PIN  12 yaitu pin echo pada sensor masuk ke pin 12 pada Arduino, #define ledlman 2 yaitu led biru ke pin 2 arduino, #define led1 3 yaitu led hijau ke pin 3, #define led2 4 yaitu led kuning ke pin 4 arduino, #define led3 5 yaitu led merah ke pin 5 arduino, #define buz A0 yaitu buzzer ke pin A0 arduino, LiquidCrystal lcd(6, 7, 8, 9, 10, 11); yaitu pin lcd masuk ke 6,7,8,9,10,11 arduino, NewPing ultrasonic1(TRIGGER_PIN, ECHO_PIN); yaitu library sensor ultrasonic, int z=0; yaitu nilai awal z = 0, int y=20; yaitu nilai y = 20 long distance; yaitu jarak maksimal antara sensor dengan benda atau ke dasar air, Selanjutnya yaitu void setup yang berarti program akan dibaca hanya sekali pada awal program,   lcd.begin(16, 2); yaitu menggunakan lcd dengan ukuran 16 kolom dengan 2 baris,  lcd.print("MRidwan Prasetya "); yaitu lcd menampilkan teks berupa “MRidwan Prasetya”, Serial.begin (9600); yaitu serial monitor yang digunakan menggunakan 9600,   pinMode (ledlman, OUTPUT);  pinMode (led1, OUTPUT);  pinMode (led2, OUTPUT);  pinMode (led3, OUTPUT);  pinMode (A0, OUTPUT); yaitu led biru led hijau led kuning dan buzzer adalah output, void loop() yaitu program yang kerjanya terus menerus secara berulang, double distance = ultrasonic1.ping_cm(); yaitu program dari library newping yang mengkonvert nilai dari sensor dirubah langsung dalam satuan cm, Serial.print("Hasil Sensor 1 :"); Serial.print(distance);   Serial.print("cm     |     "); yaitu teks yang akan ditampilkan pada serial monitor, z = y-distance; yaitu rumus yang berarti nilai z adalah nilai y dikurangi distance (yaitu jarak sensor dengan benda), lcd.clear();  lcd.setCursor(0, 0); lcd.print("Ketinggian Air");   lcd.setCursor(0, 1); lcd.print("Jarak :");lcd.print(z);   lcd.setCursor(14, 1); lcd.print("Cm"); yaitu teks yang akan ditampilkan pada layar lcd, if (distance >= 18) //biru { digitalWrite(ledlman, HIGH); digitalWrite(led1, LOW); digitalWrite(A0, LOW); digitalWrite(led2, LOW); digitalWrite(led3, LOW); } yaitu ketika jarak benda diatas 18cm maka led biru akan menyala dan yang lain mati,   if (distance <= 17) //hijau { digitalWrite(led1, HIGH); digitalWrite(A0, LOW); digitalWrite(led2, LOW);  digitalWrite(led3, LOW); digitalWrite(ledlman, LOW); } yaitu ketika jarak dibawah 17 cm maka led hijau akan nyala dan yang lain mati,   if  ((distance >= 9) && (distance <= 13)) //kuning{ digitalWrite(led2, HIGH); digitalWrite(A0, HIGH); digitalWrite(led1, LOW); digitalWrite(led3, LOW); digitalWrite(ledlman, LOW); delay (1000); digitalWrite(A0, LOW); digitalWrite(led2, LOW); } yaitu adalah ketika jarak benda dengan sensor antara 9 sampai 13 cm maka led kuning dan buzzer akan menyala namun berkedip kedip,   if ((distance >= 2) && (distance <= 9)) //merah { digitalWrite(led3, HIGH); digitalWrite(A0, HIGH); digitalWrite(led2, LOW); digitalWrite(led1, LOW); digitalWrite(ledlman, LOW); Yaitu ketika jarak benda dengan sensor antara 2 sampai 9 cm maka led merah dan buzzer akan menyala secara terus menerus.


Komentar

  1. Cara kerja sensor ultrasonik nya dan lcd nya bagimana yah gan? Hehehe mohon penjelasan nya .

    BalasHapus
  2. Jika air menyurut alarm berbunyi ga gan?

    BalasHapus
  3. Untuk newping nya gimana ini kak

    BalasHapus
  4. Kalo dicompling itu lcd nya salah terus kak

    BalasHapus
  5. Kak kelebihan dan kekurangannya apa yah?

    BalasHapus

Posting Komentar