🛠 Lire un bouton et afficher dans la console

Raspberry Pi 3 Model B (model-3b) · debutant · Schéma : IMG-model-3b-debutant-2-model3b-bouton-console.svg — bouton-poussoir entre GPIO4 (broche 7) et GND (broche 6), résistance de pull-up interne activée, sortie texte sur la console

Objetivos

Leer el estado de un botón pulsador en el GPIO de la Raspberry Pi 3 Model B y mostrar un mensaje en la consola cada vez que se presiona. Aprender a activar la resistencia de pull-up interna (el botón está cableado a GND, lógica activa en nivel bajo) y a evitar el rebote mecánico mediante una temporización por software.

Material

Código completo

El botón está cableado entre el pin físico 7 (GPIO4) y el pin físico 6 (GND). La pull-up interna mantiene la entrada en 1 en reposo; la pulsación lleva a 0:

#!/usr/bin/env bash
# bouton.sh — surveille GPIO4 (broche physique 7), bouton vers GND
# requis : libgpiod-utils (gpiodetect, gpioget)

echo "Surveillance GPIO4 — Ctrl-C pour quitter"

while true; do
  etat=$(gpioget --numeric gpiochip0 4)
  if [ "$etat" = 0 ]; then
    echo "$(date +%T) : bouton appuyé !"
    sleep 0.3   # anti-rebond logiciel
  fi
  sleep 0.05
done

Guardar en bouton.sh, luego chmod +x bouton.sh y ./bouton.sh. Alternativa en Python: from gpiozero import Button; b = Button(4, pull_up=True) y luego b.wait_for_press — gpiozero viene preinstalado en Raspberry Pi OS.

Verificación esperada

En reposo, gpioget gpiochip0 4 devuelve 1 (pull-up interna). En cada pulsación mantenida del botón, la consola muestra una línea con marca de tiempo « botón pulsado ! ». Al soltar, el estado vuelve a 1. Sin la pull-up activada, la entrada queda flotante y muestra estados aleatorios — es la mejor prueba para entender su utilidad.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales