0% found this document useful (0 votes)
58 views6 pages

PING) ) ) Ultrasonic Distance Sensor: Onic P Ressu Re Wa Ves Ping) ) ) SP Eaker

The PING))) ultrasonic distance sensor emits ultrasonic sound bursts and measures the time it takes for the sound to echo off objects and return. It can measure distances from 0.8 inches to 120 inches with a measurement resolution of about 3 inches. The sensor connects to an Arduino via digital and power pins. An Arduino sketch uses the pulseIn command to measure the sensor's output time and convert it to a distance in inches using the speed of sound. As an example, the sketch then outputs an audible tone from a piezo speaker connected to the Arduino with a frequency proportional to the measured distance.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
58 views6 pages

PING) ) ) Ultrasonic Distance Sensor: Onic P Ressu Re Wa Ves Ping) ) ) SP Eaker

The PING))) ultrasonic distance sensor emits ultrasonic sound bursts and measures the time it takes for the sound to echo off objects and return. It can measure distances from 0.8 inches to 120 inches with a measurement resolution of about 3 inches. The sensor connects to an Arduino via digital and power pins. An Arduino sketch uses the pulseIn command to measure the sensor's output time and convert it to a distance in inches using the speed of sound. As an example, the sketch then outputs an audible tone from a piezo speaker connected to the Arduino with a frequency proportional to the measured distance.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 6

living with the lab

PING))) Ultrasonic Distance


Sensor
The PING))) sensor emits short bursts of sound and listens for this
sound to echo off of nearby objects. The frequency of the sound is
too high for humans to hear (it is ultrasonic). The PING))) sensor
measures the time of flight of the sound burst. A user then
computes the distance to an object using this time of flight and the
speed of sound (1,126 ft/s).
aves
w
e
r
ressu eaker
p
c
i
son
))) sp
G
ultra
N
I
P
from

object
ff
o
s
t
c
e refle PING)))
v
a
w
sound returns to

and
phone
o
r
c
i
m

living with the lab

Computing
Distance

living with the lab

Specificati
ons

measurement range: 0.8 in to 120 inches


supply voltage: 5V
supply current: 30mA

sensing distance (feet) as a function


of
angle
www.parallax.com/Portals/0/Downloads/docs/prod/acc/28015-PI
NG-v1.6.pdf

POWER

0
1
2
3
4
5

RESET
3V3
5V
GND
GND
Vin

AREF
GND
13
12
PMW 11
PMW 10
PMW 9
8
7
PMW 6
PMW 5
4
PMW 3
2
TX 1
RX 0

living with the lab

Connection to an
Arduino

DIGITAL

ANALOG

living with the lab

Arduino Sketch

The Arduino triggers the PING))) by sending a 5ms pulse to the sensor through pin 7,
which is initially configured as an Arduino OUTPUT.
Immediately after sending this pulse, pin 7 is switched to an INPUT.
When the PING))) receives the 5ms pulse from the Arduino, it sends a 40kHz
(ultrasonic) burst of sound out its speaker and sets pin 7 to HIGH.
The PING))) then waits for the sound burst to reflect off of something and return to
the microphone where it is detected; the PING))) then sets pin 7 to LOW.
The Arduino uses the pulseIn command to measure the time of flight of the sound
wave in microseconds (the time that pin 7, when configured as an input, is HIGH).
The time of flight of the sound wave in ms is stored in the variable duration.

void setup() {

Serial.begin(9600); }

void loop()
{
long duration, inches;
pinMode(7, OUTPUT);
digitalWrite(7, LOW);
delayMicroseconds(2);
digitalWrite(7, HIGH);
delayMicroseconds(5);
digitalWrite(7, LOW);

// send a 5 microsecond pulse out pin 7

pinMode(7, INPUT);
duration = pulseIn(7, HIGH);

// make pin 7 an input


// measure the time of flight of sound wave

inches = duration / 74 / 2;

// 1130 ft/s * 12in/ft * 1s/1,000,000us = 74


// factor of 2 since sound travels out and back

Serial.print(inches);
Serial.print("in ");
Serial.println();
}

// display distance in inches

living with the lab

Example
The picture shows how stiff wire (such as a coat hanger) can be used to mount the
Application
PING))) to an aluminum plate. An Arduino and breadboard are also mounted to the
plate, and a piezospeaker is installed on the breadboard to allow the device to output
an irritating noise whose frequency is proportional to the distance from the PING))) to
a target.
void setup() {pinMode(8, OUTPUT); }
void loop()
{
long duration, inches, tone_freq;
pinMode(7, OUTPUT);
// make pin 7 an output
digitalWrite(7, LOW);
// send wakeup pulse
delayMicroseconds(2);
digitalWrite(7, HIGH);
delayMicroseconds(5);
digitalWrite(7, LOW);
pinMode(7, INPUT);
duration = pulseIn(7, HIGH);

// make pin 7 an input


// time of flight of wave

inches = duration / 74 / 2;

// compute distance in inches

tone_freq = inches*100;
tone(8,tone_freq);

// a freq of 100*inches is good


// send a tone out of pin 8

}
6

You might also like