🛠 Bouton poussoir et lecture d'état

Hardkernel ODROID-XU4 (Samsung Exynos5422) · debutant · Schéma : IMG-odroid-xu4-debutant-2-odroidxu4-bouton-console.svg — Bouton poussoir relié à une broche GPIO et à la masse sur l'ODROID-XU4, sortie console série ttySAC2 indiquée

Objectifs

Lire l'état d'un bouton poussoir sous Linux mainline avec libgpiod (Python) et allumer une LED en réaction. Vous découvrirez aussi la console série ttySAC2, précieuse quand la carte ne démarre plus — en 1,8 V uniquement.

Matériel

Code complet

#!/usr/bin/env python3
"""button.py — allume une LED quand le bouton (vers GND) est presse."""
from gpiod import chip, LineFlags
import time

c = chip("gpiochip0")            # gpiodetect liste les puces exynos pinctrl
btn = c.get_line("gpio-XX")      # remplacer XX : une entrée du header
btn.request(consumer="demo", type=LineFlags.REQUEST_FLAGS_INPUT)

led = c.get_line("gpio-YY")      # remplacer YY : une broche sortie
led.request(consumer="demo", type=LineFlags.REQUEST_FLAGS_OUTPUT)

print("appui bouton (vers GND), Ctrl-C pour quitter")
while True:
    led.set_value(1 if btn.get_value else 0)
    time.sleep(0.05)

Vérification attendue

python3 button.py puis appui sur le bouton : la LED s'allume pendant l'appui. gpioinfo gpiochip0 montre les deux lignes demandées par le consumer « demo ». En cas de souci, la console série ttySAC2 (115200 bauds) affiche les messages du noyau.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels