Я пытаюсь выяснить заряд батареи.
Я использую батарею 12 В, подключенную к инвертору, который обслуживает несколько нагрузок A C. Я использовал несколько резисторов, чтобы уменьшить напряжение с 12 В до 3 В, а затем подключил его к AD C выводу на ESP 32.
Считываемые значения делятся на 4095 и умножаются на 100.
Странно то, что не имеет значения, существует нагрузка или нет, а также заряжена ли батарея наполовину или нет. Всегда показания изменяются с 0% до 100%, затем обратно на% 0, затем на 100% и т. Д.
Я не уверен, что я делаю неправильно, поэтому мне нужны некоторые рекомендации.
Любые указания высоко ценятся.
Обновление: код, который я использую, выглядит следующим образом, но этот для UNO, он тоже имеет ту же проблему:
int batteryPin = A0;
int x =0;
double value =0;
void setup() {
Serial.begin(115200);
pinMode(batteryPin, INPUT);
}
void loop() {
x = analogRead(batteryPin);
value = (x/1024.0) * 5.0;
Serial.println(x);
Serial.println(value);
delay(1000);
}