Arduino - Ultrasonic Sensor HC-SR04 With LCD Display

Introduction: Arduino - Ultrasonic Sensor HC-SR04 With LCD Display

About: Arduino, Raspberry Pi, esp8266, Tutorials, Projects

Arduino Tutorial: Ultrasonic Sensor HC-SR04 and LCD Display

Display the results from the HC-SR04 Ultrasonic Sensor on an LCD Display

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Hardware Required

  • Arduino Board
  • Ultrasonic Sensor HC-SR04
  • LCD Display
  • 10k ohm potentiometer
  • Breadboard and wires

Step 2: Connections

Ultrasonic Sensor HC-SR04 Connections:

The HC-SR04 Ultrasonic Module has 4 pins, Ground, VCC, Trig and Echo. The Ground and the VCC pins of the module needs to be connected to the Ground and the 5 volts pins on the Arduino Board respectively and the trig and echo pins to any Digital I/O pin on the Arduino Board.

  • The HC-SR04 sensor attach to the Breadboard
  • The Sensor VCC connect to the Arduino Board +5V
  • The Sensor GND connect to the Arduino Board GND
  • The Sensor Trig connect to the Arduino Board Digital I/O 9
  • The Sensor Echo connect to the Arduino Board Digital I/O 10

Look the basic tutorial about the HC-SR04

LCD Display Connection:

Before wiring the LCD screen to your Arduino or Genuino board we suggest to solder a pin header strip to the 14 (or 16) pin count connector of the LCD screen.To wire your LCD screen to your board, connect the following pins:

  • LCD VSS pin to Arduino GND
  • LCD VDD pin to Arduino 5V
  • LCD VO pin to 10k Potentiometer center pin
  • LCD RS pin to digital pin 1
  • LCD RW pin to Arduino GND
  • LCD Enable pin to digital pin 2
  • LCD D4 pin to digital pin 4
  • LCD D5 pin to digital pin 5
  • LCD D6 pin to digital pin 6
  • LCD D7 pin to digital pin 7
  • The 10k Potentiometer's other legs connect to +5V and GND
  • For the backlight of the display, pin 15 (A+) and 16 (K-) of the LCD connect to +5V and GND
  • If you want, can be use a 220 ohm resistor to power the backlight of the display.

Look the basic tutorial about the LCD Display

Step 3: Code

  • The LiquidCrystal library allows you to control LCD displays that are compatible.
  • First you have to define the Trig and Echo pins. In this case they are the pins number 9 and 10 on the Arduino Board and they are named trigPin and echoPin. Then you need a Long variable, named “duration” for the travel time that you will get from the sensor and an integer variable for the distance.
  • In the setup you have to define the trigPin as an output and the echoPin as an Input and also start the serial communication for showing the results on the serial monitor.
  • If the object is 10 cm away from the sensor, and the speed of the sound is 340 m/s or 0.034 cm/µs the sound wave will need to travel about 294 u seconds. But what you will get from the Echo pin will be double that number because the sound wave needs to travel forward and bounce backward. So in order to get the distance in cm we need to multiply the received travel time value from the echo pin by 0.034 and divide it by 2.

Get the Code:

Step 4: If It Helps, Please Subscribe

First of all, I would like to thank you for reading this guide ! I hope it helps you.

If you want to support me, you can subscribe my channel and watch my videos.

Visit My Youtube Channel - Mert Arduino Tutorial & Projects

2 People Made This Project!


  • Backyard Contest

    Backyard Contest
  • Silly Hats Speed Challenge

    Silly Hats Speed Challenge
  • Arduino Contest 2020

    Arduino Contest 2020

5 Discussions


Question 1 year ago

Hi, nice tutorial, I have a question, I have a water tank on the roof "12-15 meters away from me" can I use the ultrasonic sensor to measure water level with it being connected to the arduino with 15 meters wires? I know it will weaken the voltage and signal, any alternative? Having the arduino and sensor right by the tank is not an option, I have two tanks to monitor, one in the backyard, one on the roof, I have 2 sensors and one arduino uno, how to connect them without losing accuracy or efficiency??

Thank you


3 years ago

Hi, can I use the same i2c backpack module on the 20,04 and on my 16,02 lcd?