5.3 Detección de Obstáculos¶
Este módulo se instala comúnmente en coches y robots para determinar la existencia de obstáculos adelante. También se utiliza ampliamente en dispositivos portátiles, grifos de agua y otros.
Componentes Necesarios
En este proyecto, necesitamos los siguientes componentes.
Es definitivamente conveniente comprar un kit completo, aquí tienes el enlace:
Nombre |
ELEMENTOS EN ESTE KIT |
ENLACE |
---|---|---|
Kit de Inicio ESP32 |
320+ |
También puedes comprarlos por separado en los enlaces a continuación.
INTRODUCCIÓN DE COMPONENTES |
ENLACE DE COMPRA |
---|---|
- |
|
Pines Disponibles
Pines Disponibles
Aquí tienes una lista de los pines disponibles en la placa ESP32 para este proyecto.
Pines Disponibles
IO13, IO14, IO27, IO26, IO25, IO33, I35, I34, I39, I36, IO4, IO18, IO19, IO21, IO22, IO23
Pines de Arranque (Entrada)
Los pines de arranque son un conjunto especial de pines que se utilizan para determinar modos de arranque específicos durante el inicio del dispositivo (es decir, reseteo por encendido).
Pines de Arranque
IO5, IO0, IO2, IO12, IO15
Generalmente, no se recomienda usarlos como pines de entrada. Si deseas utilizar estos pines, considera el impacto potencial en el proceso de arranque. Para más detalles, por favor refiérete a la sección Pines de Estrapeo.
Esquemático
Cuando el módulo de evitación de obstáculos no detecta ningún obstáculo, IO14 devuelve un nivel alto. Sin embargo, cuando detecta un obstáculo, devuelve un nivel bajo. Puedes ajustar el potenciómetro azul para modificar la distancia de detección de este módulo.
Cableado
Código
Nota
Abre el archivo
5.3_avoid.py
ubicado en la rutaesp32-starter-kit-main\micropython\codes
, o copia y pega el código en Thonny. Luego, haz clic en «Ejecutar Script Actual» o presiona F5 para ejecutarlo.Asegúrate de seleccionar el intérprete «MicroPython (ESP32).COMxx» en la esquina inferior derecha.
import machine
import time
ir_avoid = machine.Pin(14, machine.Pin.IN, machine.Pin.PULL_UP) # pin del módulo de evitación
while True:
# Imprime los valores del módulo de evitación de obstáculos
print(ir_avoid.value())
time.sleep(0.1)
Mientras el programa esté en ejecución, si el módulo IR de evitación de obstáculos detecta un obstáculo frente a él, el valor «0» se mostrará en el Monitor Serial, de lo contrario, se mostrará el valor «1».