Модуль MAX17043 использует алгоритм ModelGauge что бы отслеживать заряд аккумулятора без использования токовых датчиков.
#include "MAX17043.h"
#include "Wire.h"
MAX17043 batteryMonitor;
void setup() {
#include "MAX17043.h"
#include "Wire.h"
MAX17043 batteryMonitor;
void setup() {
Wire.begin();
Serial.begin(9600);
Serial.println("MAX17043 Example: reading voltage and SoC");
Serial.println();
// Запускаем датчик для работы
batteryMonitor.reset();
batteryMonitor.quickStart();
delay(1000);
// Получаем напряжение
float cellVoltage = batteryMonitor.getVCell();
Serial.print("Voltage:\t\t");
Serial.print(cellVoltage, 4);
Serial.println("V");
// Получаем текущий заряд
float stateOfCharge = batteryMonitor.getSoC();
Serial.print("State of charge:\t");
Serial.print(stateOfCharge);
Serial.println("%");
}
void loop() {}
Функция getVCell позволяет получить напряжение на аккумуляторе в мВ.
Функция getSoC возвращает состояние заряда аккумулятора в %.