🛠 Console série : afficher les capteurs embarqués

Arduino Esplora — Fiche de carte · debutant · Schéma : IMG-esplora-debutant-3-esplora-console-serie-capteurs.svg — Esplora reliée par câble USB à un ordinateur affichant le moniteur série avec slider, lumière, température et accéléromètre.

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

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

  1. 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.
  2. Attendre le UART sur les broches 0/1 : sur les cartes USB natives comme l'Esplora, Serial est l'USB CDC ; le vrai UART matériel est Serial1, non accessible sur des broches standard.
  3. Température crue : la formule interne (raw*500/1024)-50 est une approximation non calibrée — ne comparez pas avec un thermomètre médical.
  4. 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.
  5. 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

← Retour à la fiche 🛠 Tous les tutoriels