🛠 GPIO duos : commander les broches de l'Arduino depuis Linux

Arduino Tian (id : tian) · avance · Schéma : IMG-tian-avance-1-tian-gpio-partages-linux.svg — Arduino Tian en vue éclatée : une même broche physique reliée à la fois au SAMD21 et au contrôleur GPIO de l'AR9342, terminal Linux avec « echo 0 > /sys/class/gpio/export », LED clignotée depuis un script shell.

Objectifs

Exploiter le concept le plus avancé de la Tian : les broches d'E/S sont physiquement reliées aux deux processeurs. Le croquis Arduino les pilote classiquement, mais Linux peut aussi les revendiquer via l'interface sysfs standard du noyau (/sys/class/gpio), documentée dans la fiche officielle de la Tian avec la table de correspondance broche Arduino ↔ numéro GPIO Linux. Vous allez faire clignoter une LED depuis un script shell, sans toucher au croquis.

Matériel

Procédure

# Côté SSH Linux — N = numéro GPIO correspondant à votre broche,
# à lire dans la table officielle broche Arduino -> GPIO de la Tian.
# > 
# celle de la Yun, utiliser la table du document officiel archivé.

N=21   # exemple de valeur, À REMPLACER par la valeur de la table officielle
echo $N > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio$N/direction

while true; do
  echo 1 > /sys/class/gpio/gpio$N/value
  sleep 0.5
  echo 0 > /sys/class/gpio/gpio$N/value
  sleep 0.5
done

Vérification attendue

La LED clignote à 1 Hz pilotée par le seul script shell — le SAMD21 n'y est pour rien. Étape de diagnostic suivante : téléversez un croquis qui met la même broche à l'état fixe, puis relancez le script : l'état final visible est celui du dernier à écrire. Preuve que le matériel est partagé et que c'est à vous d'arbitrer.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels