ACS712 ratiometric Hall effect sensor.
Fig. 1

Ratiometric Hall Effect Sensors Arduino Interfacing

by Lewis Loflin


In the You Tube video above I demonstrated the use of a ratiometric Hall sensor with an Arduino-Atmega168 connected to a liquid crystal display. This page will show how to connect Hall sensors to the Arduino.

See the two previous pages on Hall sensors the video covered:

In Fig. 1 we have a popular analog current measuring module based on a ACS712 sensor from Allegro. Typical for a ratiometric sensor output is 2.5V with no input and also suffers from narrow range and sensitivity.

Ratiometric Hall sensor with LM358 differential amplifier.
Fig. 2

In Fig. 2 we use a differential amplifier based on a LM358 to both amplify the output and offset the 2.5-volt problem. This gives use a range of 0-3.8 volts. The circuit works the same way with the ACS712 type sensors.

About the Program

An analog to digital converter (ADC) on the Arduino is a 10-bit (1024 steps) unit and over a range of 5 volts is 5.0/1023 = 4.882 mV per step. Here we simply measure the output voltage from the sensor and display that voltage. It's simply a modified version of my TMP37 program and uses the exact same schematic. See Using the TMP37 Temperature Sensor with Arduino

See Arduino Project Mainpage

Download Arduino code arduino_vm.txt download, copy and paste to Arduino compiler.

Arduino connected to LCD display
Typical 2 line by 16 character LCD connection to a generic Arduino module.
R1 is used to adjust LCD contrast, pins 15 and 16 are the back light.

See How I got into Electronics