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

ODROID-N2 / ODROID-N2+ (Hardkernel) · debutant · Schéma : IMG-odroid-n2-debutant-2-odroidn2-bouton-console.svg — Bouton poussoir entre la broche PIN_11 (GPIOX_3) et une broche GND de l'ODROID-N2, résistance de pull-up interne activée par le logiciel.

Objetivos

Leer el estado de un botón pulsador en el GPIO del ODROID-N2 y mostrarlo en la consola. Se utiliza la resistencia de pull-up interna (bias pull-up de libgpiod), por lo que no se necesita resistencia externa: el botón conecta el pin a tierra cuando se pulsa.

Material

Código completo

#!/usr/bin/env bash
# bouton.sh — état du bouton sur PIN_11 en temps réel (libgpiod v2)
set -e
gpiomon --num-events=0 --falling-edge --rising-edge gpiochip0 PIN_11 &
MON=$!
trap "kill $MON" EXIT
while true; do
    etat=$(gpioset --quiet --state gpiochip0 PIN_11 2>/dev/null || true)
    lu=$(gpioget gpiochip0 PIN_11)
    [ "$lu" = 0 ] && echo "BOUTON APPUYÉ" || echo "relâché"
    sleep 0.1
done

Versión en C (libgpiod) con gestión de eventos: gcc bouton.c -o bouton -lgpiod, solicitando PIN_11 como entrada con GPIOD_LINE_REQUEST_FLAG_BIAS_PULL_UP, y luego lectura a 10 Hz.

Verificación esperada

Al iniciar, la consola muestra «relajado» en bucle (el pull-up interno mantiene la línea en 1). Al mantener el botón pulsado, las líneas pasan a ser «BOTÓN PULSADO». Con gpiomon gpiochip0 PIN_11, cada pulsación/soltación produce un evento con marca de tiempo.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales