clignotante.py

BeagleBone Black (TI Sitara AM3358) · Archivo : clignotante.py · Lenguaje : Python · Uso : Faire clignoter une LED depuis un script Python

El script de arranque en un SBC: un LED en el conector GPIO parpadea a 1 Hz. python3-gpiod controla el chip GPIO directamente por el kernel, sin librerías propietarias.

Hardware necesario

Una BeagleBone Black (TI AM3358) con la imagen Debian oficial, alimentada a 5 V por mini-USB, con sus conectores P8/P9 a 3,3 V (¡nunca 5 V en los pines!). 1 LED + resistencia de 330 Ω (los pines son de 3,3 V en todas estas placas).

Cableado

Ánodo del LED en el pin GPIO elegido (mira el esquema de la placa y gpioinfo) mediante 330 Ω, cátodo a GND.

Funcionamiento

El script configura el pin como salida, alterna nivel alto/bajo con sleep(1) y libera la broche limpiamente (finally) incluso con Ctrl-C. En Debian: sudo apt install gpiod python3-gpiod; los pines P8/P9 tienen nombres del árbol de dispositivos (gpioinfo). Las entradas analógicas AIN0-6 están en P9 (1,8 V máx, vía IIO).

Para ir más lejos

Sustituye sleep por un patrón (rampa PWM con gpiozero PWM / gpiod + hilos), o conecta varios LED en anillo.

clignotante.py

#!/usr/bin/env python3
# Clignotement LED avec python3-gpiod (API 1.x, Debian/Armbian).
# Installation : sudo apt install python3-gpiod gpiod
# Puce disponible : gpiodetect ; broches : gpioinfo <puce>
import gpiod
from time import sleep

PUCE = "gpiochip1"   # a verifier avec gpiodetect (varie selon la carte)
LIGNE = 17           # numero GPIO du schema de la carte

chip = gpiod.Chip(PUCE)
line = chip.get_line(LIGNE)
line.request(consumer="clignotante", type=gpiod.LINE_REQ_DIR_OUT,
             default_val=0)

print("Clignotement (Ctrl-C pour arreter)")
try:
    while True:
        line.set_value(1)
        print("LED ON")
        sleep(1)
        line.set_value(0)
        print("LED OFF")
        sleep(1)
finally:
    line.release()

← Volver a la ficha