Cómo usar un sensor ultrasónico HC-SRO4 con Raspberry Pi 4

Los sensores electrónicos son esenciales en la robótica y el Internet de las Cosas (IoT) para detectar temperaturas, humedad, sonidos y otros elementos del entorno. Entre estos, destaca el sensor ultrasónico HC-SR04 por su ingenioso diseño que combina un altavoz y un micrófono.

Este sensor es ampliamente utilizado en aplicaciones como la robótica, para evitar colisiones; en automóviles, para sistemas de estacionamiento asistido; en seguridad, para alarmas de intrusión; y en la industria, para medir niveles de líquidos y sólidos. Su precisión y fiabilidad lo convierten en una herramienta indispensable en múltiples campos tecnológicos.

Cómo funciona un sensor ultrasónico

Un sensor ultrasónico funciona mediante la emisión y recepción de ondas sonoras de alta frecuencia. Emite un pulso ultrasónico desde un transductor emisor que viaja a través del aire, se refleja en un objeto y regresa al sensor. El tiempo que tarda este pulso en ir y volver se mide para calcular la distancia al objeto, utilizando la fórmula:

Distancia= (Velocidad del sonido×Tiempo de ida y vuelta)/2.

La velocidad del sonido es aproximadamente 343 metros por segundo en el aire a temperatura ambiente.

El sensor ultrasónico HC-SR04, por ejemplo, tiene cuatro pines: Vcc (alimentación), Gnd (tierra), Trig (activación del pulso) y Echo (recepción del pulso). Al activar el pin Trig, se envía un pulso ultrasónico de 10 microsegundos que, al reflejarse en un objeto, es captado por el pin Echo. El tiempo entre la emisión y recepción del pulso permite calcular la distancia.

A continuación, veremos cómo montar un circuito para medir distancias con un sensor ultrasónico y una Raspberry Pi 4. Además te proporcionaremos el código respectivo.

Material necesario:

1 sensor ultrasónico HC-SR04

1 placa de pruebas

1 resistencia de 1K Ω

1 resistencia de 2k Ω

Conexión de los Pines

El sensor ultrasónico HC-SR04 dispone de 4 pines: Vcc, utilizado para alimentar el dispositivo; Trig, activa el envio de un pulso de sonido; Echo, envía un pulso a la Raspberry cuando captura el rebote de un pulso de sonido; y Gnd.

Conectaremos cada uno de estos pines con los de la Raspberry mediante la protoboard y cables hembra/macho, macho/macho.

Para comenzar, coloca el sensor ultrasónico en la protoboard (ver imagen). Luego, conecta el pin Vcc al pin de 5 voltios de la Raspberry. Enseguida, conecta el pin Trig a alguno de los pines GPIO (por ejemplo, al GPIO 25). Y el pin Gnd al pin GND.

Conexión del Pin Echo con un Divisor de Voltaje

Para conectar el pin Echo del sensor ultrasónico HC-SR04 a uno de los pines GPIO de la Raspberry Pi, es necesario utilizar un divisor de voltaje. Esto se debe a que el sensor funciona a 5V, mientras que los pines GPIO de la Raspberry Pi operan a 3.3V.

Un divisor de voltaje es un circuito eléctrico que reduce el voltaje de entrada a un nivel menor de salida. Su construcción es sencilla y solo requiere el uso de resistencias. El valor de las resistencias se determina aplicando la ley de Ohm, asegurando que la intensidad de corriente sea la misma en todo el circuito.

Fundamentos del Divisor de Voltaje

Para un divisor de voltaje, se cumple que:

Ve = V1 + Vs ===> V1= Ve – Vs

Donde:
Ve​ es el voltaje de entrada (5V del pin Echo)
Vs​ es el voltaje de salida (3.3V para el pin GPIO)

De otro lado: I1= I2 ===> (Ve – Vs)/Vs = R1/R2

En nuestro caso, con un voltaje de entrada de 5V y un voltaje de salida de 3.3V, tenemos:

R1/R2 = 0.51

Por lo tanto, podemos utilizar dos resistencias cualesquiera siempre y cuando guarden dicha proporción. Por ejemplo, una de 1000 Ω y otra de 2000 Ω.

Conexión del Divisor de Voltaje

Conecta un extremo de la resistencia de 1K ohmios al pin Echo, y el otro extremo a una resistencia de 2k. El otro extremo de la resistencia de 2k Ω conéctalo al GND de la Raspberry Pi.

Código en Python para medir distancias con un sensor ultrasónico y Raspberry Pi

from gpiozero import DistanceSensor
from time import sleep
sensor=DistanceSensor(echo=23,trigger=25)
while True:
   print('La distancia al objeto es: ', sensor.distance*100, 'cm')
   sleep(1)

Para ejecutar el código, dirígete al escritorio de Raspberry Pi OS, haz clic en el logo de Raspberry y selecciona Programming > mu. Enseguida, copia y pega el código de arriba. Haz clic en Save y guarda el archivo con extensión .py. Por último, haz un clic en Run.

Deja un comentario

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

Scroll al inicio