Loading...

Tutorial.Ping History

Hide minor edits - Show changes to markup

June 05, 2010, at 05:22 AM by Equipo Traduccion -
Changed lines 1-10 from:

Ping Ultrasonic Range Finder

The Ping))) is an ultrasonic range finder from Parallax. It detects the distance of the closest object in front of the sensor (up to 3m). It works by sending out a burst of ultrasound and listening for the echo when it bounces off of an object. The Arduino board sends a short pulse to trigger the detection, then listens for a pulse on the same pin. The duration of this second pulse is equal to the time taken by the ultrasound to travel to the object and back to the sensor. Using the speed of sound, this time can be converted to distance.

Circuit

The 5V pin of the PING))) is connected to the 5V pin on the Arduino, the GND pin is connected to the GND pin, and the SIG (signal) pin is connected to digital pin 7 on the Arduino.

click the image to enlarge

to:

Medidor de Distancias por Ultrasonidos Ping

El Ping))) es un medidor de distancias por ultrasonidos de Parallax. Detecta la distancia que hay con el objeto más cercano que hay en frente del sensor (hasta 3 metros). Funciona enviando una ráfaga de ultrasonido y esperando a escuchar el eco que se produce cuando esta rebota con el objeto. La placa Arduino envía un pulso corto para disparar la detección y espera por un pulso en el mismo pin. La duración de este segundo pulso es el tiempo que ha tardado el ultrasonido en ir entre el sensor y el objeto y de vuelta al sensor. Conociendo la velocidad del sonido, ese tiempo se puede convertir en distancia.

Circuito

El pin de 5V de el PING))) se conecta al pin de 5V de la placa Arduino, el pin de masa, se conecta al pin de masa del Arduino y el pin SIG (señal) se conecta al pin digital 7 en el Arduino.

Pulsa en la imagen para ampliarla

Changed lines 12-18 from:

image developed using Fritzing. For more circuit examples, see the Fritzing project page

Schematic:

click the image to enlarge

to:

image developed using Fritzing. Para más circuitos de ejemplo visita la página del proyecto Fritzing

Equemático:

Pulsa en la imagen para ampliarla

Changed lines 22-23 from:

Code

to:

Código

February 23, 2010, at 10:28 PM by Tom Igoe -
Changed line 27 from:
 (:includeurl http://arduino.googlecode.com/svn/trunk/build/shared/examples/Sensors/tonePitchFollower/tonePitchFollower.pde border=0:)
to:
 (:includeurl http://arduino.googlecode.com/svn/trunk/build/shared/examples/Sensors/Ping/Ping.pde border=0:)
February 23, 2010, at 10:28 PM by Tom Igoe -
Changed lines 27-38 from:
 /* Ping))) Sensor
   
    This sketch reads a PING))) ultrasonic rangefinder and returns the
    distance to the closest object in range. To do this, it sends a pulse
    to the sensor to initiate a reading, then listens for a pulse 
    to return.  The length of the returning pulse is proportional to 
    the distance of the object from the sensor.
      
    The circuit:
 	* +V connection of the PING))) attached to +5V
 	* GND connection of the PING))) attached to ground
 	* SIG connection of the PING))) attached to digital pin 7
to:
 (:includeurl http://arduino.googlecode.com/svn/trunk/build/shared/examples/Sensors/tonePitchFollower/tonePitchFollower.pde border=0:)
Changed lines 29-99 from:
    http://www.arduino.cc/en/Tutorial/Ping
    
    created 3 Nov 2008
    by David A. Mellis
    modified 30 Jun 2009
    by Tom Igoe

  */

 // this constant won't change.  It's the pin number
 // of the sensor's output:
 const int pingPin = 7;

 void setup() {
   // initialize serial communication:
   Serial.begin(9600);
 }

 void loop()
 {
   // establish variables for duration of the ping, 
   // and the distance result in inches and centimeters:
   long duration, inches, cm;

   // The PING))) is triggered by a HIGH pulse of 2 or more microseconds.
   // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
   pinMode(pingPin, OUTPUT);
   digitalWrite(pingPin, LOW);
   delayMicroseconds(2);
   digitalWrite(pingPin, HIGH);
   delayMicroseconds(5);
   digitalWrite(pingPin, LOW);

   // The same pin is used to read the signal from the PING))): a HIGH
   // pulse whose duration is the time (in microseconds) from the sending
   // of the ping to the reception of its echo off of an object.
   pinMode(pingPin, INPUT);
   duration = pulseIn(pingPin, HIGH);

   // convert the time into a distance
   inches = microsecondsToInches(duration);
   cm = microsecondsToCentimeters(duration);

   Serial.print(inches);
   Serial.print("in, ");
   Serial.print(cm);
   Serial.print("cm");
   Serial.println();

   delay(100);
 }

 long microsecondsToInches(long microseconds)
 {
   // According to Parallax's datasheet for the PING))), there are
   // 73.746 microseconds per inch (i.e. sound travels at 1130 feet per
   // second).  This gives the distance travelled by the ping, outbound
   // and return, so we divide by 2 to get the distance of the obstacle.
   // See: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
   return microseconds / 74 / 2;
 }

 long microsecondsToCentimeters(long microseconds)
 {
   // The speed of sound is 340 m/s or 29 microseconds per centimeter.
   // The ping travels out and back, so to find the distance of the
   // object we take half of the distance travelled.
   return microseconds / 29 / 2;
 }

(:divend:)

to:

(:divend:)

August 27, 2009, at 02:48 PM by Tom Igoe -
Added lines 13-15:

image developed using Fritzing. For more circuit examples, see the Fritzing project page

July 05, 2009, at 01:48 PM by Tom Igoe -
Changed lines 22-23 from:

[@ /* Ping))) Sensor

to:

(:div class=code :)

Changed lines 24-35 from:
   This sketch reads a PING))) ultrasonic rangefinder and returns the
   distance to the closest object in range. To do this, it sends a pulse
   to the sensor to initiate a reading, then listens for a pulse 
   to return.  The length of the returning pulse is proportional to 
   the distance of the object from the sensor.

   The circuit:
	* +V connection of the PING))) attached to +5V
	* GND connection of the PING))) attached to ground
	* SIG connection of the PING))) attached to digital pin 7

   http://www.arduino.cc/en/Tutorial/Ping
to:
 /* Ping))) Sensor
   
    This sketch reads a PING))) ultrasonic rangefinder and returns the
    distance to the closest object in range. To do this, it sends a pulse
    to the sensor to initiate a reading, then listens for a pulse 
    to return.  The length of the returning pulse is proportional to 
    the distance of the object from the sensor.
      
    The circuit:
 	* +V connection of the PING))) attached to +5V
 	* GND connection of the PING))) attached to ground
 	* SIG connection of the PING))) attached to digital pin 7

    http://www.arduino.cc/en/Tutorial/Ping
    
    created 3 Nov 2008
    by David A. Mellis
    modified 30 Jun 2009
    by Tom Igoe

  */

 // this constant won't change.  It's the pin number
 // of the sensor's output:
 const int pingPin = 7;

 void setup() {
   // initialize serial communication:
   Serial.begin(9600);
 }

 void loop()
 {
   // establish variables for duration of the ping, 
   // and the distance result in inches and centimeters:
   long duration, inches, cm;

   // The PING))) is triggered by a HIGH pulse of 2 or more microseconds.
   // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
   pinMode(pingPin, OUTPUT);
   digitalWrite(pingPin, LOW);
   delayMicroseconds(2);
   digitalWrite(pingPin, HIGH);
   delayMicroseconds(5);
   digitalWrite(pingPin, LOW);

   // The same pin is used to read the signal from the PING))): a HIGH
   // pulse whose duration is the time (in microseconds) from the sending
   // of the ping to the reception of its echo off of an object.
   pinMode(pingPin, INPUT);
   duration = pulseIn(pingPin, HIGH);

   // convert the time into a distance
   inches = microsecondsToInches(duration);
   cm = microsecondsToCentimeters(duration);
Changed lines 80-148 from:
   created 3 Nov 2008
   by David A. Mellis
   modified 30 Jun 2009
   by Tom Igoe

 */

// this constant won't change. It's the pin number // of the sensor's output: const int pingPin = 7;

void setup() {

  // initialize serial communication:
  Serial.begin(9600);

}

void loop() {

  // establish variables for duration of the ping, 
  // and the distance result in inches and centimeters:
  long duration, inches, cm;

  // The PING))) is triggered by a HIGH pulse of 2 or more microseconds.
  // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
  pinMode(pingPin, OUTPUT);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(5);
  digitalWrite(pingPin, LOW);

  // The same pin is used to read the signal from the PING))): a HIGH
  // pulse whose duration is the time (in microseconds) from the sending
  // of the ping to the reception of its echo off of an object.
  pinMode(pingPin, INPUT);
  duration = pulseIn(pingPin, HIGH);

  // convert the time into a distance
  inches = microsecondsToInches(duration);
  cm = microsecondsToCentimeters(duration);

  Serial.print(inches);
  Serial.print("in, ");
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();

  delay(100);

}

long microsecondsToInches(long microseconds) {

  // According to Parallax's datasheet for the PING))), there are
  // 73.746 microseconds per inch (i.e. sound travels at 1130 feet per
  // second).  This gives the distance travelled by the ping, outbound
  // and return, so we divide by 2 to get the distance of the obstacle.
  // See: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
  return microseconds / 74 / 2;

}

long microsecondsToCentimeters(long microseconds) {

  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the
  // object we take half of the distance travelled.
  return microseconds / 29 / 2;

}

@]

to:
   Serial.print(inches);
   Serial.print("in, ");
   Serial.print(cm);
   Serial.print("cm");
   Serial.println();

   delay(100);
 }

 long microsecondsToInches(long microseconds)
 {
   // According to Parallax's datasheet for the PING))), there are
   // 73.746 microseconds per inch (i.e. sound travels at 1130 feet per
   // second).  This gives the distance travelled by the ping, outbound
   // and return, so we divide by 2 to get the distance of the obstacle.
   // See: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
   return microseconds / 74 / 2;
 }

 long microsecondsToCentimeters(long microseconds)
 {
   // The speed of sound is 340 m/s or 29 microseconds per centimeter.
   // The ping travels out and back, so to find the distance of the
   // object we take half of the distance travelled.
   return microseconds / 29 / 2;
 }

(:divend:)

June 30, 2009, at 05:33 PM by Tom Igoe -
Changed lines 23-51 from:

int pingPin = 7;

void setup() {

  Serial.begin(9600);

}

void loop() {

  long duration, inches, cm;

  // The PING))) is triggered by a HIGH pulse of 2 or more microseconds.
  // We give a short LOW pulse beforehand to ensure a clean HIGH pulse.
  pinMode(pingPin, OUTPUT);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(5);
  digitalWrite(pingPin, LOW);

  // The same pin is used to read the signal from the PING))): a HIGH
  // pulse whose duration is the time (in microseconds) from the sending
  // of the ping to the reception of its echo off of an object.
  pinMode(pingPin, INPUT);
  duration = pulseIn(pingPin, HIGH);

  // convert the time into a distance
  inches = microsecondsToInches(duration);
  cm = microsecondsToCentimeters(duration);
to:

/* Ping))) Sensor

Changed lines 25-31 from:
  Serial.print(inches);
  Serial.print("in, ");
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();

  delay(100);
to:
   This sketch reads a PING))) ultrasonic rangefinder and returns the
   distance to the closest object in range. To do this, it sends a pulse
   to the sensor to initiate a reading, then listens for a pulse 
   to return.  The length of the returning pulse is proportional to 
   the distance of the object from the sensor.

   The circuit:
	* +V connection of the PING))) attached to +5V
	* GND connection of the PING))) attached to ground
	* SIG connection of the PING))) attached to digital pin 7

   http://www.arduino.cc/en/Tutorial/Ping

   created 3 Nov 2008
   by David A. Mellis
   modified 30 Jun 2009
   by Tom Igoe

 */

// this constant won't change. It's the pin number // of the sensor's output: const int pingPin = 7;

void setup() {

  // initialize serial communication:
  Serial.begin(9600);
Changed line 54 from:

long microsecondsToInches(long microseconds)

to:

void loop()

Added lines 56-89:
  // establish variables for duration of the ping, 
  // and the distance result in inches and centimeters:
  long duration, inches, cm;

  // The PING))) is triggered by a HIGH pulse of 2 or more microseconds.
  // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
  pinMode(pingPin, OUTPUT);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(5);
  digitalWrite(pingPin, LOW);

  // The same pin is used to read the signal from the PING))): a HIGH
  // pulse whose duration is the time (in microseconds) from the sending
  // of the ping to the reception of its echo off of an object.
  pinMode(pingPin, INPUT);
  duration = pulseIn(pingPin, HIGH);

  // convert the time into a distance
  inches = microsecondsToInches(duration);
  cm = microsecondsToCentimeters(duration);

  Serial.print(inches);
  Serial.print("in, ");
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();

  delay(100);

}

long microsecondsToInches(long microseconds) {

Added line 105:
June 30, 2009, at 05:31 PM by Tom Igoe -
Deleted lines 5-7:
Added lines 8-19:

click the image to enlarge

Schematic:

click the image to enlarge

November 03, 2008, at 08:51 AM by David A. Mellis -
Changed lines 3-4 from:

The Ping))) is an ultrasonic range finder from Parallax. It detects the distance of the closest object in front of the sensor (up to 3m). It works by sending out a burst of ultrasound and listening for the echo when it bounces off of an object. The Arduino board sends a short pulse to trigger the detection, then listens for a pulse on the same pin. The duration of this second pulse is equal to the time taken by the ultrasound to travel to the object and back to the sensor. Using the speed of sound, this time can be converted to distance.

to:

The Ping))) is an ultrasonic range finder from Parallax. It detects the distance of the closest object in front of the sensor (up to 3m). It works by sending out a burst of ultrasound and listening for the echo when it bounces off of an object. The Arduino board sends a short pulse to trigger the detection, then listens for a pulse on the same pin. The duration of this second pulse is equal to the time taken by the ultrasound to travel to the object and back to the sensor. Using the speed of sound, this time can be converted to distance.

November 03, 2008, at 08:50 AM by David A. Mellis -
Changed lines 3-4 from:

The Ping))) is an ultrasonic range finder from Parallax. It detects the distance of the closest object in front of the sensor. It works by sending out a burst of ultrasound and listening for the echo when it bounces off of an object.

to:

The Ping))) is an ultrasonic range finder from Parallax. It detects the distance of the closest object in front of the sensor (up to 3m). It works by sending out a burst of ultrasound and listening for the echo when it bounces off of an object. The Arduino board sends a short pulse to trigger the detection, then listens for a pulse on the same pin. The duration of this second pulse is equal to the time taken by the ultrasound to travel to the object and back to the sensor. Using the speed of sound, this time can be converted to distance.

Added lines 9-10:

The 5V pin of the PING))) is connected to the 5V pin on the Arduino, the GND pin is connected to the GND pin, and the SIG (signal) pin is connected to digital pin 7 on the Arduino.

November 03, 2008, at 08:45 AM by David A. Mellis -
Changed lines 7-8 from:
to:
November 03, 2008, at 08:45 AM by David A. Mellis -
Added lines 3-8:

The Ping))) is an ultrasonic range finder from Parallax. It detects the distance of the closest object in front of the sensor. It works by sending out a burst of ultrasound and listening for the echo when it bounces off of an object.

Circuit

November 03, 2008, at 08:40 AM by David A. Mellis -
Added lines 1-62:

Ping Ultrasonic Range Finder

Code

int pingPin = 7;

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  long duration, inches, cm;

  // The PING))) is triggered by a HIGH pulse of 2 or more microseconds.
  // We give a short LOW pulse beforehand to ensure a clean HIGH pulse.
  pinMode(pingPin, OUTPUT);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(5);
  digitalWrite(pingPin, LOW);

  // The same pin is used to read the signal from the PING))): a HIGH
  // pulse whose duration is the time (in microseconds) from the sending
  // of the ping to the reception of its echo off of an object.
  pinMode(pingPin, INPUT);
  duration = pulseIn(pingPin, HIGH);

  // convert the time into a distance
  inches = microsecondsToInches(duration);
  cm = microsecondsToCentimeters(duration);

  Serial.print(inches);
  Serial.print("in, ");
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();

  delay(100);
}

long microsecondsToInches(long microseconds)
{
  // According to Parallax's datasheet for the PING))), there are
  // 73.746 microseconds per inch (i.e. sound travels at 1130 feet per
  // second).  This gives the distance travelled by the ping, outbound
  // and return, so we divide by 2 to get the distance of the obstacle.
  // See: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
  return microseconds / 74 / 2;
}

long microsecondsToCentimeters(long microseconds)
{
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the
  // object we take half of the distance travelled.
  return microseconds / 29 / 2;
}