Here is another version of Arduino based voltmeter. This time it uses 4-digit 7-Segment LED display and MAX7219 Display Driver. For similar design with 2×16 LCD display click this link. Also you can look at PIC16F876 implementation in my previous post. Interfacing the MAX7219 was covered in this article. You can see in the Arduino sketch attached here that the code is not too complicated and uses an upgraded interface function to show 4 digits on the 7-Segment display.
I’ve configured the MAX7219 to work in Code B font format according to its datasheet to simplify the code however it seems that the decimal point of the 7-Segment can’t be directly controlled in this case, so as you can see from the schematic diagram I’ve connected the DP of most significant digit to +5v supply via 220 ohm resistor making it constantly ON for 0-4.999 Volt range.
Also in order to create a more stable voltage reading and decrease the system noise I’ve averaged 500 ADC samples. The design seems to work OK on Arduino compatible Iduino UNO board as you can see in the attached short video next. A simple voltage divider can be added to the analog input A0 to increase the input range, don’t forget to normalize the result accordingly.