.. note:: 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 [|link_sf_facebook|] y únete hoy mismo! .. _2.2.8_py: 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. .. image:: ../img/list_2.2.5.png Es definitivamente conveniente comprar un kit completo, aquí está el enlace: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - Nombre - ARTÍCULOS EN ESTE KIT - ENLACE * - Raphael Kit - 337 - |link_Raphael_kit| También puedes comprarlos por separado en los enlaces a continuación. .. list-table:: :widths: 30 20 :header-rows: 1 * - INTRODUCCIÓN DEL COMPONENTE - ENLACE DE COMPRA * - :ref:`cpn_gpio_board` - |link_gpio_board_buy| * - :ref:`cpn_breadboard` - |link_breadboard_buy| * - :ref:`cpn_wires` - |link_wires_buy| * - :ref:`cpn_ultrasonic_sensor` - |link_ultrasonic_buy| Diagrama Esquemático ----------------------- .. image:: ../img/image329.png Procedimientos Experimentales -------------------------------- **Paso 1:** Construye el circuito. .. image:: ../img/image220.png **Paso 2:** Ve a la carpeta del código. .. raw:: html .. code-block:: cd ~/raphael-kit/python/ **Paso 3:** Ejecuta el archivo ejecutable. .. raw:: html .. code-block:: 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** .. note:: 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. .. raw:: html .. code-block:: python 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** .. code-block:: python def distance(): Esta función se utiliza para realizar la función del sensor ultrasónico calculando la distancia de detección de retorno. .. code-block:: python GPIO.output(TRIG, 1) time.sleep(0.00001) GPIO.output(TRIG, 0) Esto envía un pulso ultrasónico de 10us. .. code-block:: python 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. .. code-block:: python 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. .. code-block:: python during = time2 - time1 Ejecutar el cálculo del intervalo. .. code-block:: python 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 ----------------------- .. image:: ../img/image221.jpeg