Creating  a voltmeter with the Arduino

Can anyone point me in the correct dirrection. How can I create a voltmeter with the Audrino duemilanove? I plan on using the Audrino to monitor several batteries. Thank you.

An Arduion analog input pin may only have a value of 0 to +5 volts DC connected directly to it. To measure a higher DC voltage an external voltage divider must be used.

An easy method is to use a 3 terminal 10 turn trimmer pot as a voltage divider, 5K ohm would work OK. Ground one of the fixed pot pins, wire your external battery voltage to the other pot fixed pin. Adjust the pot until the varible pot pin measures say 4 volts with a fully charged battery. Now you can safely wire the variable pin to one of the Arduino analog input pins.

Whats left is software scaling of the 10 bit digital value so you have know what value is equal to what external voltage value.


I will be constantly monitoring the battery with the arduino. How can I use the arduino to mesuare voltage without significantly draining the voltage of a battery?

It really depends on the voltage and capacity (mAH or AH) of the battery. A 10K voltage divider will pull 1.2 mA from a 12V battery. A rechargeable "AA" battery is typically about 2000 mAH or so (10 of them to make 12 Volts) So a drain of 1mA will take about 2000 hours to run the battery dead. I think NiMh batteries go dead on their own faster than that.

In order to answer your question properly, we need to know the voltage of the battery(ies) you are monitoring and the capacity. But in any case, if you want to constantly monitor a battery, you have to leave something connected to it all the time, which will cause some sort of drain. No way around that.

well you could reduce drain by only checking every ten seconds, every minute, or every ten minutes, depending on your needs.