DIY Maker Station

How to Use Ultrasonic Sensors with Arduino: A Complete Guide

robot, servo, ultrasonic sensor, engine, recycling, hobby, electronics, project, 3d printing, ebay, components, close-up
Table of Contents

Introduction

If you’re looking to add depth to your Arduino projects, using ultrasonic sensors is a game changer. These versatile sensors can measure distances, detect objects, and even enable robotics to navigate their surroundings. The best part? They are incredibly easy to integrate with Arduino boards. In this guide, I’ll share not just how to use ultrasonic sensors but also provide you with a neat project idea to get you started.

Our Pick: HC-SR04 Ultrasonic Sensor

The HC-SR04 is the most popular ultrasonic sensor you can use with Arduino. Priced around $3 to $5, it provides excellent functionality, including a range of 2 cm to 400 cm with a measurement accuracy of about 3 mm. With four pins — VCC, Trig, Echo, and GND – it’s straightforward to hook up and program. You can use it for various projects, such as obstacle detection, parking assistance, or even simple distance measurements.

Getting Started: Materials You Need

  1. Arduino Board: An Arduino Uno is commonly used, priced around $25.
  2. HC-SR04 Ultrasonic Sensor: Approximately $5.
  3. Jumper Wires: For connections, generally around $3 for a pack.
  4. Breadboard: Optional, but highly recommended for prototyping, usually around $10.

Wiring the Ultrasonic Sensor

HC-SR04 Pin Configuration:

  • VCC: Connect to 5V on Arduino
  • Trig: Connect to a digital pin (let’s use pin 9)
  • Echo: Connect to another digital pin (let’s use pin 10)
  • GND: Connect to GND on Arduino

Follow this simple layout to wire your components:

Ultrasonic Sensor PinArduino Pin
VCC5V
Trig9
Echo10
GNDGND

Writing the Code

Using the Arduino IDE, you can set up the code to retrieve distance measurements. Here’s a basic sketch:

#define trigPin 9
#define echoPin 10

void setup() {
  Serial.begin(9600); // Starts the Serial communication
  pinMode(trigPin, OUTPUT); // Sets the trigPin as an OUTPUT
  pinMode(echoPin, INPUT); // Sets the echoPin as an INPUT
}

void loop() {
  long duration, distance;
  
  // Clears the trigPin
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  
  // Sets the trigPin HIGH for 10 microseconds
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  
  // Reads the echoPin, returns the sound wave travel time in microseconds
  duration = pulseIn(echoPin, HIGH);
  
  // Calculating the distance
  distance = (duration * 0.034) / 2;
  
  // Prints the distance on the Serial Monitor
  Serial.print("Distance: ");
  Serial.println(distance);
  delay(1000);
}

Upload this code, and open the Serial Monitor to see real-time distance readings.

Project Idea: Obstacle Avoidance Robot

Now that you know how to wire up and code your ultrasonic sensor, let’s apply that knowledge into a fun project — an Obstacle Avoidance Robot.

What You’ll Need:

  • Arduino Uno: $25
  • HC-SR04 Ultrasonic Sensor: $5
  • Motor Driver Module (L298N): $10
  • DC Motors with Wheels: $15
  • Chassis Kit: $20
  • Battery Pack: $10

Use Case

As your robot moves around, the ultrasonic sensor continuously measures distances. Once it detects an object within a set threshold (e.g., 20 cm), the robot can be programmed to either stop or change direction to avoid a collision.

Code Overview for the Robot

You will need to enhance your initial code to control the motors based on distance readings. The distance thresholds will dictate the motor actions – for instance:

  • Distance > 20 cm: Move forward
  • Distance <= 20 cm: Stop and turn

By implementing basic algorithms, you can create an efficient obstacle avoidance system.

Who This Is For

This guide is perfect for:

  • Beginners wanting to delve into Arduino projects.
  • Hobbyists looking to create interactive gadgets or prototypes.
  • Educators teaching electronics and programming.

Who Should Skip This

If you are:

  • An advanced user with extensive experience in robotics and sensors, you may find this guide too basic.
  • Looking for highly specialized applications or advanced features of ultrasonic sensors, this guide may not cover your needs.

Final Thoughts

Using ultrasonic sensors with Arduino opens a world of possibilities in DIY projects. The HC-SR04 is an inexpensive and reliable starting point. With its ease of integration and simple coding requirements, you’ll be amazed at what you can accomplish.

Ready to get started? Grab your components and let’s build that obstacle avoidance robot today!

Related Articles

2D vs 3D Printers: Which Is Right for Your DIY Projects?

A detailed comparison of 2D and 3D printers to help you decide which is best for…

3D Printing vs. Traditional Manufacturing: What's Best for DIY Makers?

Explore the differences between 3D printing and traditional manufacturing method…

A Beginner's Guide to Using a Soldering Iron

Learn the essentials of using a soldering iron, from tools needed to common mist…