Je regardais mon Arduino Uno et j'ai remarqué ce symbole par les broches numériques 11
, 10
, 9
, 6
, 5
et 3
. Qu'est-ce que cela signifie? Cela affecte-t-il son fonctionnement? Puis-je ne pas utiliser ces broches dans certaines situations?
arduino
pins
pwm
digital-logic
Pingouin Anonyme
la source
la source
Réponses:
Se détendre. Ne t'inquiète pas. Ces broches sont appelées
PWM
et sont les mêmes que les autres broches, sauf qu'elles ont un "bonus supplémentaire".Quelques utilisations du site Web d' Arduino :
Comment ça marche:
Les broches PWM sont contrôlées par des minuteries sur puce qui basculent automatiquement les broches à une fréquence d'environ 490 Hz. La "modulation de largeur d'impulsion" (PWM) est la durée pendant laquelle la broche reste activée ou désactivée pendant un seul cycle de cette fréquence. Cela peut atténuer une LED en donnant l'illusion qu'elle est à la moitié de la luminosité comme auparavant, où elle clignote vraiment très rapidement.
Lorsqu'il y a un cycle de service de 25%, c'est un quart de fois. Si vous l'utilisiez pour une LED, elle apparaîtrait environ 1 / 4ème comme lumineuse [donner ou prendre]. (Remarque: comme certaines personnes l'ont souligné, ce n'est pas vraiment proportionnel, mais laissons les choses de cette façon pour plus de simplicité. EX: 25% n'est pas toujours 1/4 de la luminosité.)
(Si vous êtes vraiment averti en électricité, vous pouvez probablement ajouter un condensateur pour en faire également une sortie analogique.)
Comment utiliser ces broches pour sortir:
Tout d'abord, vous devez définir la broche comme sortie. Ensuite, vous utilisez
analogWrite(ledPin, 128);
pour le démarrer. C'estledPin
la broche PWM que vous souhaitez démarrer PWM et128
doit être remplacée par un nombre entre0
et255
;0
:0% duty cycle
(Tourne la broche complètement) et255
:100% duty cycle
. (allume complètement la broche)Source: http://www.arduino-tutorials.com/arduino-pwm/
Pourquoi ne puis-je pas allumer et éteindre la lumière très rapidement dans mon code?:
Techniquement, vous pouvez cependant rencontrer certains problèmes:
Cela ne fera pas vraiment une grande différence si le seul but de l'Arduino est de générer des signaux PWM. Cependant, si vous mettez des retards supérieurs à 50 MS dans la boucle principale, cela gâchera le timing. Avec l'approche logicielle, vous voudriez éliminer toutes les fonctions de «retard» puisque l'Arduino ne fonctionne que sur un seul thread (il ne peut faire qu'une seule chose à la fois). Si vous savez ce que vous faites, cela ne fera pas beaucoup de différence pour atténuer la lumière, mais si vous avez une broche supplémentaire avec PWM, vous perdez simplement votre temps avec une approche logicielle.
Comme d'autres l'ont fait remarquer:
Vous avez toujours besoin d'une résistance pour vos circuits afin de limiter le courant et la tension. Vous ne pouvez pas ignorer cela.
la source
Une idée fausse commune sur les broches PWM est que lors de l'utilisation de PWM, il n'est pas nécessaire d'utiliser des résistances de limitation de courant (avec des LED, par exemple).
Ce n'est pas vrai. Les broches PWM doivent être considérées comme des broches numériques, qui sont activées et désactivées automatiquement. Cela signifie qu'ils passent à la même haute tension que toutes les autres broches.
Lorsque vous utilisez des LED avec PWM, vous devez toujours utiliser des résistances de limitation de courant. Lorsque vous utilisez des moteurs avec PWM, vous devriez (presque toujours) utiliser un transistor.
la source