You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/hardware/01.mkr/01.boards/mkr-wifi-1010/tutorials/mkr-battery-app-note/mkr-battery-app-note.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -185,12 +185,12 @@ void loop()
185
185
**13.** In order to convert `rawADC` into a voltage reading (`voltADC`) we will divide `rawADC` by 4095 and then multiply it by the analog reference voltage (3.3V).
186
186
187
187
```arduino
188
-
voltADC = rawADC * (3.3/4095.0);
188
+
voltADC = rawADC * 3.3 / 4096.0;
189
189
```
190
190
191
191
**14.** The `voltADC` variable gives us the voltage sensed directly on the PB09 pin. This voltage is passed through the voltage divider, so it is a fraction of the actual battery voltage. We can then calculate the equivilanet battery voltage as follows.
192
192
```arduino
193
-
voltBat = voltADC * (max_Source_voltage/3.3);
193
+
voltBat = max_Source_voltage * rawADC / 4096.0;
194
194
```
195
195
196
196
**15.** We can approximate the battery voltage to be proportional to the capacity level. Since the `map()` function does not work with float variables, we will manually map the values.
@@ -266,7 +266,7 @@ float voltBat; //calculated voltage on battery
266
266
int R1 = 330000; // resistor between battery terminal and SAMD pin PB09
267
267
int R2 = 1000000; // resistor between SAMD pin PB09 and ground
268
268
269
-
int max_Source_voltage; // upper source voltage for the battery
269
+
float max_Source_voltage; // upper source voltage for the battery
270
270
271
271
// define voltage at which battery is full/empty
272
272
float batteryFullVoltage = 4.2; //upper voltage limit for battery
0 commit comments