Ciao a tutti, ho cercato in giro ma non ci ho capito molto, sto facendo con un ina219 il controllo della batteria, mi servirebbe avere la percentuale che scende tipo conto alla rovescia tipo i cellulari, io avevo provato a farlo con step da 10 alla volta come vi allego, la batteria che controllo è una 2S perciò
8.4v cariaca
6.8v scarica
come si fa questo che cerco grazie
void batteryMonitor1() {
volt = loadvoltage ;
if ( volt >= 8.2 ) {
battPcrt = 100;
}
if ( volt < 8.2 && volt >= 8.0 ) {
battPcrt = 90;
}
if ( volt < 8.0 && volt >= 7.8 ) {
battPcrt = 80;
}
if ( volt < 7.8 && volt >= 7.6 ) {
battPcrt = 70;
}
if ( volt < 7.6 && volt >= 7.4 ) {
battPcrt = 60;
}
if ( volt < 7.4 && volt >= 7.2 ) {
battPcrt = 20;
}
if ( volt < 7.2 && volt >= 7.0 ) {
battPcrt = 10;
}
if ( volt < 7.0 ) {
battPcrt = 0;
}
}
Strano, prova stampare su serial monitor sia loadVoltage che value, puoi comunque anche provare a cambiare i valori nel map().
Non avevo capito che lo step di 10 in 10 fosse una condizione, pensavo che tu usassi lo step di 10 per minimizzare gli if. Se lo vuoi proprio così segui quello che ti ha postato Nid.