🛠 Premier script Python : bouton + LED avec python3-libgpiod

Orange Pi 3B (Rockchip RK3566) · debutant · Schéma : IMG-orangepi-3b-debutant-3-opi3b-premier-python.svg — bouton et LED reliés au connecteur 40 broches de l'Orange Pi 3B, pilotés par un script Python

Objectifs

Écrire son premier script Python sur l'Orange Pi 3B : lire un bouton et allumer une LED en miroir avec python3-libgpiod, en utilisant les interruptions (edge events) plutôt qu'un sondage en boucle.

Matériel

Code complet

#!/usr/bin/env python3
"""Bouton sur la broche d'entrée, LED en miroir (Orange Pi 3B / Armbian)."""
import gpiod
from gpiod.line import Direction, Edge, Value

CHIP = "/dev/gpiochip1"
BUTTON = 35   # gpio1_b3 en exemple — choisir une broche libre du plan officiel
LED    = 36   # gpio1_b4 en exemple

with gpiod.Chip(CHIP) as chip:
    request = gpiod.Request(
        consumer="opi3b-demo",
        lines={
            BUTTON: gpiod.RequestLineConfig(direction=Direction.INPUT,
                                            edge=Edge.BOTH),
            LED:    gpiod.RequestLineConfig(direction=Direction.OUTPUT,
                                            output_value=Value.INACTIVE),
        },
    )
    with chip.request_lines(config=request) as req:
        print("Ctrl-C pour sortir")
        while True:
            req.wait_edge_events(timeout=1.0)   # bloque sur l'interruption
            for ev in req.process_edge_events:
                if ev.line_offset == BUTTON:
                    req.set_value(LED, ev.value)  # la LED suit le bouton

Vérification attendue

sudo python3 blink.py démarre sans erreur ; chaque appui allume la LED, le relâchement l'éteint. Ctrl-C termine proprement le script et libère les broches.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels