Battery Voltage Reading using the TinyScreen+
This tutorial will show you how to read out the voltage of your battery using a TinyScreen+. With this knowledge, you can (very approximately) keep track of how much life your TinyScreen+ project has left.
- Arduino IDE
- TinyScreen library(You can download this from the Arduino Library Manager, find out how in our Installing Arduino Libraries Tutorial)
While it is probably not possible to get an exact reading of the percentage of a battery, you can get a pretty good approximation using the voltage reading of the battery and the time the program has been running.
So why can't we get an exact reading and how do we estimate the imminent death of a battery?
Let's look at this plot:
This diagram doesn't exactly match up with our batteries, but it serves as a good discussion piece for lipo batteries. You can see that the voltage of a battery over time will pretty much stay the same for most of its life with a gradual decrease. Once enough current has been drawn over enough time, the voltage will drop as the battery is dying.
So while this tutorial reads out the voltage of a battery, the voltage will pretty much stay the same for the life of the battery. If you want to estimate how long a program you're running will last on the battery you have, pay attention to the mAh value on the battery. This can serve as a rough estimate for how much time a program can be sufficiently powered if you know the amount of current your program is drawing.
Fun Fact: batteries will have a longer lifetime if only 90-95% of their charge is used at a time rather than continuously draining a battery down until it completely dies.
To get an estimate of the right voltage to be referenced as the "battery is about to die" voltage, you will have to do some testing and use your own discretion based on the current draw of your project.
Step 1: Assembly
All you have to do is insert the battery into the TinyScreen+ and use a MicroUSB cable to connect the TinyScreen+ to your computer, it's that easy.
Step 2: Software (Setup)
All you need is the Arduino IDE and the TinyScreen library, which you should already have if you have completed the TinyScreen+ Setup Tutorial!
Step 3: The Code!
Plug your MicroUSB cable into your TinyScreen+, and use the Arduino IDE to upload this program:
This code does not directly print out the state of charge (%) of the battery because that must be established on a case-by-case basis depending on the hardware you're using and the intensity of your program. You can use this program to do some testing and find out what works for you and your projects that need careful power monitoring.
This is what your program results should look like on the TinyScreen+:
Note: The voltage will be accurate to within about 0.1V, but you can calibrate this difference by measuring the voltage at full charge and accounting for that discrepancy.
Thanks for making with us!