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 project has left.
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:
A graph of a battery's rate of discharge at different capacities(C)
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, but 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.
It is also important to note that 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.
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.
Now that's an amazing assembly process
All you need is the Arduino IDE and the TinyScreen library!
The Arduino Web Editor doesn't support the TinyScreen+ (yet!) so you'll have to upload the program in your Arduino IDE
This code does not directly print out the state of charge (%) of the battery because that is a little difficult to establish. 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+:
Your screen is probably prettier than mine
**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**
As always, if you have any questions or feedback, feel free to email us at firstname.lastname@example.org.
Show us what you make by tagging @TinyCircuits on instagram, twitter, or facebook so we can feature it!
Thanks for making with us!