los telémetros ultrasónicos son pequeños sensores divertidos que pueden medir la distancia. Puede usarlos para encontrar la distancia a un objeto o para detectar cuando algo está cerca del sensor, como un detector de movimiento. Son ideales para proyectos que involucran navegación, evitación de objetos y seguridad en el hogar. Debido a que usan el sonido para medir la distancia, funcionan tan bien en la oscuridad como en la luz., El telémetro ultrasónico que utilizaré en este tutorial es el HC-SR04, que puede medir distancias desde 2 cm hasta 400 cm con una precisión de ±3 mm.
en este artículo, le mostraré cómo hacer tres circuitos diferentes de telémetro para Arduino. El primer circuito de telémetro es fácil de configurar y tiene una precisión bastante buena. Los otros dos son un poco más complicados, pero son más precisos porque tienen en cuenta la temperatura y la humedad. Pero antes de entrar en eso, hablemos de cómo mide la distancia el telémetro.,
La velocidad del sonido
los buscadores de rango ultrasónicos miden la distancia emitiendo un pulso de sonido ultrasónico que viaja a través del aire hasta que golpea un objeto. Cuando ese pulso de sonido golpea un objeto, se refleja en el objeto y viaja de regreso al telémetro ultrasónico., El telémetro ultrasónico mide cuánto tiempo tarda el pulso de sonido en viajar en su viaje de ida y vuelta desde el sensor y hacia atrás. Luego envía una señal al Arduino con información sobre cuánto tiempo tardó en viajar el pulso sónico.
sabiendo el tiempo que toma el pulso ultrasónico para viajar hacia adelante y hacia atrás al objeto, y también sabiendo la velocidad del sonido, el Arduino puede calcular la distancia al objeto., La fórmula relativa a la velocidad del sonido, la distancia y el tiempo de recorrida es:
Reorganización de esta fórmula, obtenemos la fórmula utilizada para calcular la distancia:
La variable de tiempo es el tiempo que tarda el pulso ultrasónico para dejar el sensor, rebotar en el objeto, y vuelve al sensor., En realidad, dividimos este tiempo por la mitad, ya que solo necesitamos medir la distancia al objeto, no la distancia al objeto y volver al sensor. La velocidad variable es la velocidad a la que el sonido viaja a través del aire.
la velocidad del sonido en el aire cambia con la temperatura y la humedad. Por lo tanto, para calcular con precisión la distancia, tendremos que considerar la temperatura ambiente y la humedad., La fórmula para la velocidad del sonido en el aire con la temperatura y la humedad explicada:
Por ejemplo, a 20°C y 50% de humedad, el sonido viaja a una velocidad de:
En la ecuación anterior, es claro que la temperatura tiene mayor efecto sobre la velocidad del sonido. La humedad tiene cierta influencia, pero es mucho menor que el efecto de la temperatura.,
cómo mide la distancia el telémetro ultrasónico
en la parte frontal del telémetro ultrasónico hay dos cilindros metálicos. Estos son transductores. Los transductores convierten las fuerzas mecánicas en señales eléctricas. En el telémetro ultrasónico, hay un transductor transmisor y un transductor receptor. El transductor transmisor convierte una señal eléctrica en el pulso ultrasónico, y el transductor receptor convierte el pulso ultrasónico reflejado de nuevo en una señal eléctrica., Si observa la parte posterior del telémetro, verá un CI detrás del transductor transmisor etiquetado MAX3232. Este es el IC que controla el transductor transmisor. Detrás del transductor receptor hay un IC marcado LM324. Este es un amplificador operativo cuádruple que amplifica la señal generada por el transductor receptor en una señal lo suficientemente fuerte como para transmitir al Arduino.,
El telémetro ultrasónico HC-SR04 tiene cuatro pines:
- Vcc – suministra la energía para generar los pulsos ultrasónicos
- GND – conectado a tierra
- trig – donde el Arduino envía la señal para iniciar el pulso ultrasónico
- Echo – donde el telémetro ultrasónico envía la información sobre la duración del viaje tomado por el pulso ultrasónico al Arduino
para iniciar una medición de distancia, necesitamos enviar una señal alta de 5v al pin trigonométrico durante al menos 10 µs., Cuando el módulo recibe esta señal, emitirá 8 pulsos de sonido ultrasónico a una frecuencia de 40 KHz desde el transductor transmisor. Luego espera y escucha en el transductor receptor la señal reflejada. Si un objeto está dentro del alcance, los 8 pulsos se reflejarán de nuevo en el sensor. Cuando el pulso golpea el transductor receptor, el perno del Eco emite una señal de alto voltaje.
la longitud de esta señal de alto voltaje es igual al tiempo total que los 8 pulsos tardan en viajar desde el transductor transmisor y volver al transductor receptor., Sin embargo, solo queremos medir la distancia al objeto, y no la distancia de la ruta que tomó el pulso de sonido. Por lo tanto, dividimos ese tiempo por la mitad para obtener la variable de tiempo en la ecuación D = S X T anterior. Dado que ya conocemos la velocidad del sonido (s), podemos resolver la ecuación para la distancia.
configuración del telémetro ultrasónico para la salida del Monitor en serie
comencemos por hacer un telémetro ultrasónico simple que emitirá mediciones de distancia a su monitor en serie. Si desea enviar las lecturas a una pantalla LCD, consulte la siguiente sección., Conectar todo es fácil, sólo tienes cable como este:
una Vez que tienes todo conectado, cargar este programa en el Arduino:
Explicación del Código
- Línea 11: Declara las variables
duration
ydistance
. - líneas 12 y 13: envía una señal de baja de 2 µs al
trigPin
para asegurarse de que está apagado al principio del bucle del programa., - líneas 15-17: envía una señal de alta de 10 µs al
trigPin
para iniciar la secuencia de ocho pulsos ultrasónicos de 40 KHz enviados desde el transductor transmisor. - línea 19: define la variable
duration
como la longitud (en µs) de cualquier señal de entrada alta detectada en elechoPin
. La salida del perno del Eco es igual al tiempo que toma el pulso ultrasónico emitido para viajar al objeto y de nuevo al sensor., - línea 20: define la variable
distance
como la duración (tiempo en d = S X t) multiplicado por la velocidad del sonido convertido de metros por segundo a centímetros por µs (0.0344 cm/µs). - líneas 22-24: si la distancia es mayor o igual a 400 cm, o menor o igual a 2 cm, mostrar «distancia = fuera de rango» en el monitor serie.
- líneas 26-30: si la medición de distancia no está fuera de rango, muestre la distancia calculada en la línea 20 en el monitor serie para 500 ms.,
telémetro ultrasónico con salida LCD
Si desea enviar las mediciones de distancia a una pantalla LCD de 16X2, siga este diagrama para conectar el telémetro y la pantalla LCD a su Arduino:
si necesita más ayuda para conectar la pantalla LCD, Pruebe nuestro otro tutorial sobre cómo configurar una pantalla LCD en Arduino., Cuando todo está conectado, cargue este código en Arduino:
un buscador de rango ultrasónico de mayor precisión
ya que la temperatura es una variable en la velocidad de la ecuación del sonido anterior (C = 331.4 + (0.606 x T) + (0.0124 x h)), la temperatura del aire alrededor del sensor afecta nuestras mediciones de distancia. Para compensar esto, todo lo que tenemos que hacer es añadir un termistor a nuestro circuito e introducir sus lecturas en la ecuación. Esto debería dar a nuestras mediciones de distancia una mayor precisión., Un termistor es una resistencia variable que cambia la resistencia con la temperatura. Para obtener más información sobre los termistores, consulte nuestro artículo, Arduino termistor Temperature Sensor Tutorial. Aquí hay un diagrama para ayudarlo a agregar un termistor a su circuito de telémetro:
- R1 = 10k ohm resistor
- Th = 10k termistor ohm
nota: el valor de R1 debe ser igual a la resistencia de su termistor.,
después de que todo esté conectado, cargue este código en Arduino:
explicación del Código
en el programa BASIC range finder al comienzo de este artículo, usamos la fórmula d = S X t para calcular la distancia. En este programa, utilizamos la fórmula que representa la temperatura y la humedad (c = 331.4 + (0.606 X T) + (0.0124 x H)).
en las líneas 5-10, la ecuación de Steinhart-Hart se utiliza para convertir los valores de resistencia del termistor a temperatura, que se almacenan en una variable llamada temp
., En la línea 35, agregamos una nueva variable (spdSnd
) que contiene la velocidad de la ecuación del sonido. La salida de la variable spdSnd
se utiliza como velocidad en la función distance
en la línea 36.
el buscador de rango ultrasónico de precisión muy alta (casi demasiado alta)
El circuito de Buscador de rango ultrasónico compensado por temperatura es bastante preciso para lo que la mayoría de la gente lo usará. Sin embargo, hay otro factor que afecta la velocidad del sonido en el aire (y por lo tanto el cálculo de la distancia), y que es la humedad., Se puede decir por la ecuación de velocidad del sonido que la humedad solo tiene un pequeño efecto en la velocidad del sonido, pero vamos a comprobarlo de todos modos.
Hay varios tipos de sensores de humedad que puede usar en el Arduino, pero usaré el sensor de humedad y temperatura DHT11. Este módulo en realidad tiene un termistor además del sensor de humedad, por lo que la configuración es realmente simple:
después de que todo esté conectado, necesitaremos instalar una biblioteca especial para ejecutar el código., La biblioteca es la Biblioteca DHTLib escrita por Rob Tillaart. La biblioteca es fácil de instalar. Primero, descargue el .archivo zip a continuación. Luego, en el IDE de Arduino, vaya a Sketch> Include Library> Add ZIP Library, luego seleccione el DHTLib.archivo zip.,
DHTLib
después de instalar la biblioteca, cargue este código en su Arduino:
explicación del Código
Las lecturas de temperatura y humedad emitidas por el DHT11 son digitales, por lo que no necesitamos usar la ecuación de Steinhart-Hart para convertir la resistencia del termistor a la temperatura. La biblioteca DHTLib contiene todas las funciones necesarias para obtener la temperatura y humedad en unidades que podemos utilizar directamente en la ecuación de velocidad del sonido. Las variables de temperatura y humedad se denominan DHT.temperature
y DHT.humidity
., Entonces, la velocidad se utiliza como variable en la ecuación de distancia en la línea 28.
para enviar las mediciones de distancia a un LCD, primero conecte su LCD siguiendo nuestro tutorial cómo configurar una pantalla LCD en un Arduino, luego cargue este código:
l video tutorial para ver los circuitos del telémetro ultrasónico en acción:
¡Gracias por leer! Deja un comentario si tienes alguna pregunta sobre cómo configurarlos., Si te gustan nuestros artículos aquí en Circuit Basics, Suscríbete y te avisaremos cuando publiquemos nuevos artículos. Además, si conoce a alguien más que encuentre útil este artículo, ¡compártalo!