/*
||\\\\\\\\\\\\\////////////||
|| Project By Ferdy ||
|| Lampu Toren ||
||/////////////\\\\\\\\\\\\||
*/
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C LCD(0x27, 16, 2);
int trig = 8;
int echo = 7;
int jarak, duransi;
int hijau = 6;
int kuning = 5;
int merah = 4;
int pompa = 3;
void setup() {
LCD.init();
LCD.backlight();
LCD.clear();
pinMode(hijau, OUTPUT);
pinMode(kuning, OUTPUT);
pinMode(merah, OUTPUT);
pinMode(pompa, OUTPUT);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
LCD.setCursor(1, 0);
LCD.print("Selamat Datang");
LCD.setCursor(5, 1);
LCD.print("Master");
delay(3000);
LCD.clear();
}
void loop() {
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
duransi = pulseIn(echo, HIGH);
jarak = duransi * 0.0344 / 2;
if (jarak < 10) {
digitalWrite(hijau, HIGH);
digitalWrite(kuning, LOW);
digitalWrite(merah, LOW);
digitalWrite(pompa, LOW);
LCD.setCursor(0, 0);
LCD.print("Tinggi Air:");
LCD.print(jarak);
LCD.print("cm ");
LCD.setCursor(0, 1);
LCD.print("Lampu: Hijau ");
} else if (jarak >= 10 && jarak < 50) {
digitalWrite(hijau, LOW);
digitalWrite(kuning, HIGH);
digitalWrite(merah, LOW);
digitalWrite(pompa, HIGH);
LCD.setCursor(0, 0);
LCD.print("Tinggi Air:");
LCD.print(jarak);
LCD.print("cm ");
LCD.setCursor(0, 1);
LCD.print("Lampu: Kuning ");
} else if (jarak >= 50) {
digitalWrite(hijau, LOW);
digitalWrite(kuning, LOW);
digitalWrite(merah, HIGH);
digitalWrite(pompa, HIGH);
LCD.setCursor(0, 0);
LCD.print("Tinggi Air:");
LCD.print(jarak);
LCD.print("cm ");
LCD.setCursor(0, 1);
LCD.print("Lampu: Merah ");
}
}
// jika air kurang dari 10 cm maka hijau menyala
// pompa padam
// jika air lebih dari 10 cm dan air kurang dari 50cm maka kuning menyala
// jika air lebih dari 50 cm maka Merah menyala
// lampu pompa menyala