Ultrasonido Arduino.

El Sensor HC-SR04

HC-SR04 Sensor de Ultrasonidos
HC-SR04 Sensor de Ultrasonidos para Arduino.

Principio de funcionamiento del HC-SR04

El HC-SR04 es un sensor para medir distancias mediante ultrasonidos, el funcionamiento es simple, envía un sonido por debajo del umbral que percibe el oido humano (ultrasonido) y espera a recibir el eco, cuando recibe la señal de vuelta medimos el tiempo entre envió y recepción y obtenemos la distancia.

Conexiones del HC-SR04

El sensor dispone de cuatro conexiones:

  • Alimentación: 5V
  • Enviar pulso: Tigger Pulse Input
  • Recibir Eco: Echo Pulse Ouput
  • Masa: GND

Características del sensor de ultrasonidos HC-SR04

Tensión de Trabajo 5V DC
Consumo 15mA
Frecuencia 40Hz
Alcance máximo 4m
Alcance mínimo 2cm
Angulo de Medición 15º
Señal Trigger de entrada 10uS pulso TTL
Eco de retorno Entrada TTL proporcional a la entrada
Dimensiones 45*20*15mm

Conexión Electrica del Sensor con Arduino

Ejemplo Arduino y Sensor Ultrasonidos en Protoboard

 

Arduino + Ultrasonido
Prototipado de un Arduino con un sensor ultrasónico.

Esquema eléctrico del sensor de ultrasonidos para Arduino

Esquema eléctrico HC-SR04
Esquema de conexiones para el HC-SR04 con Arduino

Programa en Arduino

Explicación previa a la programación del HC-SR04

El sensor de ultrasonidos HC-SR04 necesita que se le envié una señal de 5v desde el Arduino por Trig, en nuestro esquema conectado al pin 9. Una vez enviado esperamos la respuesta con pulseIn() y con ello obtenemos el tiempo de respuesta. La distancia se optiene de multiplicar una constante por el tiempo.

Código

long distancia;
long tiempo;

void setup(){
  Serial.begin(9600);
  pinMode(9, OUTPUT); /*activación del pin 9 como salida: para el pulso ultrasónico*/
  pinMode(8, INPUT); /*activación del pin 8 como entrada: tiempo del rebote del ultrasonido*/
}

void loop(){
  digitalWrite(9,LOW); /* Por cuestión de estabilización del sensor*/
  delayMicroseconds(5);
  digitalWrite(9, HIGH); /* envío del pulso ultrasónico*/
  delayMicroseconds(10);
  tiempo=pulseIn(8, HIGH); /* Función para medir la longitud del pulso entrante. Mide el tiempo que transcurrido entre el envío
  del pulso ultrasónico y cuando el sensor recibe el rebote, es decir: desde que el pin 12 empieza a recibir el rebote, HIGH, hasta que
  deja de hacerlo, LOW, la longitud del pulso entrante*/
  distancia= int(0.017*tiempo); /*fórmula para calcular la distancia obteniendo un valor entero*/
  /*Monitorización en centímetros por el monitor serial*/
  Serial.println("Distancia ");
  Serial.println(distancia);
  Serial.println(" cm");
  delay(1000);
}

Una vez programado y compilado el Arduino veremos por el monitor serial las distancias a las cuales se encuentra un obstáculo de nuestro sensor.

Adquirir el Sensor de Proximidad

Si necesitas un Sensor de Proximidad para tu proyecto puedes acceder a nuestra sección de productos para adquirir el que mejor te convenga, distintos precios y vendedores. O pinchar aquí para ir directamente a buscar un sensor de ultrasonidos.

Adquirir Ultrasonidos para Arduino
Adquirir Ultrasonidos para Arduino

Vídeo de Ejemplo

Si quieres hacer cosas más complicadas y necesitas ayuda me ofrezco como freelance para desarrollo con Arduino y Similares.

Summary
Sensor Próximidad Arduino
Article Name
Sensor Próximidad Arduino
Description
Introducción a la programación con el Sensor de Proximidad de Arduino
Author
Publisher Name
Drouiz
Publisher Logo

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.