Étape 3: Utilisation de Modulation de largeur d’impulsions (PWM)
Pulse Width Modulation (PWM) est une technique permettant de simuler des valeurs analogiques sur une broche numérique. Il y a plusieurs broches numériques sur cartes Arduino qui prennent en charge PWM selon le Conseil que vous utilisez. Par exemple, celui ou Yun nous utilisons dans cet atelier prend en charge PWM 8 bits (0-255) sur les broches numériques 3, 5, 6, 9, 10, 11 et 13 à l’aide de la fonction analogWrite() .
PWM simule les données analogiques en créant une onde carrée (essentiellement une répétition basculer entre marche et arrêt) où la durée de « on » time est la largeur d’impulsion. Si l’onde carrée a une largeur d’impulsion de 50 % (plus communément appelée un facteur de marche), puis la sortie de cette broche est égales sur et en dehors. Si le facteur de marche 25 % puis la sortie de la broche est sur pour un quart seulement du facteur de marche (inversement il sera éteint trois fois tant que c’est à - 25 %, 75 % de réduction).
Parce que les fenêtres de temps d’un cycle est trop rapide pour le œil humain à percevoir (environ 2 millisecondes sur les broches de l’Arduino qui prennent en charge PWM), au lieu de provoquer une LED pour stroboscope ou scintillement, il semble tout simplement être plus ou moins lumineux. À l’aide d’un cycle de 25 % la LED serait sur (haut débit) pour la moitié d’une milliseconde et off (faible effort) pour 1,5 millisecondes qui rend la LED semblent avoir atteint 25 % de luminosité. Ainsi, alors que nous ne sommes pas vraiment envoi données analogiques à une LED digital, nous utilisons PWM pour simuler l’effet de données analogiques.