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
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 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.
|
|
2.
|
Gambar Saat
ketinggian air 4 cm dan led hijau nyala
|
3.
|
|
4.
|
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.





Cara kerja sensor ultrasonik nya dan lcd nya bagimana yah gan? Hehehe mohon penjelasan nya .
BalasHapusJika air menyurut alarm berbunyi ga gan?
BalasHapusSensornya letak dmna bg
BalasHapusbang library newping nya mna
BalasHapus?
ijin copy paste gan
BalasHapusUntuk newping nya gimana ini kak
BalasHapusKalo dicompling itu lcd nya salah terus kak
BalasHapusKak kelebihan dan kekurangannya apa yah?
BalasHapus