#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int voltPin = A0;
int currPin = A1;
float voltage, current, power;
void setup() {
Serial.begin(9600);
lcd.init();
lcd.backlight();
}
void loop() {
int vRaw = analogRead(voltPin);
int cRaw = analogRead(currPin);
voltage = (vRaw / 1023.0) * 250; // simulate 0-250V
current = (cRaw / 1023.0) * 30; // simulate 0-30A
power = voltage * current;
Serial.print("Voltage: "); Serial.print(voltage); Serial.print(" V ");
Serial.print("Current: "); Serial.print(current); Serial.print(" A ");
Serial.print("Power: "); Serial.print(power); Serial.println(" W");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("V:"); lcd.print(voltage, 1); lcd.print(" C:"); lcd.print(current, 1);
lcd.setCursor(0, 1);
lcd.print("P:"); lcd.print(power, 1); lcd.print(" W");
delay(1000);
}