Une broche numérique ne sait produire que deux tensions, 0 ou 5 volts. analogWrite() contourne cette limite en alternant très rapidement entre les deux : la moyenne obtenue se comporte comme une tension intermédiaire pour une LED ou un moteur.
L'échelle
La valeur passée va de 0 à 255. À 0 la sortie reste basse, à 255 elle reste haute en permanence. Entre les deux, la proportion de temps passé en haut est le rapport cyclique.
analogWrite(9, valeur); // broche marquee d'un tilde
Objectif
Donner le rapport cyclique de la valeur maximale, la tension moyenne obtenue à mi-échelle, la valeur à écrire pour environ trois volts, puis dire si la sortie est réellement continue.
Rappels
La tension moyenne vaut 5 volts multipliés par la valeur écrite, divisés par 255.
Pièges
Un voltmètre lent affiche bien la moyenne, ce qui donne l'illusion d'une tension continue. Un oscilloscope montre un signal carré qui saute entre 0 et 5 volts.