Domina GPIO de Raspberry Pi: interfaz sensor PIR movimiento en B+/Model 2
En esta guía paso a paso, aprenderás a conectar un sensor de movimiento infrarrojo pasivo (PIR) a una Raspberry Pi B+/Model 2 y programar los pines GPIO para detectar movimiento y disparar acciones. Ya sea que construyas un sistema de domótica, una alerta de seguridad o un robot simple, dominar GPIO es esencial.
Qué necesitarás
- Raspberry Pi B+, B o Model 2 con tarjeta microSD, fuente de alimentación, teclado, ratón y pantalla.
- LED (cualquier color) y resistencia de 220 Ω.
- Sensor de movimiento PIR (salida 5 V).
- Protoboard y cables jumper (macho-macho y hembra-macho).
Cómo funciona GPIO en la Pi
Los pines GPIO de la Pi son accesibles vía librerías Python como RPi.GPIO. Cada pin se numera por número de pin físico (BOARD) o por número de pin del chip Broadcom (BCM). En este tutorial usaremos numeración BOARD para claridad.
Sobre el sensor PIR
Un sensor PIR detecta radiación infrarroja emitida por cuerpos calientes. Consta de lente Fresnel, detector IR y circuitería de control. Al detectar cambio en niveles infrarrojos, emite HIGH lógico de 5 V hasta un minuto. Rango típico de detección: 6–7 m.
Paso 1: Parpadear LED con salida GPIO
Primero, practica controlando un pin de salida parpadeando un LED. Conecta el ánodo del LED al pin 3 mediante resistencia de 220 Ω, y el cátodo a pin de tierra.
import RPi.GPIO as GPIO
import time
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(3, GPIO.OUT) # Pin 3 como salida
while True:
GPIO.output(3, GPIO.HIGH)
time.sleep(1)
GPIO.output(3, GPIO.LOW)
time.sleep(1)
Guárdalo como ledblink.py y ejecuta con sudo python3 ledblink.py.
Paso 2: Leer sensor PIR y responder
Cablea el sensor PIR: VCC a 5 V, GND a tierra, OUT a pin 7 (GPIO 4). Ahora crea script que imprima mensaje al detectar movimiento.
import RPi.GPIO as GPIO
import time
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.IN) # Salida PIR como entrada
print('Listo – esperando movimiento…')
try:
while True:
if GPIO.input(7):
print('¡Intruso detectado!')
# Añade tu acción personalizada aquí (ej. encender LED, enviar alerta)
time.sleep(0.5)
except KeyboardInterrupt:
print('Saliendo…')
finally:
GPIO.cleanup()
Ejecuta con sudo python3 pir_detect.py y observa la consola mientras el sensor reporta movimiento.
Próximos pasos
Desde aquí puedes expandir el proyecto: parpadear LED al detectar movimiento, registrar timestamps en archivo, o enviar notificación vía MQTT. Para principiantes, recomendamos descargar nuestro eBook gratuito sobre Raspberry Pi y Arduino para profundizar en habilidades de hardware.
Referencias
- Documentación oficial Raspberry Pi – Resumen GPIO: raspberrypi.org
- Hoja de datos sensor PIR – Especificaciones típicas: Adafruit
Proceso de manufactura
- Cómo conectar un sensor de temperatura DS1820 One‑Wire a Raspberry Pi usando GPIO
- Integración de datos de sensores en Raspberry Pi: Guía práctica
- Conexión del sensor ultrasónico HC‑SR04 a Raspberry Pi 3 – Guía completa
- Sensor de seguimiento de línea con Raspberry Pi – Detector simple KY‑033 para puerta/línea
- Monitorización segura del hogar con Home Assistant en Raspberry Pi: Movimiento, alarma y captura de vídeo
- Construya un Sensor de Movimiento Infrarrojo DIY para Raspberry Pi – Guía Paso a Paso
- Controle un LED con Sensor PIR de Movimiento en Raspberry Pi
- Sensor de Proximidad Infrarrojo de Bajo Coste para Raspberry Pi Usando Solo Pines Digitales
- Construya un Contador Geiger con Raspberry Pi – Tutorial de Sensor de Radiación Open‑Hardware
- Construye un sistema aeropónico automatizado con Raspberry Pi y sensor de humedad
- Tutorial sensor de luz Raspberry Pi: cablear LDR y leer niveles de luz con Python