🛠 Bouton poussoir et lecture d'état

Hardkernel ODROID-XU4 (Samsung Exynos5422) · debutant · Schéma : IMG-odroid-xu4-debutant-2-odroidxu4-bouton-console.svg — Bouton poussoir relié à une broche GPIO et à la masse sur l'ODROID-XU4, sortie console série ttySAC2 indiquée

Objetivos

Leer el estado de un botón pulsador en Linux mainline con libgpiod (Python) y encender un LED en respuesta. También descubrirás la consola serie ttySAC2, preciosa cuando la tarjeta no arranca — solo a 1,8 V.

Material

Código completo

#!/usr/bin/env python3
"""button.py — allume une LED quand le bouton (vers GND) est presse."""
from gpiod import chip, LineFlags
import time

c = chip("gpiochip0")            # gpiodetect liste les puces exynos pinctrl
btn = c.get_line("gpio-XX")      # remplacer XX : une entree du header
btn.request(consumer="demo", type=LineFlags.REQUEST_FLAGS_INPUT)

led = c.get_line("gpio-YY")      # remplacer YY : une broche sortie
led.request(consumer="demo", type=LineFlags.REQUEST_FLAGS_OUTPUT)

print("appui bouton (vers GND), Ctrl-C pour quitter")
while True:
    led.set_value(1 if btn.get_value else 0)
    time.sleep(0.05)

Verificación esperada

python3 button.py y luego pulsa el botón: el LED se enciende mientras se mantiene pulsado. gpioinfo gpiochip0 muestra las dos líneas solicitadas por el consumidor «demo». En caso de problema, la consola serie ttySAC2 (115200 baudios) muestra los mensajes del kernel.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales