#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int potPin = A5;
const int greenLED = 4;
const int yellowLED = 5;
const int redLED = 3;
void setup() {
pinMode(greenLED, OUTPUT);
pinMode(yellowLED, OUTPUT);
pinMode(redLED, OUTPUT);
lcd.begin(16,2);
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Potentiometer:");
}
void loop() {
int potValue = analogRead(potPin);
int percentage = map(potValue, 0, 1023, 0, 100);
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print(percentage);
lcd.print("%");
if (percentage <= 33) {
digitalWrite(greenLED, HIGH);
digitalWrite(yellowLED, LOW);
digitalWrite(redLED, LOW);
} else if (percentage > 33 && percentage <= 66) {
digitalWrite(greenLED, HIGH);
digitalWrite(yellowLED, HIGH);
digitalWrite(redLED, LOW);
} else if (percentage > 66 && percentage < 100) {
digitalWrite(greenLED, HIGH);
digitalWrite(yellowLED, HIGH);
digitalWrite(redLED, HIGH);
} else if (percentage == 100) {
for (int i = 0; i < 5; i++) {
digitalWrite(greenLED, HIGH);
digitalWrite(yellowLED, HIGH);
digitalWrite(redLED, HIGH);
delay(250);
digitalWrite(greenLED, LOW);
digitalWrite(yellowLED, LOW);
digitalWrite(redLED, LOW);
delay(250);
}
}
delay(100);
}