Apprendre et créer
AccueilProduire, stocker et utiliser son électricitéEtapes et tests pour comprendre le power management avec ArduinoModuler l'intensité d'une LED avec le PWM (Pulse Width Modulation)

Moduler l'intensité d'une LED avec le PWM (Pulse Width Modulation)

Le 01-04-2020...

Avec le "Pulse Width Modulation", nous pouvons moduler la tension de sortie d'une broche analogique (enfin, Arduino utilise une manière détournée pour le faire cf ici : Pulse Width Modulation.

Et pour mettre cela en pratique, rien de mieux qu'un montage simple avec une LED et une résistance, c'est visuel !

Nous aurons donc en sortie de la broche une tension allant de 0V à 5V. Si j'enlène 2,2V pour la LED, il reste 2,8V, pour un courant de 20mA on aura R = 2,8/0,02 = 140, on va prendre 200 Ohms par sécurité.

Voici le montage :

Et le code pour faire clignoter la LED avec un allumage progressif.

int analogValue = 0;
void setup() {
}
void loop() {
  analogWrite(5, analogValue); // de 0 (0V) à 255 (5V)
  delay(50);
  
  analogValue += 10; // On avance de 10 en 10 pour aller suffisamment vite
  if( analogValue > 255 ) { analogValue = 0; }
}