Tutorial: sensor ultrasonidos HC-SR04.
Introducción
Este sensor tiene el mismo funcionamiento que un radar ya que envia
pulsos a alta frecuencia en este caso ultrasónicos. Está compuesto por
dos piezoeléctricos: un transmisor y receptor ambos en forma de
cilindro. El transmisor se encarga de emitir la señal ultrasónica para
luego ser rebotada a través de un objeto llegando al cilindro receptor.
Asumiendo que la velocidad de este sensor es apróximadamente unos 340
m/s, entonces se puede obtener más o menos la distancia a la cual está
el objeto.
Al ser un sensor ultrasónico, éste trabaja en la banda de los 40 kHz
casi el doble de la frecuencia de muestreo para una señal de audio. Esto
quiere decir que para el ser humano es imposible percibir a través de
los oídos esta señal ya que supera el ancho de banda del oído humano que
es de hasta apróximadamente 20 kHz. Un sensor ultrasónico puede
trabajar en áreas donde se tenga completa oscuridad ya que las luces no
afectan o detienen su funcionamiento.
Aplicaciones y ventajas
Aplicaciones y ventajas
Debido a sus características, podemos encontrar sensores de ultrasonidos en aplicaciones como:
- Medición de nivel – en tanques que contienen diferentes productos en forma líquida-.
- Control de colisiones en sistemas de aparcamiento.
- Control de posición en campos como robótica, industria del plástico, etc.
- Control de llenado de tanques.
Las principales ventajas de estos sensores son:
- No necesitan contacto físico para poder detectar objetos.
- Buena relación calidad-precio
- En comparación con otras tecnologías, los dispositivos basados en ultrasonidos son compactos y livianos.
Conexiones
Programa
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);
}
Características
A comparación de otros dispositivos anteriomente mostrados en
Clase911, este sensor tiene únicamente cuatro pines. Dependiendo del
fabricante, puede tener desde tres hasta cinco pines. Para este caso se
tiene:
VCC: Voltaje de alimentación
TRIG: Pin de disparo
ECHO: Pin de eco
GND: Ground
Medición mínima: 2 cm
Medición máxima: 5 m
Ángulo efectivo < 15 °
Señal de disparo: TTL de 10 us.
Unidades de operación
Parámetros de operación |
Min | Típ. | Máx | Unidad |
---|---|---|---|---|
Voltaje de operación |
4.5 | 5 | 5.5 | V |
Corriente | 10 | 15 | 20 | mA |
Indagaré entonces a profundidad cómo funciona este sensor, para que
puedan observar que realmente es sencillo. Para ello, haré uso de la
data del fabricante:
En la data se presenta un diagrama de tiempo que es muy importante conocerlo y dominarlo. Funciona de la siguiente manera:
Se tienen tres canales: el canal del disparo, el canal donde se emite
la señal desde el módulo y el canal del eco respectivamente.
Para que el módulo inicie su trabajo es necesario enviar un pulso TTL
(típicamente 5 V) con una duración de 10 us. Una vez se haya enviado
este pulso a través del pin TRIG entonces el módulo comenzará a trabajar
internamente enviando varios pulsos ultrasónicos de 40 kHz
apróximadamente. Una vez que el módulo haya enviado ocho pulsos, el pin
de eco enviará la distancia a la cual está el objeto en forma de pulsos
con nível TTL de amplitud más baja. Dependiendo del ancho del pulso que
emita el receptor, se tendrá distintos valores de distancias. El ancho
de pulso para el pin eco va desde apróximadamente 150 us a 25 ms. El
caso especial ocurre a 38 ms que es cuando el sensor indica que no hay
obstáculo. Y así es que funciona el sensor.
Ángulo efectivo
Este sensor presenta una gráfica similar a la de un patrón de
radiación, con esta información se puede saber a qué ángulo desde una
referencia inicial se pueden obtener mejores resultados en las lecturas.
El patrón de radiación es una gráfica que presenta propiedades
importantes en base a coordenadas espaciales, generalmente esféricas. La
propiedad más relevante en este tipo de gráfica es la distribución de
energía, es decir cuántos dB tenemos en función de un punto de
referencia a lo largo de un radio que no cambia. Para este caso se
comenta a qué distancia se puede detectar un objeto en función del
ángulo.
El ángulo efectivo para este sensor es de 15 °, esto indica que el
sensor podrá detectar objetos a un rango de 30 °, 15 ° hacia la derecha e
izquierda del ángulo cero. A continuación presento la imagen:
Aquí se observa que en efecto para un angulo menor a 15 grados, las lecturas son bastante buenas.
Consideraciones
- Antes de conectarlo a la red, primero asegúrate que esté conectado a la refencia o bien: ground.
- Recuerda que todos los sensores de este tipo tienen una zona ciega, para evitar salidas inestables utilizada el sensor para medir distancias a más de 80 cm desde su frente.
- La temperatura es un factor que puede afectar las lecturas del sensor, la velocidad de propagación de una onda mecánica decrece a medida que la temperatura aumenta.
Fuente:
elcajondeardu.blogspot.com.es
panamahitek.com
opiron.com
opiron.com
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.