Estoy haciendo un pequeño proyecto utilizando un cargador Lipoly y una batería de 2500mAh 3,7V, ambos de Adafruit. Estoy tratando de mostrar el porcentaje que le queda a la batería. Para ello estoy usando este pequeño sketch :
long readVcc() {
long result;
// Read 1.1V reference against AVcc
ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
delay(2); // Wait for Vref to settle
ADCSRA |= _BV(ADSC); // Convert
while (bit_is_set(ADCSRA,ADSC));
result = ADCL;
result |= ADCH<<8;
result = 1126400L / result; // Back-calculate AVcc in mV
return result;
}
He visto en esa página que el voltaje mínimo es de 3.0V así que uso eso para obtener mis valores :
float volt = (float)readVcc()/1000;
float percent = ((volt-3)/0.7)*100;
Cuando visualizo mis valores, me muestra que el porcentaje restante es de -4%. ¿Debo preocuparme o estoy haciendo algo mal al calcular?