Ok, I’m convinced my code and maths are good.
Its just my voltage divider that sucks.
Works well for <6.3v but is useless for >6.3v
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
char ssid[] = "*************";
char pass[] = "*************";
char auth[] = "*************";
int value = 0;
float voltage;
float R1 = 67600.0;
float R2 = 67500.0;
BlynkTimer timer;
void myTimerEvent()
{
voltage = value * (3.3 / 1024)*((R1 + R2)/R2);
value = analogRead(A0);
Serial.print("A0 Value = ");
Serial.println(value);
Serial.print("Voltage = ");
Serial.println(voltage);
Blynk.virtualWrite(V5, voltage);
}
void setup()
{
// Debug console
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
timer.setInterval(1000L, myTimerEvent);
}
void loop()
{
Blynk.run();
timer.run(); // Initiates BlynkTimer
}
So, I can save this as a “good” working code and start working on how to integrate it into my EPever Controllers & Blynk code …
Feel free to tell me my code is “pants”. But if you do please tell me why so I can try and fix it, because I think its great …