🛠 Lire un bouton poussoir dans la console

ODROID-C4 (Hardkernel) · debutant · Schéma : IMG-odroid-c4-debutant-2-odroidc4-bouton-console.svg — Broches 13 (GPIOX_4) et 14 (GND) du connecteur 40 broches reliées par un bouton poussoir, résistance de pull-up interne indiquée.

Objectifs

Câbler un bouton poussoir sur le connecteur 40 broches de l'ODROID-C4 et afficher chaque appui dans la console grâce à gpiomon (libgpiod). Vous comprendrez la correspondance broche physique vers ligne GPIO (PIN_13 = GPIOX_4, ligne 4 du chip gpio), l'intérêt de la résistance de pull-up interne, et la règle d'or : toute la logique du connecteur est en 3,3 V.

Matériel

Code complet

#!/usr/bin/env bash
# Câblage : bouton entre PIN_13 (GPIOX_4, chip "gpio", ligne 4)
#           et PIN_14 (GND). Jamais de signal 5 V : logique 3,3 V max.
# pull-up interne activée -> état au repos = 1, appui = 0.

# Événements montants (relâchement) et descendants (appui) :
sudo gpiomon --num-events=20 --rising-edge --falling-edge --bias=pull-up gpio 4

# Variante script : réagir à un seul appui puis afficher un message
while sudo gpiomon --num-events=1 --falling-edge --bias=pull-up gpio 4 ; do
  echo "Appui détecté à $(date +%T)"
done

Vérification attendue

Chaque appui imprime une ligne d'événement avec horodatage (event: event=falling edge), chaque relâchement une ligne rising edge. Tant que vous n'appuyez pas, la commande reste bloquée silencieusement : c'est normal, gpiomon attend sur un poll. Avec gpioget gpio 4 sans appuyer, vous devez lire 1 (pull-up interne).

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels