Nota
Hola, ¡bienvenido a la comunidad de entusiastas de SunFounder 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 postventa y desafíos técnicos con la ayuda de nuestra comunidad y equipo.
Aprende y comparte: Intercambia consejos y tutoriales para mejorar tus habilidades.
Previsualizaciones exclusivas: Obtén acceso anticipado a nuevos anuncios de productos y adelantos.
Descuentos especiales: Disfruta de descuentos exclusivos en nuestros productos más nuevos.
Promociones festivas y sorteos: Participa en sorteos y promociones navideñas.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [Aquí] y únete hoy mismo!
2.2.8 Módulo 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 |
|---|---|---|
Raphael Kit |
337 |
También puedes comprarlos por separado en los enlaces a continuación.
INTRODUCCIÓN DEL COMPONENTE |
ENLACE DE COMPRA |
|---|---|
Diagrama Esquemático
Procedimientos Experimentales
Paso 1: Construye el circuito.
Paso 2: Ve a la carpeta del código.
cd ~/raphael-kit/python/
Paso 3: Ejecuta el archivo ejecutable.
sudo python3 2.2.8_Ultrasonic.py
Con el código en ejecución, el módulo sensor ultrasónico detecta la distancia entre el obstáculo y el propio módulo, luego el valor de la distancia se imprimirá en la pantalla.
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. Después de modificar el código, puedes ejecutarlo directamente para ver el efecto.
import RPi.GPIO as GPIO
import time
TRIG = 16
ECHO = 18
def setup():
GPIO.setmode(GPIO.BOARD)
GPIO.setup(TRIG, GPIO.OUT)
GPIO.setup(ECHO, GPIO.IN)
def distance():
GPIO.output(TRIG, 0)
time.sleep(0.000002)
GPIO.output(TRIG, 1)
time.sleep(0.00001)
GPIO.output(TRIG, 0)
while GPIO.input(ECHO) == 0:
a = 0
time1 = time.time()
while GPIO.input(ECHO) == 1:
a = 1
time2 = time.time()
during = time2 - time1
return during * 340 / 2 * 100
def loop():
while True:
dis = distance()
print ('Distance: %.2f' % dis )
time.sleep(0.3)
def destroy():
GPIO.cleanup()
if __name__ == "__main__":
setup()
try:
loop()
except KeyboardInterrupt:
destroy()
Explicación del Código
def distance():
Esta función se utiliza para realizar la función del sensor ultrasónico calculando la distancia de detección de retorno.
GPIO.output(TRIG, 1)
time.sleep(0.00001)
GPIO.output(TRIG, 0)
Esto envía un pulso ultrasónico de 10us.
while GPIO.input(ECHO) == 0:
a = 0
time1 = time.time()
Este bucle vacío se utiliza para asegurar que cuando se envía la señal de disparo, no haya señales de eco interferentes y luego obtener la hora actual.
while GPIO.input(ECHO) == 1:
a = 1
time2 = time.time()
Este bucle vacío se utiliza para asegurar que el siguiente paso no se realice hasta que se reciba la señal de eco y luego obtener la hora actual.
during = time2 - time1
Ejecutar el cálculo del intervalo.
return during * 340 / 2 * 100
La distancia se calcula en función del intervalo de tiempo y la velocidad de propagación del sonido. La velocidad del sonido en el aire: 340m/s.
Imagen del Fenómeno