🛠 Variateur lumineux en PWM (broches 3, 5, 6, 9, 10)

Arduino Nano Every · intermediaire · Schéma : IMG-nano-every-intermediaire-1-nanoevery-pwm-led.svg — Nano Every avec une LED et sa résistance de 220 ohm sur la broche 9, un oscilloscope dessinant le signal PWM, et la liste des broches PWM autorisées annotée sur la carte

Objetivos

Hacer variar la luminosidad de un LED con analogWrite (PWM) y comprender LA particularidad del Nano Every: el PWM solo está disponible en los pines 3, 5, 6, 9 y 10. El pin 11, que es PWM en un Uno/Nano clásico, es solo una E/S digital en este modelo — una trampa clásica al reutilizar shields.

Material

Código completo

// Potentiometre A0 -> variation PWM sur broche 9
// Rappel: PWM possible uniquement sur 3, 5, 6, 9, 10 (pas 11 !)
const uint8_t LED_PWM = 9;
const uint8_t POT = A0;
uint32_t tPrecedente = 0;

void setup {
  pinMode(LED_PWM, OUTPUT);
  Serial.begin(9600);
}

void loop {
  if (millis - tPrecedente < 20) return;
  tPrecedente = millis;

  uint16_t brut = analogRead(POT);            // 0..1023
  uint8_t rapport = map(brut, 0, 1023, 0, 255);
  analogWrite(LED_PWM, rapport);              // 0..255
  Serial.print("rapport="); Serial.println(rapport);
}

Verificación esperada

El LED se apaga progresivamente y luego aumenta su luminosidad al girar el potenciómetro. Con un osciloscopio o un analizador lógico en el pin 9, se observa una señal cuadrada cuyo ciclo de trabajo sigue la consigna. Pruebe el mismo código en el pin 11: el LED simplemente permanece encendido o apagado — la prueba de que el PWM no está disponible allí.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales