Šim vajadzētu strādāt priekš esp32 Heltec ierīcēm un iespējams ka arī citām ierīcēm (netestēju).
Priekš parastajām litija baterijām.
Kas vajadzīgs
- Node ar bateriju kam kalibrēt
- Vscode ar platformIO un meshcore repozitoriju uzstādītu
Dabū baterijas spriegumu
Pielādē bateriju līdz 100% (4.2v)
Kompanjoniem - Atver meshcore applikāciju un apskaties baterijas spriegumu. (Uzspied uz baterijas procentiem un tad parādīs voltus).
Repīteriem - Atver repītera telemetriju un apskaties.
Piemēram šobrīd rāda 3.82v / 45%
Koda atrašana
Atver Vscode ar uzstādīto Meshcore kodu.
Uzliec enviroment uz to ierīci/konfigurāciju ko gribi izmantot.
Atrodi savai ierīcei failu kur ir funkcija getBattMilliVolts().
- Priekš Heltec v3 - variants -> heltec_v3 -> HeltecV3Board.h
- Heltec v4 - variants -> heltec_v4 -> HeltecV4Board.cpp
- Līdzīgi var citām ierīcem atrast mapē variants
Piemēram izmantosim Heltec v3
Funkcijai jāizskatās līdzīgi kā apakšā redzamajā bildē.

Atrodi daļu kas aprēķina milivoltus.
Jāizskatās līdzīgi šādi:
return (5.42 * (3.3 / 1024.0) * raw) * 1000;
Matemātika
Iegaumē formulai pirmo koeficientu (↑treknrakstā↑)
Izmantojot iepriekš iegūtu spriegumu un koeficientu, ieliec to šajā formulā
K = X * (4.2/V)
Piemērs:
K = 5.42 * (4.2/3.82) ≈ 5.95
Koda mainīšana
Nomaini funkcijai pirmo skaitli uz iepriekš aprēķināto skaitli
Piemērs:
return (5.42 * (3.3 / 1024.0) * raw) * 1000; ==> return (5.95 * (3.3 / 1024.0) * raw) * 1000;
Piemērot izmaiņas
Pieslēdz ierīci klāt pie datora, kompilē un augšuplādē. Un tagad vajadzētu baterijai pareizi rādīt cik pilna ir!
-🍝