#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int potPin = A1;
const int ledPin = 13;
const int buttonPin = 2;
bool ledState = false;
bool lastButtonState = LOW;
void setup() {
lcd.init();
lcd.backlight();
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
Serial.begin(9600);
}
void loop() {
bool currentButtonState = digitalRead(buttonPin);
if (currentButtonState != lastButtonState) {
if (currentButtonState == HIGH) {
ledState = !ledState;
digitalWrite(ledPin, ledState);
}
}
lastButtonState = currentButtonState;
int potValue = analogRead(potPin);
float voltage = potValue * (5.0 / 1023.0);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Pot Value: ");
lcd.print(potValue);
lcd.setCursor(0, 1);
lcd.print("Voltage: ");
lcd.print(voltage);
lcd.print(" V");
Serial.print("Pot Value: ");
Serial.print(potValue);
Serial.print(" | Voltage: ");
Serial.println(voltage);
delay(500);
}