🛠 Lire un bouton et afficher dans la console

ODROID-M1 (Hardkernel) · debutant · Schéma : IMG-odroid-m1-debutant-2-odroidm1-bouton-console.svg — bouton-poussoir entre une broche GPIO et la masse, résistance de pull-up interne activée, terminal console à l'écran

Objectifs

Configurer une broche du connecteur 40 broches en entrée avec pull-up interne, lire un bouton-poussoir en Python avec libgpiod et afficher chaque appui dans la console. C'est la base de toute interaction physique avec l'ODROID-M1.

Matériel

Code complet

#!/usr/bin/env python3
"""Compteur d'appuis sur bouton, libgpiod (chip/ligne à adapter)."""
import time
from gpiod import chip, line

CHIP, LIGNE = "gpiochip1", 22  # exemple banque gpio1 du RK3568B2
compteur = 0
with chip(CHIP) as g:
    g.request_lines(consumer="bouton", config={
        LIGNE: line.RequestConfig(
            line=LIGNE, consumer="bouton",
            request_type=line.RequestType.INPUT,
            bias=line.Bias.PULL_UP),
    })
    print("En attente d'appuis (Ctrl-C pour quitter)...", flush=True)
    while True:
        if g.get_value(LIGNE) == 0:      # bouton fermé vers la masse
            compteur += 1
            print(f"Appui n°{compteur}", flush=True)
            time.sleep(0.3)              # anti-rebond logiciel
        time.sleep(0.05)

Vérification attendue

Chaque appui affiche « Appui n°X » dans la console ; relâcher le bouton ne génère rien grâce au pull-up interne.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels