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

Objetivos

Aprovechar el concepto más avanzado de la Tian: los pines de E/S están físicamente conectados a ambos procesadores. El sketch de Arduino los controla de forma clásica, pero Linux también puede reclamarlos a través de la interfaz sysfs estándar del kernel (/sys/class/gpio), documentada en la ficha oficial de la Tian con la tabla de correspondencia pin Arduino ↔ número GPIO Linux. Harás parpadear un LED desde un script shell, sin tocar el sketch.

Material

Procedimiento

# 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

Verificación esperada

El LED parpadea a 1 Hz controlado únicamente por el script shell — el SAMD21 no tiene nada que ver. Siguiente paso de diagnóstico: carga un sketch que ponga el mismo pin en un estado fijo, luego vuelve a ejecutar el script: el estado final visible es el del último en escribir. Prueba de que el hardware es compartido y que te toca a ti arbitrar.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales