Complete Guide For Ultrasonic Sensor HC
Complete Guide For Ultrasonic Sensor HC
This article is a guide about the popular Ultrasonic Sensor HC – SR04. We’ll explain
how it works, show you some of its features and share an Arduino project example
you can follow to integrate in your projects. We provide a schematic diagram on how
to wire the ultrasonic sensor, and an example sketch to use with the Arduino.
Description
The HC-SR04 ultrasonic sensor uses sonar to determine distance to an object like
bats do. It offers excellent non-contact range detection with high accuracy and stable
readings in an easy-to-use package. It comes complete with ultrasonic transmitter
and receiver modules.
Features
Here’s a list of some of the HC-SR04 ultrasonic sensor features and specs:
The ultrasonic sensor uses sonar to determine the distance to an object. Here’s what
happens:
Seite 1 von 6
The time between the transmission and reception of the signal allows us to calculate
the distance to an object. This is possible because we know the sound’s velocity in
the air.
Pins
VCC: +5VDC
Seite 2 von 6
Trig : Trigger (INPUT)
Echo: Echo (OUTPUT)
GND: GND
This sensor is very popular among the Arduino tinkerers. So, here we provide an
example on how to use the HC-SR04 ultrasonic sensor with the Arduino. In this
project the ultrasonic sensor reads and writes the distance to an object in the serial
monitor.
The goal of this project is to help you understand how this sensor works. Then, you
should be able to use this example in your own projects.
Note: There’s an Arduino library called NewPing that can make your life easier when
using this sensor.
Parts Required
Arduino UNO
Ultrasonic Sensor (HC-SR04)
Breadboard
Jumper wires
Schematics
Follow the next schematic diagram to wire the HC-SR04 ultrasonic sensor to the
Arduino.
Seite 3 von 6
The following table shows the connections you need to make:
VCC 5V
Trig Pin 11
Echo Pinn 12
GND GND
/*
* Complete Guide for Ultrasonic Sensor HC-SR04
*
Ultrasonic sensor Pins:
VCC: +5VDC
Trig : Trigger (INPUT) - Pin11
Echo: Echo (OUTPUT) - Pin 12
GND: GND
*/
Seite 4 von 6
int echoPin = 12; // Echo
long duration, cm, inches;
void setup() {
//Serial Port begin
Serial.begin (9600);
//Define inputs and outputs
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
// The sensor is triggered by a HIGH pulse of 10 or more
microseconds.
// Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
Seite 5 von 6
Serial.print(inches);
Serial.print("in, ");
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(250);
}
Seite 6 von 6