🛠 Entrées analogiques et capteur de température interne : le ADC et ses limites

Teensy 4.0 · debutant · Schéma : IMG-teensy-40-debutant-3-teensy40-analogique-temperature.svg — Teensy 4.0 : potentiomètre 10 kΩ entre 3,3 V et GND, curseur vers A0 ; encart sur la puce MIMXRT1062 avec la mention « capteur de température sur la puce » et retour du Moniteur série affichant volts et degrés.

Objectifs

Exploiter les 14 entrées analogiques et les 2 convertisseurs ADC du Teensy 4.0, tout en connaissant leurs limites réelles : plage figée 0–3,3 V, pas de broche AREF (analogReference n'a AUCUN effet), résolution matérielle jusqu'à 12 bits mais — citation de Paul Stoffregen — « effective number of bits is about 10 » à cause du bruit. Vous ajouterez aussi le capteur de température sur la puce, pratique pour surveiller l'échauffement en overclocking.

Matériel

Code complet

// Lecture A0 + température du die.
#include <InternalTemperature.h>

void setup {
  Serial.begin(9600);
  analogReadResolution(10);      // 0..1023 ; au-delà, du bruit sur T4
}

void loop {
  int raw = analogRead(A0);                 // 0..1023
  float volts = raw * (3.3f / 1023.0f);     // référence fixe 3,3 V
  float degC = InternalTemperature.readTemperatureC;
  Serial.printf("A0 = %d (%.2f V)  die = %.1f C\n", raw, volts, degC);
  delay(500);
}

Vérification attendue

Tournez le potentiomètre : la valeur suit entre 0 et 1023 et les volts restent sous 3,30 V. Frottez la puce du doigt ou soufflez dessus : la température du die bouge de quelques dixièmes de degré. Piste de calibration maison : relevez la température au repos (carte froide) puis après quelques minutes de calcul intensif — le M7 à 600 MHz chauffe visiblement, ce qui devient critique en overclocking (≥912 MHz exige un refroidissement selon les tests communautaires).

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels