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?
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?
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 :
- Gradation d'une LED
- Simule une sortie analogique. La sortie bascule toujours numériquement de 0V à 5V. Cependant, filtre passe-bas (condensateur et résistance) pour simuler les tensions analogiques.
- Génération de signaux audio.
- Fournir un contrôle de vitesse variable pour les moteurs.
- Génération d'un signal modulé, par exemple pour piloter une LED infrarouge pour une télécommande.
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'est ledPin
la broche PWM que vous souhaitez démarrer PWM et 128
doit être remplacée par un nombre entre 0
et 255
; 0
: 0% duty cycle
(Tourne la broche complètement) et 255
: 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.
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.