🛠 Broches, ADC 13 bits, DAC 12 bits et PWM : dompter les E/S de la Teensy 3.2

Teensy 3.2 · debutant · Schéma : IMG-teensy-32-debutant-2-teensy32-broches-analogique-pwm.svg — Teensy 3.2 sur breadboard : potentiomètre 10 kΩ sur A2, bouton sur la broche 5, LED + 330 Ω sur la broche 6 (PWM), doigt posé sur la broche 0 (touche capacitive) et sortie DAC A14 reliée à un oscilloscope.

Objectifs

Exploiter les E/S de la Teensy 3.2 comme un pro : 34 broches d'E/S dont 24 facilement accessibles sur une breadboard compacte, 21 entrées analogiques réparties sur 2 convertisseurs, un vrai DAC 12 bits sur A14, 12 broches tactiles (touchRead) et 12 broches PWM réparties en 3 groupes de timers à fréquence indépendante. Vous câblerez un potentiomètre, un bouton et une LED PWM, et vous lirez le tout dans un seul sketch avec sortie DAC.

Matériel

Points d'architecture à connaître

Code complet

// Potentiometre (A2) -> LED PWM (broche 6) + vraie sortie DAC (A14)
// + bouton (broche 5) + touche capacitive (broche 0).
const int POT = A2, BTN = 5, LEDPWM = 6, DAC = A14, TOUCH = 0;

void setup {
  Serial.begin(9600);
  pinMode(BTN, INPUT_PULLUP);          // jamais INPUT_PULLUP sur la broche 13 !
  pinMode(LEDPWM, OUTPUT);
  analogWriteFrequency(LEDPWM, 20000); // 20 kHz sur le groupe FTM0
  analogWriteResolution(12);           // resolution 12 bits pour le DAC A14
}

void loop {
  int v = analogRead(POT);             // 0..1023 par defaut (10 bits)
  analogWrite(LEDPWM, map(v, 0, 1023, 0, 255));
  analogWrite(DAC, map(v, 0, 1023, 0, 4095)); // veritable DAC 12 bits
  Serial.printf("pot=%d touche=%d bouton=%d\n",
                v, touchRead(TOUCH), digitalRead(BTN));
  delay(50);
}

Vérification attendue

Le Moniteur série affiche le potentiomètre (0–1023) et une valeur tactile qui bondit quand vous posez le doigt sur la broche 0 (touchRead). L'oscilloscope sur A14 montre une tension continue qui suit le potentiomètre — une vraie sortie analogique, pas un PWM filtré. Sur la broche 6, le PWM tourne à 20 kHz (inaudible sur un buzzer, propre pour un pilote de LED). La LED suit le potentiomètre.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels