Nota
¡Hola! Bienvenido a la Comunidad de Entusiastas de SunFounder para Raspberry Pi, Arduino y ESP32 en Facebook. Sumérgete en el mundo de Raspberry Pi, Arduino y ESP32 con otros entusiastas.
¿Por Qué Unirse?
Soporte Experto: Resuelve problemas post-venta y desafíos técnicos con la ayuda de nuestra comunidad y equipo.
Aprende y Comparte: Intercambia consejos y tutoriales para mejorar tus habilidades.
Preestrenos Exclusivos: Obtén acceso anticipado a nuevos anuncios de productos y avances.
Descuentos Especiales: Disfruta de descuentos exclusivos en nuestros productos más nuevos.
Promociones Festivas y Sorteos: Participa en sorteos y promociones festivas.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [Aquí] y únete hoy mismo!
2.2.8 Módulo de Sensor Ultrasónico
Introducción
El sensor ultrasónico utiliza ultrasonidos para detectar objetos con precisión y medir distancias. Envía ondas ultrasónicas y las convierte en señales electrónicas.
Componentes Necesarios
En este proyecto, necesitamos los siguientes componentes.
Es definitivamente conveniente comprar un kit completo, aquí está el enlace:
Nombre |
ARTÍCULOS EN ESTE KIT |
ENLACE |
|---|---|---|
Kit Raphael |
337 |
También puedes comprarlos por separado en los enlaces a continuación.
INTRODUCCIÓN DE COMPONENTES |
ENLACE DE COMPRA |
|---|---|
Diagrama Esquemático
Procedimientos Experimentales
Paso 1: Construir el circuito.
Paso 2: Ir a la carpeta del código.
cd ~/raphael-kit/python-pi5
Paso 3: Ejecutar el archivo ejecutable.
sudo python3 2.2.8_Ultrasonic_zero.py
Cuando el código se ejecute, el módulo del sensor ultrasónico detectará la distancia entre el obstáculo delante y el propio módulo, luego el valor de la distancia se imprimirá en la pantalla.
Advertencia
Si recibe el mensaje de error RuntimeError: Cannot determine SOC peripheral base address, consulte Si «gpiozero» no funciona.
Código
Nota
Puedes Modificar/Restablecer/Copiar/Ejecutar/Detener el código a continuación. Pero antes de eso, necesitas ir a la ruta del código fuente como raphael-kit/python-pi5. Después de modificar el código, puedes ejecutarlo directamente para ver el efecto.
#!/usr/bin/env python3
from gpiozero import DistanceSensor
from time import sleep
# Inicializar el DistanceSensor usando la biblioteca GPIO Zero
# El pin de disparo está conectado a GPIO 23, el pin de eco a GPIO 24
sensor = DistanceSensor(echo=24, trigger=23)
try:
# Bucle principal para medir y reportar continuamente la distancia
while True:
dis = sensor.distance * 100 # Measure distance and convert from meters to centimeters
print('Distance: {:.2f} cm'.format(dis)) # Print the distance with two decimal precision
sleep(0.3) # Wait for 0.3 seconds before the next measurement
except KeyboardInterrupt:
# Manejar KeyboardInterrupt (Ctrl+C) para salir del bucle de manera ordenada
pass
Explicación del Código
Importa la clase
DistanceSensorde la bibliotecagpiozeropara la medición de distancias, y la funciónsleepdel módulotimepara los retrasos.#!/usr/bin/env python3 from gpiozero import DistanceSensor from time import sleep
Inicializa el sensor de distancia ultrasónico con el pin Echo conectado a GPIO 24 y el pin Trigger a GPIO 23.
# Inicializar el DistanceSensor usando la biblioteca GPIO Zero # El pin de disparo está conectado a GPIO 23, el pin de eco a GPIO 24 sensor = DistanceSensor(echo=24, trigger=23)
El bucle principal mide continuamente la distancia, la convierte de metros a centímetros y la imprime con precisión de dos decimales. Luego espera 0.3 segundos y vuelve a medir la distancia. Captura una KeyboardInterrupt (como Ctrl+C) para permitir una salida ordenada del script.
try: # Bucle principal para medir y reportar continuamente la distancia while True: dis = sensor.distance * 100 # Measure distance and convert from meters to centimeters print('Distance: {:.2f} cm'.format(dis)) # Print the distance with two decimal precision sleep(0.3) # Wait for 0.3 seconds before the next measurement except KeyboardInterrupt: # Manejar KeyboardInterrupt (Ctrl+C) para salir del bucle de manera ordenada pass