Hola:
Acá les voy a compartir la receta de cocina para poder controlar un led desde uno de los pines de la GPIO. Tengo una Cubieboard A10 con Armbian 23.11.1 bookworm. Vamos a necesitar:
- Una resistencia de 220 (rojo, rojo, café) o 330 (naranja, naranja, café) ohms.
- Un diodo led de preferencia de bajo consumo (no ultrabrillante).
- Una protoboard
- Algunos cables dupont para conectar de header macho a protoboard (Dupont macho-hembra).
Para empezar, seleccionamos un pin de la GPIO. Para eso buscamos el diagrama pinout de la placa.

En nuestro caso vamos a seleccionar el pin 11 del puerto del lado derecho del diagrama. Es el pin margado como CSI1-D0. Y para aterrizar el circuito usaremos el pin 19 o 20 marcados como GND o Ground del mismo puerto. El circuito nos quedaría de la siguiente forma:

Actualizar sistema
sudo apt update sudo apt upgrade
Instalar dependencias de python
sudo apt install python3-libgpiod
Revisar pines disponibles
dtc -I dtb -O dts -o sun4i-a10-cubieboard.dts /boot/dtb/sun4i-a10-cubieboard.dtb
Script python
Acá estaría el script que debes de copiar y pegar en un archivo. Yo le puse de nombre sos.py.
#!/usr/bin/python
import gpiod
import time
def morse_code_signal(line, symbol):
if symbol == ".":
line.set_value(1)
time.sleep(0.2) # Duración del punto
line.set_value(0)
time.sleep(0.2) # Espacio entre partes de la misma letra
elif symbol == "-":
line.set_value(1)
time.sleep(0.6) # Duración de la raya
line.set_value(0)
time.sleep(0.2) # Espacio entre partes de la misma letra
def morse_code_sos(line):
# Representación de SOS en Morse: ... --- ...
for symbol in "... --- ...":
morse_code_signal(line, symbol)
if symbol == " ":
time.sleep(0.6) # Espacio entre letras
chip = gpiod.Chip('gpiochip0')
line_number = 196
led = chip.get_line(line_number)
led.request(consumer='gpio_led_morse', type=gpiod.LINE_REQ_DIR_OUT)
try:
while True:
morse_code_sos(led)
time.sleep(5) # Espera 5 segundos antes de repetir
finally:
led.release()
Ahora podemos darle permisos de escritura
chmod 755 sos.py
Ejecutamos como superusuario
sudo ./sos.py
¡Y listo! ¡Ya podemos controlar un LED con un script python en linux!
Happy coding!