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.

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.

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