🛠 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.

Objetivos

Aprovechar las E/S de la Teensy 3.2 como un profesional: 34 pines de E/S, de los cuales 24 son fácilmente accesibles en una protoboard compacta, 21 entradas analógicas repartidas en 2 convertidores, un verdadero DAC de 12 bits en A14, 12 pines táctiles (touchRead) y 12 pines PWM repartidos en 3 grupos de temporizadores con frecuencia independiente. Conectará un potenciómetro, un botón y un LED PWM, y leerá todo en un solo sketch con salida DAC.

Material

Puntos de arquitectura a conocer

Código completo

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

Verificación esperada

El Monitor serie muestra el potenciómetro (0–1023) y un valor táctil que salta cuando coloca el dedo sobre el pin 0 (touchRead). El osciloscopio en A14 muestra una tensión continua que sigue al potenciómetro — una verdadera salida analógica, no un PWM filtrado. En el pin 6, el PWM funciona a 20 kHz (inaudible en un zumbador, limpio para un driver de LED). El LED sigue al potenciómetro.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales