🛠 Envoyer un capteur analogique sur le réseau : potentiomètre et Bridge REST
Objetivos
Dar el primer paso del sensor a la red: leer un potenciómetro en la entrada analógica del ATmega32U4 (ADC de 10 bits, 12 entradas analógicas en la Yún) y exponer el valor a la red a través de la API REST del Bridge. Comprenderás el camino completo: pin → 32U4 → puerto serie interno (pines 0/1) → AR9331 → HTTP → navegador.
Material
- 1 Arduino Yún + fuente de alimentación (el WiFi consume más que un Blink: prioriza una alimentación estable, el micro-USB de un PC es suficiente)
- 1 potenciómetro de 10 kΩ (pata 1 a 5 V, pata 3 a GND, cursor hacia A0)
- 1 protoboard + cables
- PC en la misma red
Código completo
// Le Bridge expose les lectures analogiques via /arduino/analog/<pin>.
// Il suffit de faire vivre le pont : le service REST lit les broches en direct.
#include <Bridge.h>
void setup {
Bridge.begin; // attend que Linino OS soit prêt
Console.begin;
Console.println(F("Potentiometre pral sur A0"));
}
void loop {
// Optionnel : publier nous-mêmes une valeur dans le « data store » du Bridge,
// lisible via http://arduino.local/data/get/pot
static uint32_t derniere = 0;
if (millis - derniere >= 200) {
derniere = millis;
int v = analogRead(A0); // 0..1023 (ADC du 32U4)
Bridge.put("pot", String(v)); // route /data/get/pot
Console.print(F("pot=")); Console.println(v);
}
}
Verificación esperada
Tres URLs, tres vistas de la misma realidad: 1 devuelve la lectura bruta 0–1023; http://arduino.local/data/get/pot` devuelve el valor publicado por Bridge.put; el Monitor serie muestra la frecuencia a 5 Hz. Gira el potenciómetro: los tres siguen en tiempo casi real. Prueba también desde un smartphone: es tu primer servidor de telemetría.
Errores frecuentes
- Esperar un valor entre 0 y 255: el ADC del 32U4 es de 10 bits (0–1023), igual que en el UNO — no copies un tutorial de 8 bits sin adaptar map.
- Escribir Bridge.put en cada vuelta de loop: esto inunda el puerto serie interno (115200 baudios entre los dos procesadores) y satura Linux; regula la frecuencia (aquí 200 ms).
- Confundir /arduino/analog/0 (lectura directa controlada por Linux) y /data/get/pot (valor que TÚ publicas): el primero lee el pin, el segundo lee una caché.
- El cursor del potenciómetro en la pata equivocada: el valor deja de moverse o salta — verifica con el Monitor antes de buscar problemas en el lado de la red.
- Bridge.begin sin paciencia en el primer arranque: si Linux no ha terminado de arrancar, el Bridge reintenta; no desconectes y vuelvas a conectar a los 5 segundos.
- Alimentación USB insuficiente: cortes de radio en medio de una petición; si el WiFi se reinicia solo, cambia de puerto/cable USB.
Otros tutoriales para esta placa
- Premiers pas sur la Yún : Bridge, Console et LED
- Connecter la Yún au WiFi et piloter une broche depuis le navigateur
- runShellCommandOnLinux : faire exécuter des commandes Linux depuis le sketch
- L'API REST du Bridge en détail : /arduino, /data et routes personnalisées
- Alerte email : bouton sur la Yún et envoi via sendmail
- Serveur web embarqué : YunServer, YunClient et pages dynamiques
Ejemplos de código para esta placa
clignotant-rest.inoArduinoconsole-bridge.inoArduinovaleurs-partagees.inoArduinoprocess-shell.inoArduinoserveur-json.inoArduinolecture-fichier.inoArduino