#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <ESP32Servo.h>

Servo myServo;
LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C LCD

const int potPin = 14; // Pin untuk potensio
const int buzzerPin = 25; // Pin untuk buzzer
const int greenLedPin = 26; // Pin untuk LED hijau
const int redLedPin = 27; // Pin untuk LED merah
const int servoPin= 13; // Pin untuk servo

void setup() {
  Serial.begin(115200);

  lcd.init();
  lcd.backlight();
  lcd.setCursor(2,0);  //Menggeser Letak Teks (x,y)
  lcd.print("WATER LEVEL");	//Menampilkan Teks
  lcd.setCursor(2,1);
  lcd.print("KELOMPOK C2");
  delay(4000);	//Jeda Waktu
  lcd.clear();	//Membersihkan Tampilan Teks pada LCD
  myServo.attach(servoPin);
  myServo.write(0);

  pinMode(potPin, INPUT);
  pinMode(buzzerPin, OUTPUT);
  pinMode(greenLedPin, OUTPUT);
  pinMode(redLedPin, OUTPUT);
  pinMode(servoPin, OUTPUT);
}

void loop() {
  float sensorValue = analogRead(potPin);
  float Value = sensorValue/4095;
  float waterLevel = Value*100;

  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Water Level: ");
  lcd.print(waterLevel);
  lcd.print("%");

  Serial.print("Water Level: ");
  Serial.print(waterLevel);
  Serial.println("%");

  if (waterLevel < 75) {
    digitalWrite(greenLedPin, HIGH);
    digitalWrite(redLedPin, LOW);
    noTone(buzzerPin);
    delay(100);
    myServo.attach(servoPin);
    myServo.write(0);


  } else {
    digitalWrite(greenLedPin, LOW);
    digitalWrite(redLedPin, HIGH);
    tone(buzzerPin, 1000);
    delay(100);
    myServo.attach(servoPin);
    myServo.write(90);
  }

  delay(250); // Delay untuk menghindari fluktuasi cepat pada pembacaan
}
$abcdeabcde151015202530fghijfghij
esp:0
esp:2
esp:4
esp:5
esp:12
esp:13
esp:14
esp:15
esp:16
esp:17
esp:18
esp:19
esp:21
esp:22
esp:23
esp:25
esp:26
esp:27
esp:32
esp:33
esp:34
esp:35
esp:3V3
esp:EN
esp:VP
esp:VN
esp:GND.1
esp:D2
esp:D3
esp:CMD
esp:5V
esp:GND.2
esp:TX
esp:RX
esp:GND.3
esp:D1
esp:D0
esp:CLK
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL
pot1:GND
pot1:SIG
pot1:VCC
bz1:1
bz1:2
led1:A
led1:C
led2:A
led2:C
r1:1
r1:2
r2:1
r2:2
servo1:GND
servo1:V+
servo1:PWM