🛠 Console série : afficher les capteurs embarqués
Objectifs
Utiliser le port série USB natif de l'ATmega32u4 pour espionner les capteurs embarqués de l'Esplora : potentiomètre linéaire (slider), capteur de lumière, température, joystick et accéléromètre 3 axes. Vous comprendrez que Serial ici n'est PAS le UART des broches 0/1 mais le port virtuel CDC créé par le microcontrôleur lui-même, et que l'accéléromètre est le seul capteur branché directement sur l'ADC (A5/A11/A6), les autres passant par le multiplexeur.
Matériel
- Arduino Esplora + câble micro-USB.
- Arduino IDE avec la bibliothèque Esplora.
- Aucun branchement externe.
Code complet
/* Affiche tous les capteurs de l'Esplora sur le moniteur série.
Serial = port USB CDC natif de l'ATmega32u4 (pas les broches 0/1). */
#include <Esplora.h>
void setup {
Serial.begin(9600);
Serial.println("Esplora — lecture des capteurs embarques");
}
void loop {
int slider = Esplora.readSlider; // 0..1023
int light = Esplora.readLightSensor; // 0..1023
int tempC = Esplora.readTemperature(DEGREES_C); // entier en degres C
int sound = Esplora.readMicrophone; // 0..1023
int joyX = Esplora.readJoystickX; // -512..511
int joyY = Esplora.readJoystickY;
int ax = Esplora.readAccelerometer(X_AXIS); // offsets zéro-g 320/330/310
int ay = Esplora.readAccelerometer(Y_AXIS);
int az = Esplora.readAccelerometer(Z_AXIS);
Serial.print("slider="); Serial.print(slider);
Serial.print(" lum="); Serial.print(light);
Serial.print(" T="); Serial.print(tempC); Serial.print("C");
Serial.print(" son="); Serial.print(sound);
Serial.print(" joy=("); Serial.print(joyX);
Serial.print(","); Serial.print(joyY); Serial.print(")");
Serial.print(" acc=("); Serial.print(ax);
Serial.print(","); Serial.print(ay);
Serial.print(","); Serial.print(az); Serial.println(")");
delay(250);
}
Vérification attendue
Ouvrez le moniteur série à 9600 bauds. Faites glisser le potentiomètre : la valeur « slider » suit de 0 à 1023. Bouchez le capteur de lumière à la main : « lum » chute. Serrez la carte entre vos doigts : « T » monte lentement (la conversion de la bibliothèque est entière, pas à ~0,5 °C près). Inclinez la carte : les axes X/Y de l'accéléromètre varient autour des offsets à vide codés 320/330/310 dans la bibliothèque.
Erreurs fréquentes
- Aucune donnée affichée : l'Esplora est déjà ouverte dans un autre programme (traceur série d'un autre onglet) ; fermez-le et réinitialisez la carte.
- Attendre le UART sur les broches 0/1 : sur les cartes USB natives comme l'Esplora,
Serialest l'USB CDC ; le vrai UART matériel estSerial1, non accessible sur des broches standard. - Température crue : la formule interne
(raw*500/1024)-50est une approximation non calibrée — ne comparez pas avec un thermomètre médical. - Accéléromètre qui dérive : les offsets de zéro sont codés en dur par axe ; pour un projet précis, relevez vos propres valeurs à plat et soustrayez-les.
- Valider « ça ne marche pas » trop vite : le moniteur doit être ouvert APRÈS le démarrage ; sinon vous ratez l'en-tête, mais les mesures arrivent quand même en continu.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
joystick-couleur.inoArduinojeu-boutons.inoArduinoslider-luminosite.inoArduinothermometre-couleur.inoArduinosonometre.inoArduinoaccelerometre-tilt.inoArduino