Nota
Hola, bienvenido a la comunidad de entusiastas de SunFounder Raspberry Pi & Arduino & ESP32 en Facebook! Sumérgete más en Raspberry Pi, Arduino y ESP32 con otros entusiastas.
¿Por qué unirse?
Soporte de expertos: 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.
Previsualizaciones exclusivas: Obtén acceso temprano a anuncios de nuevos productos y avances.
Descuentos especiales: Disfruta de descuentos exclusivos en nuestros productos más nuevos.
Promociones y sorteos festivos: Participa en sorteos y promociones de temporada.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [Aquí] y únete hoy mismo!
2.2.5 Sensor de evitación de obstáculos por infrarrojos
Introducción
En este proyecto, aprenderemos sobre el módulo de evitación de obstáculos por infrarrojos, que es un módulo sensor que puede usarse para detectar obstáculos a cortas distancias, con poca interferencia, fácil de montar y usar, etc. Puede utilizarse ampliamente en robots de evitación de obstáculos, carritos de evitación de obstáculos, conteo en líneas de montaje, etc.
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: Monta el circuito.
Paso 2: Cambia el directorio.
cd ~/raphael-kit/python
Paso 3: Ejecuta.
sudo python3 2.2.5_IrObstacle.py
Después de ejecutar el código, cuando pongas tu mano frente a la sonda del módulo, el indicador de salida en el módulo se iluminará y «¡Barrera detectada!» se imprimirá repetidamente en la pantalla hasta que retires la mano.
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.
#!/usr/bin/env python3
import RPi.GPIO as GPIO
import time
ObstaclePin = 17
def setup():
GPIO.setmode(GPIO.BCM) # Numeración de GPIOs por ubicación física
GPIO.setup(ObstaclePin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
def loop():
while True:
if (0 == GPIO.input(ObstaclePin)):
print ("Detected Barrier!")
time.sleep(1)
def destroy():
GPIO.cleanup() # Liberar recursos
if __name__ == '__main__': # El programa comienza aquí
setup()
try:
loop()
except KeyboardInterrupt: # Cuando se presiona 'Ctrl+C', se ejecuta el programa destroy().
destroy()
Explicación del Código
def setup():
GPIO.setmode(GPIO.BCM) # Numeración de GPIOs por ubicación física
GPIO.setup(ObstaclePin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
Configura el modo GPIO en Numeración BCM. Configura ObstaclePin en modo de entrada e inicialízalo a nivel alto (3.3v).
def loop():
while True:
if (0 == GPIO.input(ObstaclePin)):
print ("Detected Barrier!")
Cuando ObstaclePin está en nivel bajo, imprime «¡Obstáculo Detectado!». Esto significa que se ha detectado un obstáculo.