🛠 Premier script Python : faire clignoter la LED
Objectifs
Écrire et exécuter votre premier script Python sur le Raspberry Pi Model B Rev 1 (Python 2 ou 3 selon l'image legacy). Le script fait clignoter une LED sur GPIO17 avec la bibliothèque RPi.GPIO, la référence historique sur BCM2835. Compétences visées : créer un fichier, l'éditer avec nano, le lancer, l'interrompre avec Ctrl-C.
Matériel
- Raspberry Pi Model B Rev 1, Raspberry Pi OS legacy 32 bits (Buster)
- LED + résistance 330 Ω sur GPIO17 (broche 11) et GND (broche 6), comme au tutoriel LED
- Bibliothèque :
sudo apt install -y python-rpi.gpio python3-rpi.gpio - Éditeur
nanofourni avec l'image ; Python est préinstallé.
Code complet
#!/usr/bin/env python3
"""Clignotement LED sur GPIO17 - Raspberry Pi Model B Rev 1 (BCM2835)."""
import RPi.GPIO as GPIO # sudo apt install python3-rpi.gpio
import time
LED = 17 # numerotation BCM : GPIO17 = broche physique 11
GPIO.setmode(GPIO.BCM) # numeros Broadcom, pas positions physiques
GPIO.setup(LED, GPIO.OUT)
try:
while True:
GPIO.output(LED, GPIO.HIGH) # LED allumee
time.sleep(0.5)
GPIO.output(LED, GPIO.LOW) # LED eteinte
time.sleep(0.5)
except KeyboardInterrupt:
pass # Ctrl-C arrete proprement
finally:
GPIO.cleanup # toujours liberer la broche
Vérification attendue
nano clignote.py # coller le code, Ctrl-O puis Ctrl-X
python3 clignote.py # la LED clignote 2 fois par seconde
# Ctrl-C : le script s'arrete, GPIO.cleanup libere la broche
La LED clignote à 1 Hz. Sur les images Buster où python3 n'est pas le défaut, essayez python clignote.py (Python 2, adapter l'import).
Erreurs fréquentes
RuntimeError: No access to /dev/mem: lancer avecsudosur les anciennes images, ou ajouter l'utilisateur au groupegpio.- Oublier
GPIO.setmode(GPIO.BCM): RPi.GPIO refuse alorsGPIO.setup. - Le script plante sans
finally: la broche reste revendiquée et le relancement échoue. ImportError: No module named RPi: mauvais paquet (python vs python3) ou bibliothèque absente.- Sur l'ARM11 à 700 MHz, un
sleeptrès court sature le CPU : rester à 0,1 s minimum.
Autres tutoriels pour cette carte
- Allumer une LED via le GPIO avec libgpiod
- Lire un bouton poussoir et afficher l'état dans la console
- Variation d'intensité LED avec le PWM matériel (et son piège)
- Lire un capteur I2C (température/humidité) sur le bus 1
- Configurer l'Ethernet 10/100 et piloter le Pi en SSH
- Boot sur SD, partitions et procédure de recouvrement
Exemples de code pour cette carte
led_blink.pyPythonbutton_led.pyPythonservo_sweep.pyPythondht_temp.pyPythonoled_i2c.pyPythonmcp3008_read.pyPython