Introduction
URM06 Ultrasonic sensors emit ultrasonic pulses, and by measuring the time of ultrasonic pulse reaches the object and back to the transducer, the distance of sensor from the target object is calculated. They are widely used in detecting displacement, thickness, distance, water level, material level and transparent objects.
The URM06 - PULSE Ultrasonic sensor provides very short to long-range detection and ranging from 20cm ~ 10m, comes in a compact, robust PVC housing and matches 35mm electrical pipe mounting. It comes with TTL pulse interface and works at high output acoustic power. The ultrasonic sensor detects objects from 20cm to 1000cm and provides range information with 1cm resolution. The URM06 has 15 degree beam angle which has excellent receive sensitivity. And it works best when detecting soft targets. The similar sensors are widely used in professional mobile robot systems such as Pioneer robots.
The URM06 series sensors are the best ultrasonic sensor available in the market regarding its beam angle, senstivity and accuracy.
Specification
- Working Voltage: 6V-12V (5V is acceptable but not recommended)
- Rated Current: 16mA
- Peek Current: 2A
- Interface: TTL pulse
- Working Frequency: 49.5KHZ
- Working Temperature: -10℃ ~ +70℃
- Detecting Angle: 15°(-6dB)
- Detecting Range: 20cm ~ 10m
- Size: 50mm(diameter)*43mm(length)
- Mounting Thread Diameter: 35mm
- Weight: 45g
Applications
- robot navigation
- obstacle avoidance
- measuring distance devices
- engineering measurement tools
- industrial control system
Connection Diagram
Pin Definition
- VCC: 6~12V@Max 2A (5V is acceptable but not recommended)
- GND: Ground
- Trig: Measurement trigger pin - Low level pulse over 50us triggers one distance measurement. Holding this pin LOW will repeats the measurement every 100ms.
- ECHO: Pulse signal output pin – 1us high level pulse equals 1mm in distance. If error occurs in detection, a 15000us high level pulse will be generated.
Sample Code
#include "Arduino.h"
/*
Trig: Measurement trigger pin - Low level pulse over 50us triggers one distance measurement.
Holding this pin LOW will repeats the measurement every 100ms.
*/
#define TRIGGER 2
/*
ECHO: Pulse signal output pin – 1us high level pulse equals 1mm in distance.
If error occurs in detection, a 15000us high level pulse will be generated.
*/
#define ECHO 3
void setup()
{
pinMode(TRIGGER, OUTPUT);
digitalWrite(TRIGGER, HIGH);
pinMode(ECHO, INPUT);
Serial.begin(9600);
}
void loop()
{
// generate the pulse to trigger the sensor
digitalWrite(TRIGGER, LOW);
delayMicroseconds(50);
digitalWrite(TRIGGER, HIGH);
delayMicroseconds(50);
//read the time of the pulse. 1us equals 1mm.
int distance = pulseIn(ECHO,HIGH);
Serial.print("distance:");
Serial.print(distance);
Serial.println("mm");
delay(500);
}
FAQ
For any questions, advice or cool ideas to share, please visit the DFRobot Forum.