Python + GPIO: parpadea un LED y lee un botón
Escribe tu primer programa de hardware con la librería gpiozero: salidas, entradas y eventos.
gpiozero viene instalado en Raspberry Pi OS y es la forma más amigable de controlar hardware. Los pines se numeran por su número GPIO (BCM), no por su posición física.
Video tutorial

Video de Aprendamos con Scorpion Security, insertado desde YouTube. Los pasos escritos abajo son nuestros y coinciden con la lista de piezas.
Pasos de la misión
Crea el script
Entra por SSH al Pi, corre nano blink.py y pega el primer ejemplo.
Ejecútalo
python3 blink.py — tu LED parpadea. Presiona Ctrl+C para detenerlo.
Agrega un botón
Conecta un botón entre GPIO27 (pin 13) y GND (pin 14). gpiozero activa la resistencia pull-up interna por ti.
Usa eventos
El segundo ejemplo enciende el LED solo mientras sostienes el botón, sin necesidad de ciclos.
Experimenta
Prueba led.blink(on_time=0.1, off_time=0.9) o usa PWMLED para variar el brillo.
Código
# blink.py
from gpiozero import LED
from time import sleep
led = LED(17)
while True:
led.on()
sleep(0.5)
led.off()
sleep(0.5)# button.py
from gpiozero import LED, Button
from signal import pause
led = LED(17)
button = Button(27)
button.when_pressed = led.on
button.when_released = led.off
pause()Code comments are in English, like most libraries and docs — a good habit for makers.
Preguntas
¿Numeración BCM o BOARD?
gpiozero usa BCM (números GPIO) por defecto. El pin físico 11 es GPIO17. Nuestro Mapa GPIO muestra ambos.