The hid keyboard example includes the battery service. But how does it work? I would like to monitor the battery charge. After I use the voltage divider, to which AIN pin should I connect? Where will the battery charge be displayed?
The hid keyboard example includes the battery service. But how does it work? I would like to monitor the battery charge. After I use the voltage divider, to which AIN pin should I connect? Where will the battery charge be displayed?
Hi,
Unfortunately, the ble_app_hids_keyboard example does not actually measure the battery voltage. It pass a simulated value to the battery service, see battery_level_update(). The ble_app_proximity example implements actual battery voltage measurement, you can use that as reference. Note that the proximity example use VDD as input. If you use a voltage divider, you should change the input to one of AIN0-AIN7 in parameter to NRF_DRV_SAADC_DEFAULT_CHANNEL_CONFIG_SE in adc_configure().
Best regards,
Jørgen
What voltage are you applying to the pin? The example will report 0 percent battery if measured voltage + 270 mV is below 2100 mV.
Hi Jorgen,
Thank you for your reply. I'm applying 3.3V to one of the pins of potentiometer. By varying the resistance, I get a voltage range from 0V to 3.3V which is applied to AIN0. After this is successful, I would like to try it with my battery. But the battery service is constantly stuck at 0 reading.
Hi Jorgen,
Thank you for your reply. I'm applying 3.3V to one of the pins of potentiometer. By varying the resistance, I get a voltage range from 0V to 3.3V which is applied to AIN0. After this is successful, I would like to try it with my battery. But the battery service is constantly stuck at 0 reading.