#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#define TRIG_PIN 12
#define ECHO_PIN 13
//#define BLYNK_TEMPLATE_ID "TMPxxxxxx"
//#define BLYNK_TEMPLATE_NAME "Device"
//#define BLYNK_AUTH_TOKEN "YourAuthToken"
/* Comment this out to disable prints and save space */
//#define BLYNK_PRINT Serial
//#include <WiFi.h>
//#include <WiFiClient.h>
//#include <BlynkSimpleEsp32.h>
// Your WiFi credentials.
// Set password to "" for open networks.
//char ssid[] = "Wokwi-GUEST";
//char pass[] = "";
float duration, distance;
int ledRed = 23;
int ledGreen = 18;
int ledYellow = 15;
int JetPump = 14;
int pushButton = 5;
int mode;
LiquidCrystal_I2C lcd(0x27, 20, 4);
void setup() {
//Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(ledRed, OUTPUT);
pinMode(ledGreen, OUTPUT);
pinMode(ledYellow, OUTPUT);
pinMode(JetPump, OUTPUT);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(pushButton, INPUT_PULLUP);
lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" Water Pump ");
lcd.setCursor(0, 1);
lcd.print(" Otomatis ");
delay(2000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" Pendeteksi ");
lcd.setCursor(0, 1);
lcd.print(" Ketinggian Air ");
delay(2000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" Dirancang Oleh ");
lcd.setCursor(0, 1);
lcd.print(" Kelompok 19 ");
delay(2000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" System Ready ");
lcd.clear();
delay(500);
}
void loop() {
if(digitalRead)
// put your main code here, to run repeatedly:
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
duration = pulseIn(ECHO_PIN, HIGH);
distance = 0.017 * duration;
Serial.print(distance);
if (distance >=380) {
digitalWrite(ledGreen, LOW);
digitalWrite(ledRed, HIGH);
digitalWrite(ledYellow, LOW);
digitalWrite(JetPump, HIGH);
Serial.println(" AIR HABIS ");
lcd.setCursor(1, 0);
lcd.print(" AIR HABIS ");
}
if (distance >=200 && distance <=380) {
digitalWrite(ledGreen, LOW);
digitalWrite(ledRed, LOW);
digitalWrite(ledYellow, HIGH);
digitalWrite(JetPump, HIGH);
Serial.println("SEDANG MENGISI");
lcd.setCursor(1, 0);
lcd.print("SEDANG MENGISI");
}
if (distance <=5 && distance <= 200){
digitalWrite(ledGreen, HIGH);
digitalWrite(ledRed, LOW);
digitalWrite(ledYellow, LOW);
digitalWrite(JetPump, LOW);
Serial.println(" AIR PENUH ");
lcd.setCursor(0, 0);
lcd.print(" AIR PENUH ");
}
delay(2000);
if (digitalRead(pushButton)==LOW)
{
lcd.setCursor(0,0);
lcd.print("");
digitalWrite(JetPump, LOW);
}
}