analogWrite() – PWM

Cette fonction contrôle le cycle de travail d’une sortie PWM de Arduino à travers d’un pin digital configuré préalablement comme output. Tous les pins digitaux ne peuvent pas supporter des signaux PWM (dans la plaque Arduino UNO sont, par exemple les pins: 3, 5, 6, 9, 10 et 11). Ces sorties son précédés du symbole ~.

Chaque fois que cette fonction soit exécutée, la plaque produira ce signal. On peut l’utiliser pour contrôler la luminosité variable d’une diode ou entraîner un moteur à différentes vitesses.

Sorties PWM de la plaque Arduino UNO
Sorties PWM de la plaque Arduino UNO

Qu’est ce qu’ une sortie PWM ou modulation de largeur d’impulsion?

Il s’agit d’une technique couramment utilisée pour synthétiser des signaux pseudo analogiques à l’aide de circuits à fonctionnement tout ou rien, ou plus généralement à états discrets. Elle modifie le cycle de travail d’un signal périodique, bien pour transmettre information à travers d’un canal de communications, ou bien por contrôler la quantité d’énergie qu’on envoie a une charge.

Le cycle de travail (D) d’un signal périodique est la largeur relative de sa part positive en relation avec le période.

Le cycle de travail d'un signal périodique
Le cycle de travail d’un signal périodique

Syntaxe

analogWrite(pin, valeur)

On observe deux paramètres:

  • pin -> c’est le pin défini.
  • valeur -> represente le cycle de travail, une portée entre 0 (toujours éteint) et 255 (toujours allumé).

Exemple

Nous allons augmenter progressivement le cycle de travail d’une diode, on verra comment elle s’allume graduellement jusqu’à sa valeur maximale:

void setup() {  
    pinMode(9, OUTPUT);
}

void loop() {
    for (x=0; x<=255; x++){
      analogWrite(9,x);
      delay(100);
    }
}

Voir aussi