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.

../_images/list_2.2.5.png

Es definitivamente conveniente comprar un kit completo, aquí está el enlace:

Nombre

ARTÍCULOS EN ESTE KIT

ENLACE

Raphael Kit

337

Raphael Kit

También puedes comprarlos por separado en los enlaces a continuación.

INTRODUCCIÓN DEL COMPONENTE

ENLACE DE COMPRA

Placa de Extensión GPIO

COMPRAR

Protoboard

COMPRAR

Cables de Puente

COMPRAR

Módulo Ultrasónico

COMPRAR

Diagrama Esquemático

../_images/image329.png

Procedimientos Experimentales

Paso 1: Construye el circuito.

../_images/image220.png

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

../_images/image221.jpeg