06 – Sortie analogique

Il n’existe pas réellement de sortie analogique sur un Arduino. Cependant, on peut utiliser pour cela des signaux dits PWM (pour Pulse Width Modulation ou Modulation en largeur d’Impulsion). Le principe est de fournir, sur une certaine durée, un signal électrique dont la valeur est à l’état haut pendant une durée proportionnelle à la puissance de sortie désirée :

Deux valeurs sont importantes, la durée d’une cycle (T) et la durée pendant laquelle le signal est haut (ton), qui permet de déterminer le rapport cyclique α, exprimé en pourcentages :

\alpha = \frac{t_{on}}{T}

Sur Arduino, la pins étant capables de générer des signaux PWM dépendent du modèle, tout comme la fréquence (la durée du cycle). Voir la documentation d’Arduino à ce sujet.
Sur la même page, vous trouverez un exemple utilisant une LED et un potentiomètre.

const int ledPin = 9;
const int analogPin = 3;
int val = 0;
void setup() {
  pinMode(ledPin, OUTPUT);
}
void loop() {
  val = analogRead(analogPin);
  analogWrite(ledPin, val / 4);
}

Laisser un commentaire