Close Menu
Circuit of Things
  • Home
  • About Us
  • Contact Us
  • 3D Print
  • Shop Now !
  • Projects
    • Raspberry Pi Projects
    • Arduino Projects
    • ESP8266 Projects
    • ESP32 Projects
    • IoT Tutorials
    • Sensors & Modules
    • IoT Basics
  • KSP Tools

Get Free Tutorials & Discounts!

Subscribe for the latest IoT tutorials and exclusive KSP Electronics discount codes.

Instagram WhatsApp
  • Terms and Conditions
  • Disclaimer
  • Privacy Policy
  • Contact Us
Circuit of Things Circuit of Things
  • Home
  • About Us
  • Contact Us
  • 3D Print
  • Shop Now !
  • Projects
    • Raspberry Pi Projects
    • Arduino Projects
    • ESP8266 Projects
    • ESP32 Projects
    • IoT Tutorials
    • Sensors & Modules
    • IoT Basics
  • KSP Tools
Hire us
Circuit of Things
Home»Arduino Projects»HC-SR04 Ultrasonic Sensor Arduino: Distance Measurement and Projects
Arduino Projects

HC-SR04 Ultrasonic Sensor Arduino: Distance Measurement and Projects

Sai Preetham KoyyalaBy Sai Preetham KoyyalaMay 4, 2026Updated:May 7, 2026No Comments2 Mins Read
Share Facebook Twitter Pinterest LinkedIn Tumblr Reddit Telegram Email
Share
Facebook Twitter LinkedIn Pinterest Email
Contents
  • Introduction
  • How It Works
  • Wiring to Arduino Uno
  • Project 1: Distance Meter
  • Project 2: Parking Sensor with Buzzer
  • Project 3: Water Tank Level Monitor
  • Conclusion

Introduction

The HC-SR04 uses sound waves to measure distance, exactly like a bat. It is one of the most useful and affordable sensors for Arduino projects. In this tutorial we cover wiring, calibration, and three practical projects.

How It Works

  • Trigger pin: 10µs HIGH pulse fires ultrasonic burst.
  • Echo pin: HIGH pulse duration proportional to distance.
  • Formula: Distance (cm) = Echo duration (µs) / 58

Wiring to Arduino Uno

HC-SR04 Arduino
VCC 5V
GND GND
Trig Pin 9
Echo Pin 10

Project 1: Distance Meter

#define TRIG 9
#define ECHO 10
void setup() { Serial.begin(9600); pinMode(TRIG,OUTPUT); pinMode(ECHO,INPUT); }
long getDist() {
  digitalWrite(TRIG,LOW); delayMicroseconds(2);
  digitalWrite(TRIG,HIGH); delayMicroseconds(10); digitalWrite(TRIG,LOW);
  return pulseIn(ECHO,HIGH)/58;
}
void loop() { Serial.println(String(getDist())+" cm"); delay(200); }

Project 2: Parking Sensor with Buzzer

#define TRIG 9
#define ECHO 10
#define BUZZER 11
void setup() { pinMode(TRIG,OUTPUT); pinMode(ECHO,INPUT); pinMode(BUZZER,OUTPUT); }
long getDist() {
  digitalWrite(TRIG,LOW); delayMicroseconds(2);
  digitalWrite(TRIG,HIGH); delayMicroseconds(10); digitalWrite(TRIG,LOW);
  return pulseIn(ECHO,HIGH)/58;
}
void loop() {
  long d=getDist();
  if(d<10) { digitalWrite(BUZZER,HIGH); }
  else if(d<30) { digitalWrite(BUZZER,HIGH); delay(100); digitalWrite(BUZZER,LOW); delay(100); }
  else { digitalWrite(BUZZER,LOW); delay(200); }
}

Project 3: Water Tank Level Monitor

Mount the HC-SR04 at the top of a tank pointing down. As water rises, echo time decreases. Convert this to a percentage.

#define TRIG 9
#define ECHO 10
#define TANK_H 100
void setup() { Serial.begin(9600); pinMode(TRIG,OUTPUT); pinMode(ECHO,INPUT); }
void loop() {
  digitalWrite(TRIG,LOW); delayMicroseconds(2);
  digitalWrite(TRIG,HIGH); delayMicroseconds(10); digitalWrite(TRIG,LOW);
  long dist=pulseIn(ECHO,HIGH)/58;
  int pct=constrain(((TANK_H-dist)*100)/TANK_H,0,100);
  Serial.println("Water Level: "+String(pct)+"%");
  delay(1000);
}

Conclusion

The HC-SR04 is a must-have for every maker. From robotics to smart home automation, its applications are nearly limitless!

Related Tutorials

  • ESP32 MH-Z19B: Building a DIY CO₂ Monitor for Smarter Air Quality Projects
  • LDR Light Sensor with Arduino: Auto Night Light Project
  • How to Power Your Arduino & ESP32 Projects Properly
Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
Previous ArticleESP32 MQTT Tutorial: Publish and Subscribe with HiveMQ
Next Article Raspberry Pi Pico W: Getting Started with MicroPython and Wi-Fi
Sai Preetham Koyyala
  • Website
  • Facebook
  • X (Twitter)
  • Instagram
  • LinkedIn

Hello, I am Sai Preetham Koyyala. I'm an electronics engineer by profession, a DIY enthusiast by passion. ESP32 and Arduino are the main topics of my work.

Related Posts

IoT Tutorials

How to Build a DIY Robotic Hand using Flex Sensors and Arduino

May 6, 2026
IoT Tutorials

How to Build a DIY Robotic Hand using Flex Sensors and Arduino

May 6, 2026
IoT Basics

How to Power Your Arduino & ESP32 Projects Properly

May 6, 2026
Add A Comment
Leave A Reply Cancel Reply


⚡

Circuit of Things

Free IoT tutorials & electronics projects — powered by KSP Electronics.

📸 Instagram 💬 Community
✓ Official Partner Store

Everything for Your
Next IoT Build

Boards, sensors, modules & kits — fast delivery across India.

ESP32 Arduino Sensors Raspberry Pi 3D Print
🛒 Shop KSP Electronics →
Top Posts

Raspberry Pi: How to Control a DC Motor with L298N and PWN on a Web Server

July 14, 2023

Step-by-Step Guide: Interface DHT11 and DHT22 Sensors with ESP32

May 6, 2026

Esp8266 / NodeMCU Pinout: A Comprehensive Guide for Beginners

June 25, 2023
Available for Projects

Hire Us for IoT Development

End-to-end solutions for your needs:

  • → ESP32 & Embedded Systems
  • → LoRaWAN & Cloud Dashboards
  • → Custom Hardware Design
  • → IoT Product Prototyping
View Services →

Get Free Tutorials & Discounts!

Subscribe to get the latest IoT tutorials and exclusive hardware discount codes for KSP Electronics delivered directly to your inbox.

Follow Us
  • Instagram
  • Telegram
About Circuit of Things

We are a community-driven engineering platform dedicated to IoT, Robotics, and DIY electronics tutorials.

Proudly partnered with KSP Electronics.

Quick Links
  • Home
  • ESP32 Projects
  • Arduino Projects
  • IoT Tutorials
  • Sensors & Modules
  • Shop on KSP Electronics
  • Electro Calc
Legal & Support
  • Terms and Conditions
  • Disclaimer
  • Privacy Policy
  • Contact Us
📩

Get Free Tutorials & Discounts!

Subscribe for IoT tutorials and exclusive KSP discount codes.

Subscription Form


By subscribing, you agree to our Privacy Policy. No spam, ever.

X (Twitter) Instagram YouTube WhatsApp
  • Terms and Conditions
  • Disclaimer
  • Privacy Policy
  • Contact Us
© 2026 Circuit of Things. Designed by Sai Preetham Koyyala.

Type above and press Enter to search. Press Esc to cancel.