🛠 Faire clignoter la LED de statut via GPIO

Orange Pi PC (Allwinner H3) · debutant · Schéma : IMG-orangepi-pc-debutant-1-opipc-led-gpio.svg — Orange Pi PC avec la LED rouge de statut (PA15) reliée au contrôleur GPIO du H3, broches 5V et GND du connecteur 40 broches surlignées.

Objetivos

Comprender cómo la Orange Pi PC controla sus pines GPIO y hacer parpadear el LED rojo de estado (PA15, denominado «orangepi:red:status» en el device tree mainline). Aprenderá los dos enfoques posibles: libgpiod (recomendado en Armbian/mainline) y WiringOP (el fork de wiringPi mantenido por Xunlong para Orange Pi).

Material

Código completo

Enfoque libgpiod (sin bibliotecas propietarias):

sudo apt install gpiod
# PA15 = broche 15 de gpiochip0 (banque PA)
gpioset "$(gpiofind PA15)" 1; sleep 0.2; gpioset "$(gpiofind PA15)" 0
# Boucle de clignotement
while true; do gpioset "$(gpiofind PA15)" 1; sleep 0.5; gpioset "$(gpiofind PA15)" 0; sleep 0.5; done

Enfoque WiringOP en C (numeración sunxi: PA15 = 0×32 + 15 = 15):

/* blink.c — LED PA15 via WiringOP */
#include <wiringPi.h>
#define STATUS_LED 15
int main(void) {
    if (wiringPiSetupG == -1) return 1;
    pinMode(STATUS_LED, OUTPUT);
    for (;;) {
        digitalWrite(STATUS_LED, HIGH);
        delay(150);
        digitalWrite(STATUS_LED, LOW);
        delay(150);
    }
}
git clone https://github.com/orangepi-xunlong/wiringOP && cd wiringOP
./build && sudo ./build install
gcc -O2 blink.c -o blink -lwiringPi && sudo ./blink

Verificación esperada

El LED rojo de la placa parpadea aproximadamente 3 veces por segundo. Con gpioinfo, verá gpiochip0 (bancos PA a PH) y gpiochip1 (r_pio). La línea PA15 pasa a modo output.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales