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 Trabajo5V DC
Consumo15mA
Frecuencia40Hz
Alcance máximo4m
Alcance mínimo2cm
Angulo de Medición15º
Señal Trigger de entrada10uS pulso TTL
Eco de retornoEntrada TTL proporcional a la entrada
Dimensiones45*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.