Считаем в процентах заряд аккумулятора

В данном примере используется:
плата с защитой tp4056
аккумулятор 18560
arduino voltage sensor 25В
  1. int analogInput = A1;
  2. float vout = 0.0;
  3. float vin = 0.0;
  4. float R1 = 30000.0; //  под arduino voltage sensor 25v
  5. float R2 = 7500.0; //  под arduino voltage sensor 25v
  6. float zarad=0;
  7. int value = 0;
  8. void setup(){
  9.    pinMode(analogInput, INPUT);
  10.    Serial.begin(9600);
  11.    Serial.print("DC VOLTMETER");
  12. }
  13. void loop(){
  14.    // read the value at analog input
  15.    value = analogRead(analogInput);
  16.    vout = (value * 5.0) / 1024.0; // ардуино может считывать максимум 5В
  17.    vin = vout / (R2/(R1+R2));
  18.   zarad=((vin-2.5)*100)/5.9; // 2,5 - это минимальное напряжение для аккумулятора/платы зарядки, а 5,9 соответственное максимальное
  19.  
  20. Serial.print("INPUT V= ");
  21. Serial.println(vin,2);
  22. Serial.print("zarad= ");
  23. Serial.println(zarad);
  24. }
zarad=((vin-2.5)*100)/5.9; // 2,5
У платы tp4056 минимальное значение аккумулятора должно быть не менее 2,5В, то есть это у нас будет 0 процентов заряда.
Для вычисления максимальное процента, заряжаем наши аккумуляторы и смотрим итоговое значение и меняем с 5,9 на ваше число.

Реклама

Мы в соцсетях

tw tg yt gt