Apprendre et créer
AccueilProduire, stocker et utiliser son électricitéUtilisation des broches digitales PWM (Pulse Width Modulation) Arduino

Utilisation des broches digitales PWM (Pulse Width Modulation) Arduino

Le 01-04-2020...

Dans l'Arduino UNO (et d'autres), en plus de leur utilisation normale, certaines broches digitales permettent de générer une tension entre 0 et 5V.

Ce sont les broches désignées par un ~ (3, 5, 6, 9, 10, 11).

Principes de fonctionnement du PWM (Pulse Width Modulation)

Je vais expliquer le principe ici de manière succincte, si vous souhaitez aller plus loin, je vous conseille cette page : https://www.locoduino.org/spip.php?article47.

Les broches digitales ne sont capables de fournir que 0V ou 5V. Mais en générant une tension pulsée, alternant rapidement de 0 à 5V et inversement, et en contrôlant le temps passé à chaque état, il en résultera une tension modulée entre 0 et 5V.

Comment utiliser la fonction PWM (Pulse Width Modulation) des broches digitales

Pour utiliser le PWM, on ne va pas recourir à la fonction digitalWrite() mais on va faire appel à la fonction analogWrite().

la fonction analogWrite() prend deux paramètres : 1) la broche concernée et 2) le rapport entre le temps passé à 5V et le temps passé à 0V. Ce chiffre peut aller de 0 (tension 0V) à 255 (tension 5V).

Voici le code qui permet de sortir une tension de 2,5V sur la broche digitale 5 :

void setup() {
}
void loop() {
  analogWrite(5, 127); // 127 = 255/2 (environ) et donc va donner la moitié de 5V à savoir 2,5V
}