🛠 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.

Objectifs

Comprendre comment l'Orange Pi PC pilote ses broches GPIO et faire clignoter la LED rouge de statut (PA15, nommée « orangepi:red:status » dans le device tree mainline). Vous apprendrez les deux approches possibles : libgpiod (recommandé sous Armbian/mainline) et WiringOP (le fork de wiringPi maintenu par Xunlong pour Orange Pi).

Matériel

Code complet

Approche libgpiod (aucune bibliothèque propriétaire) :

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

Approche WiringOP en C (numérotation 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

Vérification attendue

La LED rouge de la carte clignote environ 3 fois par seconde. Avec gpioinfo, vous voyez gpiochip0 (banques PA à PH) et gpiochip1 (r_pio). La ligne PA15 passe en mode output.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels