Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Menú
Electrónica analógica
Electrónica digital
Tecnologías de la comunicación
Control y robótica
Instalaciones
LED parpadeante
Secuencia de LED
Detector de luz
Control de motores DC
Créditos
http://www.practicasconarduino.com/manualrapido/detector_de_objetos_por_ultrasonidos_us.html 1/4
6/4/2018 Detector de objetos por ultrasonidos (US).
El sensor dispone de 4 pines: Alimentación (+5V), Tierra (GND), Trigger y Echo. El pin Trigger se encarga de
"disparar" la señal de ultrasonidos por el transmisor. Se hace enviado un nivel alto desde Arduino al pin digital donde
esté conectado el pin Trigger. El pin Echo se encarga de enviar a Arduino un pulso (nivel alto) con duración
proporcional a la distancia a la que se encuentra el objeto detectado, más exactamente distancia (cm) =
microsegundos del pulso / 29. Mediante la instrucción PulseIn de Arduino podemos leer la duración de ese pulso.
El sensor tiene un rango de 2 cm a 400 cm. Para más información consultar la hoja de especificaciones del sensor:
http://www.micropik.com/PDF/HCSR04.pdf
ESQUEMA:
http://www.practicasconarduino.com/manualrapido/detector_de_objetos_por_ultrasonidos_us.html 2/4
6/4/2018 Detector de objetos por ultrasonidos (US).
PROGRAMA 1:
int trigPin = 8;
int echoPin = 9;
long duration; //tiempo de ida/vuelta
int cm = 0; //Para almacenar el valor obtenido en cm valor=0
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop()
{
//ponemos al trigger a low para activarlo después
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
//Activar el módulo con un pulso de 10microsec.
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
//Esperamos la llegada de un pulso HIGH
duration = pulseIn(echoPin, HIGH); // valor del pulso alto en microsegundos
//tiempo de ida y vuelta, dividimos por 2
duration=duration/2;
//La velocidad del sonido es de 340 m/s
//El pin echo entrega un pulso alto
//de una duración de 29 microsegundos
//por cada centímetro de distancia
//a la que esté el objeto.
cm = duration/ 29;
Serial.print("Distancia:");
Serial.println(cm);
delay(100); // Nos aseguramos de que el siguiente trigger
// y el echo actual no se mezclen (recomiendan 50 ms).
}
En este caso tenemos que descargar previamente el archivo comprimido (.zip) de la librería NewPing e instalarla desde
la opción del IDE de Arduino Programa -> Incluir librería -> Add Library y seleccionar NewPing.zip (normalmente estará
descargado en la carpeta de Descargas).
#include <NewPing.h>
#define TRIGGER_PIN 8
#define ECHO_PIN 9
#define MAX_DISTANCE 200
http://www.practicasconarduino.com/manualrapido/detector_de_objetos_por_ultrasonidos_us.html 3/4
6/4/2018 Detector de objetos por ultrasonidos (US).
void setup() {
Serial.begin(9600);
}
void loop() {
delay(50);
int uS = sonar.ping();
Serial.print("Ping: ");
Serial.print(uS / US_ROUNDTRIP_CM);
Serial.println("cm");
}
Actividad
Diseña un circuito y realiza un programa que haga sonar un zumbador cuando un objeto se encuentre a menos
de 5 cm del sensor.
« Anterior | Siguiente »
http://www.practicasconarduino.com/manualrapido/detector_de_objetos_por_ultrasonidos_us.html 4/4