🛠 Lire un bouton poussoir et afficher l'état dans la console

Raspberry Pi Model B (Rev 1, 2012) — Fiche carte · debutant · Schéma : IMG-model-b-rev1-debutant-2-modelb1-bouton-console.svg — Bouton poussoir entre GPIO4 (broche 7) et GND (broche 9), résistance de pull interne activée, terminal affichant l'état lu

Objectifs

Apprendre à lire une entrée numérique sur le connecteur P1 26 broches du Model B Rev 1 : un bouton poussoir relié à la masse, avec la résistance de rappel (pull-up) interne du BCM2835 activée par libgpiod. Vous allez scruter l'état du bouton en boucle dans la console.

Matériel

Code complet

#!/bin/sh
# bouton.sh - surveille un bouton sur GPIO4 (broche physique 7)
# c'est la broche 7, GND est la broche 9.
# Rappel interne : GPIO4 possède un pull-up interne activable.

# Lecture en boucle : gpiomon attend les changements d'état
gpiomon --num-events=0 --rising-edge gpiochip0 4 &
while true; do
  ETAT=$(gpioget --bypass-direction-check gpiochip0 4 2>/dev/null || gpioget gpiochip0 4)
  if [ "$ETAT" = "0" ]; then
    echo "BOUTON APPUYE (état bas = 0, pull-up interne)"
  else
    echo "au repos (1)"
  fi
  sleep 0.1
done

Vérification attendue

Au repos, la console affiche au repos (1) grâce au pull-up interne. À chaque appui, le GPIO est relié à la masse et l'état passe à 0 : la console affiche BOUTON APPUYE. Le bouton est câblé entre la broche 7 (GPIO4) et la broche 9 (GND).

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels