Ultrasonic transducers or ultrasonic sensors are a type of acoustic sensor divided into three broad categories: transmitters, receivers and transceivers. Transmitters convert electrical signals into ultrasound, receivers convert ultrasound into electrical signals, and transceivers can both transmit and receive ultrasound.
In a similar way to radar and sonar, ultrasonic transducers are used in systems which evaluate targets by interpreting the reflected signals. For example, by measuring the time between sending a signal and receiving an echo the distance of an object can be calculated. Passive ultrasonic sensors are basically microphones that detect ultrasonic noise that is present under certain conditions.
In this example we will use a HC-SR04 Ultrasonic Sensor example, this is pictured below
Connection
Module Connection | Arduino Connection |
Vcc | 5v |
GND | Gnd |
Echo | D7 |
Trig | D8 |
Code
[codesyntax lang=”cpp”]
#define echoPin 7 // Echo Pin #define trigPin 8 // Trigger Pin long duration, distance; // Duration used to calculate distance void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); } void loop() { /* The following trigPin/echoPin cycle is used to determine the distance of the nearest object by bouncing soundwaves off of it. */ digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); //Calculate the distance (in cm) based on the speed of sound. distance = duration/58.2; Serial.println(distance); //Delay 50ms before next reading. delay(50); }
[/codesyntax]
If you open the serial monitor window you should see the distance to an object displayed