uint16_t accumulateEnergy = 0;
uint32_t finalEnergyValue = 0;
float voltage = 0;
float current = 0;
float power_factor = 0;
uint16_t realPower = 0;
void setup() {
Serial.begin(9600);
finalEnergyValue = 1023999500; // Start with 1023.9995 to count beyond 1024
}
void loop() {
voltage = 237.0;
current = 0.5;
power_factor = 1.0;
realPower = voltage * current * power_factor * 100;
accumulateEnergy = realPower / 36;
finalEnergyValue += accumulateEnergy;
Serial.println(realPower);
Serial.println(accumulateEnergy);
Serial.println(finalEnergyValue);
Serial.println(finalEnergyValue / 1000000.0, 4);
delay(200);//Speed up a bit
}
/*
//char outPut[12];
//sprintf(outPut,"%lu.%04lu", finalEnergyValue / 10000, finalEnergyValue % 10000);
//Serial.println(outPut);
float accumulateEnergy = 0;
float finalEnergyValue = 0;
float voltage = 0;
float current = 0;
float power_factor = 0;
float realPower = 0;
void setup() {
Serial.begin(9600);
finalEnergyValue = 1023999.50; // Start with 1023.9995 to count beyond 1024
}
void loop() {
voltage = 237.0;
current = 0.5;
power_factor = 1.0;
realPower = voltage * current * power_factor;
accumulateEnergy = realPower / 360;
finalEnergyValue += accumulateEnergy;
Serial.println(realPower,3);
Serial.println(accumulateEnergy,3);
Serial.println(finalEnergyValue,3);
Serial.println(finalEnergyValue / 1000.0, 5);
delay(200);//Speed up a bit
}
*/