int volts = analogRead(0) * 5 * (float)0.977; // несовсем корректно, так как 5 вольт ровно не бывает. Смотри предыдущий пример
int capacity;
if (volts > 3870)
capacity = map(volts, 4200, 3870, 100, 77);
else if ((volts <= 3870) && (volts > 3750) )
capacity = map(volts, 3870, 3750, 77, 54);
else if ((volts <= 3750) && (volts > 3680) )
capacity = map(volts, 3750, 3680, 54, 31);
else if ((volts <= 3680) && (volts > 3400) )
capacity = map(volts, 3680, 3400, 31, 8);
else if (volts <= 3400)
capacity = map(volts, 3400, 2600, 8, 0);
Serial.println(capacity);