🛠 Envoyer un capteur analogique sur le réseau : potentiomètre et Bridge REST
Objectifs
Franchir le premier pas capteur → réseau : lire un potentiomètre sur l'entrée analogique de l'ATmega32U4 (ADC 10 bits, 12 entrées analogiques sur la Yún) et exposer la valeur au réseau via l'API REST du Bridge. Vous allez comprendre le chemin complet : broche → 32U4 → port série interne (pins 0/1) → AR9331 → HTTP → navigateur.
Matériel
- 1 Arduino Yún + alimentation (le WiFi consomme plus qu'un Blink : privilégiez une alimentation stable, le micro-USB d'un PC suffit)
- 1 potentiomètre 10 kΩ (patte 1 à 5 V, patte 3 à GND, curseur vers A0)
- 1 breadboard + fils
- PC sur le même réseau
Code complet
// 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);
}
}
Vérification attendue
Trois URLs, trois vues de la même réalité : 1 renvoie la lecture brute 0–1023 ; http://arduino.local/data/get/pot` renvoie la valeur publiée par Bridge.put ; le Moniteur série affiche la cadence à 5 Hz. Tournez le potentiomètre : les trois suivent en quasi temps réel. Testez aussi depuis un smartphone : c'est votre premier serveur de télémétrie.
Erreurs fréquentes
- Attendre une valeur entre 0 et 255 : l'ADC du 32U4 est en 10 bits (0–1023), comme sur UNO — ne pas recopier un tuto 8 bits sans adapter map.
- Écrire Bridge.put à chaque tour de loop : ça inonde le port série interne (115200 bauds entre les deux processeurs) et sature Linux ; cadencez (ici 200 ms).
- Confondre /arduino/analog/0 (lecture directe pilotée par Linux) et /data/get/pot (valeur que VOUS publiez) : la première lit la broche, la seconde lit un cache.
- Le curseur du potentiomètre sur la mauvaise patte : la valeur ne bouge plus ou saute — vérifiez avec le Moniteur avant de chercher côté réseau.
- Bridge.begin sans patience au premier démarrage : si Linux n'a pas fini de booter, le Bridge retente ; ne pas rebrancher au bout de 5 secondes.
- Alimentation USB chichiteuse : coupures radio en plein milieu d'une requête ; si le WiFi redémarre seul, changez de port/câble USB.
Autres tutoriels pour cette carte
- 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
Exemples de code pour cette carte
clignotant-rest.inoArduinoconsole-bridge.inoArduinovaleurs-partagees.inoArduinoprocess-shell.inoArduinoserveur-json.inoArduinolecture-fichier.inoArduino