#include <LiquidCrystal_I2C.h>
#define ECHO_PIN 5
#define TRIG_PIN 6
#define buzzer 7
#define m 13
#define k 12
#define h 11
LiquidCrystal_I2C lcd(0x27,20,4);
void setup() {
pinMode(m, OUTPUT);
pinMode(k, OUTPUT);
pinMode(h, OUTPUT);
pinMode(TRIG_PIN, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(ECHO_PIN, INPUT);
Serial.begin(9600);
lcd.init();
lcd.backlight();
digitalWrite(m, HIGH);
digitalWrite(k, HIGH);
digitalWrite(h, HIGH);
tone(7,1000,700);
lcd.setCursor(1,0);
lcd.print("DETEKTOR BANJIR");
lcd.setCursor(2,1);
lcd.print("PEMDES SLEMAN");
delay(2000);
lcd.clear();
lcd.setCursor(1,0);
lcd.print("DIPERSEMBAHKAN");
lcd.setCursor(3,1);
lcd.print("BINTANG A.B");
delay(2000);
lcd.clear();
digitalWrite(m, LOW);
digitalWrite(k, LOW);
digitalWrite(h, LOW);
lcd.clear();\
}
float kedalaman(){
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
int durasi = pulseIn(ECHO_PIN, HIGH);
return 400-durasi*0.034/2;
}
void loop() {
float kdlm = kedalaman();
if(kdlm > 370)
{
digitalWrite(m, HIGH);
digitalWrite(k, LOW);
digitalWrite(h, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Kdlmn :");
lcd.setCursor(7,0);
lcd.print(kdlm);
lcd.setCursor(14,0);
lcd.print("cm");
lcd.setCursor(0,1);
lcd.print("Satus :");
lcd.setCursor(9,1);
lcd.print("Bahaya");
tone(7,800,1000);
delay(1000);
lcd.clear();
delay(100);
}
else{
if(kdlm >= 320 && kdlm < 370)
{
digitalWrite(m, LOW);
digitalWrite(k, HIGH);
digitalWrite(h, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Kdlmn :");
lcd.setCursor(7,0);
lcd.print(kdlm);
lcd.setCursor(14,0);
lcd.print("cm");
lcd.setCursor(0,1);
lcd.print("Satus :");
lcd.setCursor(9,1);
lcd.print("Siaga");
//digitalWrite(buzzer, LOW);
delay(1000);
lcd.clear();
delay(100);
}
else{
digitalWrite(m, LOW);
digitalWrite(k, LOW);
digitalWrite(h, HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Kdlmn :");
lcd.setCursor(7,0);
lcd.print(kdlm);
lcd.setCursor(14,0);
lcd.print("cm");
lcd.setCursor(0,1);
lcd.print("Satus :");
lcd.setCursor(9,1);
lcd.print("Aman");
//digitalWrite(buzzer, LOW);
delay(1000);
lcd.clear();
delay(100);
}
}
}