Nota
¡Hola, bienvenido a la Comunidad de Entusiastas de Raspberry Pi, Arduino y ESP32 de SunFounder en Facebook! Profundiza en Raspberry Pi, Arduino y ESP32 con otros entusiastas.
¿Por qué unirte?
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.
Preestrenos Exclusivos: Accede anticipadamente a anuncios de nuevos productos y adelantos.
Descuentos Especiales: Disfruta de descuentos exclusivos en nuestros productos más recientes.
Promociones Festivas y Sorteos: Participa en sorteos y promociones de temporada.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [aquí] y únete hoy mismo!
Lección 12: Módulo de Movimiento PIR (HC-SR501)
En esta lección, aprenderás a configurar y usar un sensor de movimiento con el Raspberry Pi. Te guiaremos en la conexión de un sensor digital de movimiento al pin GPIO 17. Escribirás un script en Python para verificar continuamente el estado del sensor, imprimiendo un mensaje cuando se detecte movimiento y otro cuando el área esté libre. Este tutorial práctico se centra en habilidades útiles en circuitos electrónicos y programación en Python, siendo ideal para principiantes que deseen explorar aplicaciones reales del Raspberry Pi en proyectos de monitoreo y automatización.
Componentes Requeridos
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 Universal Maker Sensor |
94 |
También puedes comprarlos por separado desde los enlaces a continuación.
Introducción al Componente |
Enlace de Compra |
|---|---|
Raspberry Pi 5 |
|
- |
|
Cableado
Código
from gpiozero import DigitalInputDevice
from time import sleep
# Inicializar el sensor de movimiento como un dispositivo de entrada digital en el GPIO 17
motion_sensor = DigitalInputDevice(17)
# Monitorear continuamente el estado del sensor de movimiento
while True:
if motion_sensor.is_active:
print("Somebody here!")
else:
print("Monitoring...")
# Esperar 0.5 segundos antes de la siguiente verificación del sensor
sleep(0.5)
Análisis del Código
Importación de Bibliotecas:
El script comienza importando las bibliotecas necesarias. La clase
DigitalInputDevicede gpiozero se usa para interactuar con el sensor de movimiento, y la funciónsleepdel módulo time se usa para introducir retrasos.from gpiozero import DigitalInputDevice from time import sleep
Inicialización del Sensor de Movimiento:
Se crea un objeto
DigitalInputDevicellamadomotion_sensor, conectado al pin GPIO 17. Esto supone que el sensor de movimiento está conectado a este pin GPIO del Raspberry Pi.motion_sensor = DigitalInputDevice(17)
Implementación del Bucle de Monitoreo Continuo:
El script utiliza un bucle
while True:para monitorear continuamente el estado del sensor.Dentro del bucle, una instrucción
ifverifica la propiedadis_activedelmotion_sensor.Si
is_activeesTrue, indica que se ha detectado movimiento, y se imprime «¡Alguien aquí!».Si
is_activeesFalse, significa que no se ha detectado movimiento, y se imprime «Monitoreando…».La función
sleep(0.5)pausa el bucle durante 0.5 segundos entre cada verificación, lo que ayuda a reducir la demanda de procesamiento y controla la frecuencia de las lecturas del sensor.
while True: if motion_sensor.is_active: print("Somebody here!") else: print("Monitoring...") sleep(0.5)