🛠 Potentiomètre et variation LED : l'ADC 10 bits et le PWM 8 bits version AVR

Arduino Duemilanove — Fiche carte · debutant · Schéma : IMG-duemilanove-debutant-3-potentiometre-pwm-fade.svg — potentiomètre 10 kΩ câblé entre 5 V, A0 et GND sur une Arduino Duemilanove, LED + résistance 220 Ω sur la broche PWM 9, liste des broches PWM 3/5/6/9/10/11 surlignée, ADC 10 bits annoté.

Objectifs

Le couple analogique classique sur AVR : lire un potentiomètre avec l'ADC 10 bits (0–1023 sur A0–A5) et commander la luminosité d'une LED par PWM 8 bits (0–255). Vous mémoriserez les six broches PWM de la Duemilanove (3, 5, 6, 9, 10, 11) et le passage d'échelle 1023→255 avec map. Contrairement à la Due, tout est en 5 V ici : pas de niveau-baisseur à prévoir pour vos modules TTL 5 V.

Matériel

Code complet

// Potentiometre sur A0 -> luminosité LED sur broche PWM 9
const byte POT = A0;        // ADC 10 bits : 0..1023, plage 0..5 V (AREF)
const byte LED_PIN = 9;     // PWM 8 bits (broches PWM : 3,5,6,9,10,11)

void setup {
  Serial.begin(9600);       // suivi série via la FTDI
}

void loop {
  int brut = analogRead(POT);                  // 0..1023
  byte consigne = map(brut, 0, 1023, 0, 255);  // -> PWM 8 bits
  analogWrite(LED_PIN, consigne);
  Serial.print("brut="); Serial.print(brut);
  Serial.print("  pwm="); Serial.println(consigne);
  delay(50);
}

Vérification attendue

En tournant le potentiomètre, la LED s'éteint progressivement puis monte jusqu'à son maximum, sans paliers visibles. Le moniteur série affiche le brut 0–1023 et la consigne PWM 0–255 qui suit. À fond dans un sens comme dans l'autre, on obtient respectivement 0 et ~1023 (± bruit).

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels