La fonction analogWrite¶
Introduction¶
La fonction analogWrite() permet d'écrire une valeur analogique en tant que signal PWM à une broche. Cette fonction prend deux paramètres: le numéro de la broche et la valeur à écrire. La valeur doit être comprise entre 0 et 255. La valeur 0 correspond à une tension de 0V et la valeur 255 correspond à une tension de 5V. La valeur 127 correspond à une tension de 2.5V.
PWM : C'est quoi??¶
Le PWM est une technique qui permet de simuler une tension analogique en utilisant une tension numérique. Le principe est de faire varier la durée de la mise en tension d'une broche numérique à une fréquence très élevée. La fréquence est si élevée que l'oeil humain ne peut pas la percevoir. La tension numérique est alors perçue comme une tension analogique.
PWM tient pour Pulse Width Modulation. La modulation de largeur d'impulsion est une technique qui permet de faire varier la largeur d'un signal carré. Le signal carré est alors perçu comme une tension analogique.
Voici un aperçu du PWM avec différentes valeurs.

Voici en détail pour un signal PWM à 25% de la durée de mise en tension pour une broche du microcontrôleur.

Note : Par défaut sur le Mega, la fréquence du PWM pour les broches D2 à D12 et D44 à D46 est de 490.20 Hz. Pour les broches D4 et D13, la fréquence est de 980.9 Hz.
PWM : À quoi ça sert?¶
Le PWM peut être utilisé à différentes fins. Il peut être utilisé pour faire varier la luminosité d'une DEL, la vitesse d'un moteur, la position d'un servo, etc.
Voici un exemple de code qui fait graduellement varier la tension d'une DEL sur la broche 9.
-
Code
- Remarquez qu'il n'y a pas de
delay()dans ce code. Cela permettrait de faire d'autres choses dans la boucleloop().
- Remarquez qu'il n'y a pas de
-
Résultat
