float Vmod1 = 0.0;
float V = 0.0;
float R1 = 30000.0; //R sensor voltage 30k
float R2 = 7500.0; //R sensor voltage 7k5
int val1 = 0;
int sens = 4; //tegantung sensor arus yang digunakan, yang ini 5A
int val2= 0;
int Voffset = 0; //nilai pembacaan offset saat tidak ada arus yang lewat
float Vmod2 = 0.0;
float I = 0.0;
float P = 0.0;
void setup()
{
Serial.begin(9600);
pinMode(A0, INPUT); // input voltage sensor
pinMode(A1, INPUT); // input current sensor
}
void sensor()
{
val1 = analogRead(A0); // nilai input voltage
Vmod1 = (val1 * 5.0) / 1024.0;
V = Vmod1 / (R2/(R1+R2));
val2 = analogRead(A1); // nilai input current
Vmod2 = (val2 / 1024.0) * 5;
I = ((Vmod2 - Voffset) * sens);
}
void loop()
{
sensor();
P=V*I;
Serial.print(("V adc: "));
Serial.print(val1);
Serial.print((" V modul: "));
Serial.print(Vmod1);
Serial.print((" Voltage: "));
Serial.print(V);
Serial.print("V");
Serial.print((" I adc: "));
Serial.print(val2);
Serial.print((" V modul (I): "));
Serial.print(Vmod2);
Serial.print((" Current: "));
Serial.print(I);
Serial.print("A");
Serial.print((" Power: "));
Serial.print(P);
Serial.println("W");
delay(15);
}