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

Arduino Esplora — Ficha de placa · 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.

Objetivos

Utilizar el puerto serie USB nativo del ATmega32u4 para espiar los sensores integrados de la Esplora: potenciómetro lineal (deslizador), sensor de luz, temperatura, joystick y acelerómetro de 3 ejes. Comprenderá que Serial aquí NO es la UART de los pines 0/1, sino el puerto virtual CDC creado por el propio microcontrolador, y que el acelerómetro es el único sensor conectado directamente al ADC (A5/A11/A6), mientras que los demás pasan por el multiplexor.

Material

Código completo

/* 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 zero-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);
}

Verificación esperada

Abra el monitor serie a 9600 baudios. Deslice el potenciómetro: el valor « slider » sigue de 0 a 1023. Tape el sensor de luz con la mano: « lum » cae. Apriete la placa entre sus dedos: « T » sube lentamente (la conversión de la biblioteca es entera, no con una precisión de ~0,5 °C). Incline la placa: los ejes X/Y del acelerómetro varían alrededor de los offsets en vacío codificados como 320/330/310 en la biblioteca.

Errores frecuentes

  1. No se muestran datos: la Esplora ya está abierta en otro programa (trazador serie de otra pestaña); ciérrelo y reinicie la placa.
  2. Esperar la UART en los pines 0/1: en placas con USB nativo como la Esplora, Serial es el USB CDC; la verdadera UART de hardware es Serial1, no accesible en pines estándar.
  3. Temperatura cruda: la fórmula interna (raw*500/1024)-50 es una aproximación no calibrada — no la compare con un termómetro médico.
  4. Deriva del acelerómetro: los offsets de cero están codificados fijos por eje; para un proyecto preciso, registre sus propios valores en posición plana y résteles.
  5. Descartar « no funciona » demasiado rápido: el monitor debe estar abierto DESPUÉS del arranque; de lo contrario, perderá la cabecera, pero las mediciones llegan igualmente de forma continua.

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales