🛠 Premier script Python : faire clignoter la LED
Objetivos
Enviar órdenes a los programas: escribir, ejecutar y detener correctamente un primer script de Python 3 que hace parpadear el LED del tutorial 1, utilizando la biblioteca RPi.GPIO aún incluida en las imágenes legacy (ARMv6).
Material
- Raspberry Pi Model B+ con Raspberry Pi OS legacy de 32 bits
- LED + resistencia de 330 Ω conectados a GPIO17 (pin 11) y GND (pin 14), como en el tutorial 1
- Teclado/pantalla HDMI o sesión SSH por Ethernet en el B+
Código completo
# Installation de la bibliothèque GPIO pour Python 3
sudo apt update && sudo apt install -y python3-rpi.gpio
nano blink.py # coller le script ci-dessous, puis Ctrl+O, Ctrl+X
sudo python3 blink.py
#!/usr/bin/env python3
"""Clignotant LED sur GPIO17 (broche 11) — Raspberry Pi Model B+."""
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM) # on raisonne en numérotation BCM
GPIO.setup(17, GPIO.OUT)
try:
for _ in range(10): # 10 clignotements
GPIO.output(17, GPIO.HIGH)
time.sleep(0.3)
GPIO.output(17, GPIO.LOW)
time.sleep(0.3)
finally:
GPIO.cleanup # rend la broche propre à la sortie
Verificación esperada
El LED parpadea 10 veces (0,3 s encendido / 0,3 s apagado) y luego el script termina sin mensajes. Ctrl+C interrumpe el programa y, aun así, ejecuta GPIO.cleanup gracias al bloque finally.
Errores frecuentes
- Olvidar sudo: RPi.GPIO lanza una excepción «No access to /dev/gpiomem».
- Olvidar setmode o confundir BCM/BOARD: «Please set pin numbering mode» o LED sin actividad.
- Usar python (Python 2) en lugar de python3 en una imagen reciente: módulo no encontrado.
- Ejecutar el script dos veces: el pin ya está ocupado, cierra la otra terminal.
Otros tutoriales para esta placa
- Allumer une LED depuis la GPIO 17 avec libgpiod
- Lire un bouton et afficher les appuis dans la console
- Variation d'intensité d'une LED avec le PWM matériel (GPIO18)
- Interroger un capteur I2C (BME280) sur le bus du 40 broches
- Mettre le B+ en réseau par Ethernet et piloter en SSH
- Amorçage microSD, pannes de boot et procédure de recouvrement
Ejemplos de código para esta placa
led_blink.pyPythonbutton_led.pyPythonservo_sweep.pyPythondht_temp.pyPythonoled_i2c.pyPythonmcp3008_read.pyPython