🛠 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

Objectifs

Faire varier la luminosité d'une LED avec analogWrite (PWM) et comprendre LA particularité du Nano Every : le PWM n'est disponible que sur les broches 3, 5, 6, 9 et 10. La broche 11, PWM sur un Uno/Nano classique, n'y est qu'une E/S numérique — piège classique des shields recyclés.

Matériel

Code complet

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

Vérification attendue

La LED s'éteint progressivement puis monte en luminosité en tournant le potentiomètre. Avec un oscilloscope ou un logiqueur sur la broche 9, on voit un signal carré dont le rapport cyclique suit la consigne. Testez le même code sur la broche 11 : la LED reste simplement allumée ou éteinte — la preuve que le PWM y est absent.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels