#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C ld(0x27, 20, 4);
const int trigPin = 5;
const int echoPin = 18;
//define sound speed in cm/uS
#define SOUND_SPEED 0.034
#define CM_TO_INCH 0.393701
long duration;
float distanceCm;
void setup() {
//Serial.begin(115200);
lcd.init();
lcd.backlight();
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(15, OUTPUT);
pinMode(2, OUTPUT);
pinMode(4, OUTPUT);
pinMode(23, OUTPUT);
lcd.setCursor(0,0);
lcd.print("Sensor Banjir");
lcd.setCursor(0,1);
lcd.print("Poljan Ciparay");
lcd.setCursor(0,2);
lcd.print("Citarum");
lcd.setCursor(0,3);
lcd.print("Status");
}
void loop() {
//Clear the trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
//Set The trigPin on HIGH state
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
//Read the echoPin
duration = pulseIn(echoPin, HIGH);
distanceCm = duration * SOUND_SPEED/2;
if (distanceCm >= 180){
digitalWrite(15, HIGH);
digitalWrite(2, LOW);
digitalWrite(4, LOW);
lcd.setCursor(7,3);
lcd.print("Aman ");
delay(1000);
}
else if (distanceCm >= 150 && distanceCm <=180){
digitalWrite(15, LOW);
digitalWrite(2, HIGH);
digitalWrite(4, LOW);
lcd.setCursor(7,3);
lcd.print("Siaga 1");
delay(1000);
}
else if (distanceCm >= 120 && distanceCm <=150){
digitalWrite(15, LOW);
digitalWrite(2, HIGH);
digitalWrite(4, LOW);
lcd.setCursor(7,3);
lcd.print("Siaga 2");
delay(1000);
}
else if(distanceCm < 120){
digitalWrite(15, LOW);
digitalWrite(2, LOW);
digitalWrite(4, HIGH);
lcd.setCursor(7,3);
lcd.print("Siaga 3");
delay(1000);
}
}