In this tutorial, we'll explore how to use the ACS712 Current Sensor with Visuino and Arduino to measure both AC and DC currents and display the readings in Amps on an OLED screen. The ACS712 is a Hall-effect-based sensor that provides accurate current measurements, making it ideal for various applications such as motor control and power monitoring.
Watch the video!
Understanding the ACS712 Sensor
The ACS712 sensor comes in three variants, each designed for different current ranges:
ACS712-05B: ±5A with a sensitivity of 185 mV/AACS712-20A: ±20A with a sensitivity of 100 mV/AACS712-30A: ±30A with a sensitivity of 66 mV/AChoose the appropriate sensor based on the expected current in your application.
Connect ACS712 pin[VCC] to the [5V] pin on the Arduino.Connect ACS712 pin[GND] to the [GND] pin on the Arduino.Connect ACS712 pin [Out]to the [A0] analog input pin on the Arduino.


Double click on the "DisplayOLED1" component and in the Elements window drag "Text Field" to the left side and in the properties window set "Size" to 3Close the Elements window
Select "CurrentMeter1" and in the properties window set the type of your sensor by selecting "Range (A)" in this example we are using 20 (ACS712-20A)Double click on the "CurrentMeter1" and in the Operations window drag "Calibrate Period" to the left side and in the properties window set "Period (uS)" to 3000000, This means that on the start the sensor will calibrate it self for 3sClose the Operations window
Connect Arduino Analog 0 pin [Out] to "CurrentMeter1" pin [In]Connect "Start1" pin [Out] to "CurrentMeter1" > "Calibrate Period1" pin [Start]Connect "CurrentMeter1" pin [Out] to "AveragePeriod1" pin [In]Connect "AveragePeriod1" pin [Out] to "DisplayOLED1" > "Text Field1" pin [In]Connect "DisplayOLED1" pin [I2C] to Arduino pin [I2C]
Congratulations! You have completed your project with Visuino. Also attached is the Visuino project, that I created for this Instructable, you can download it and open it in Visuino: https://www.visuino.com
