Arduino Internet Voltage Monitoring

Arduino Internet voltage monitoring can be achieved in several ways. The Arduino can be set up as a client or a server in order to display measured voltage on a web page. In this article an Arduino is set up as web server that hosts a web page stored on SD card. The web page displays the voltage measured on Arduino analog pin A2 in near real-time. The web server also interacts with ThingSpeak, a Internet of Things (IoT) service which logs voltage over time. Voltage is displayed on the hosted web page on a gauge and in a ThingSpeak generated graph or chart.

Arduino Internet Voltage Monitoring

Arduino Internet Voltage Monitoring

How Arduino Internet Voltage Monitoring Works in this Project

The Arduino web server hosts a web page that communicates with the Arduino using JavaScript / Ajax. This allows the voltage to be sent from the Arduino to the web page over the Ethernet connection to update the voltage in the gauge on the web page. A potentiometer is used to vary the voltage on Arduino pin A2 between 0 and 5 volts.

The raw value from the Arduino analog input is sent to the web page and converted to voltage in the JavaScript that runs on the page. The raw analog value is also displayed on the web page and will be between 0 and 1023.

After the voltage is calculated, it is sent to ThingSpeak by JavaScript. ThingSpeak logs the voltage and plots the graph of the voltage. The graph in the above image is created by copying graph code from ThingSpeak which then updates the graph with the data from the ThingSpeak server.

Voltage Update Timing

Voltage is measured by the Arduino and updated on the web page every 200ms. ThingSpeak only updates graph or chart values every 15s (fastest update speed), so the JavaScript code only sends updates to the ThingSpeak server every 20s.

Tutorial for the Project and Other Resources

A full tutorial is available which explains how to set up this project on your own Arduino.

Learn how ThingSpeak works and how to set up a channel to send data from an Arduino to an account on the ThingSpeak server — ThingSpeak is a free service.

Learn about measuring voltage with Arduino.

Arduino Ethernet shield tutorial explains how to set up an Arduino and Ethernet shield as a web server.



Software Voltmeter With History

This four channel Arduino software voltmeter with history was made by using an Arduino Uno and an application written in the Processing language that runs on a computer.

The Arduino reads analog values on four analog input pins connected through voltage dividers and then calculates the voltage. The Processing application displays the voltage reading and the voltage history is displayed on a graph for each channel.

This image shows the software voltmeter application:

Voltmeter Application Software

Voltmeter Application Software

Click the above link for the circuit diagram, Processing source code and Arduino source code for this project.

Arduino Voltmeter with LCD and 4 Channels

This Arduino voltmeter measures four independent voltages and displays the results on a liquid crystal display (LCD). Each channel can measure up to about 50V DC which is achieved by adding a voltage divider to each channel. Click the above link for more details, a circuit diagram and Arduino sketch code.

Measuring Voltage using an Arduino Uno

How can one measure or monitor voltages greater than 5V using an Arduino board? The easiest way is to use a voltage divider network — which consists of only two resistors as shown in the circuit diagram below.

A full article on the subject is available with more information, code (an Arduino sketch) and some precautions that need to be taken into consideration.

Arduino Voltmeter Circuit

Arduino Voltmeter Circuit