PWM avec Arduino
PWM dans Arduino a une large gamme d'applications utilisées pour contrôler les appareils analogiques à l'aide de signaux numériques. La sortie des broches numériques Arduino peut être classée en deux niveaux de tension élevés, ce qui est 5 V ou bas, ce qui indique 0V. En utilisant PWM dans Arduino, nous pouvons générer un signal ayant une fréquence constante mais avec une largeur variable d'impulsion. L'exemple le plus courant de l'utilisation de PWM dans Arduino contrôle la luminosité d'une LED et le contrôle de la vitesse d'un moteur.
Le signal de modulation de la largeur d'impulsion a les deux caractéristiques suivantes:
PWM Pins sur Arduino Uno
Arduino Uno a un total de 14 broches de sortie d'entrée numérique, sur ces broches numériques, 6 broches PWM sont disponibles sur la carte Arduino Uno. Sur les broches d'E / S numériques Arduino Uno UNO 3, 5, 6, 9, 10 et 11 sont des broches PWM. Le nombre d'épingles PWM varie d'une carte à une autre.
La contre-vitesse dans Arduino détermine la fréquence des signaux PWM. Dans le compteur Arduino Uno, l'horloge est égale à l'horloge système divisée par la valeur des préscaleurs. Trois prescaleurs stockent la valeur du comptoir registre. Ces trois préscalers sont connus sous le nom de: CS02, CS01 et CS00. Comme le nombre total d'épingles PWM est 6, donc trois comptoirs sont utilisés dans Arduino Uno ayant des précaleurs séparés pour contrôler les broches PWM.
Registres de minuterie / comptoir | Broches PWM |
---|---|
Tccr0b | Contrôle les broches 6 et 5 |
Tccr1b | Contrôle les broches 9 et 10 |
Tccr2b | Contrôle les broches 11 et 3 |
Chacun de ces trois registres peut configurer trois plages de fréquence différentes pour les signaux PWM. Normalement, par défaut, un arduino uno a des fréquences suivantes pour les broches PWM:
Épingles arduino | Fréquence PWM |
---|---|
5 et 6 | 980 MHz |
9, 10,11 et 3 | 500 MHz |
Comment utiliser des broches PWM à Arduino
Les broches numériques sur Arduino peuvent être configurées en utilisant pinMode (), DigitalRead () et DigitalWrite (). Ici, la fonction pinmode () définit une broche en entrée et en sortie. Lorsque nous configurons les broches numériques en tant qu'entrée, la fonction DigitalRead () est utilisée lors de la définition d'une broche en fonction de la fonction numériquewrite () est utilisée.
analogwrite ()
Pour configurer les broches PWM que nous utilisons analogwrite () fonction. Cette fonction écrit une valeur analogique à une broche numérique. Il peut définir le cycle de service du signal PWM. Lorsque la fonction analogique est appelée sur une broche spécifique, une onde carrée régulière avec un cycle de service défini est générée. Cette onde carrée restera là jusqu'à ce que nous appelions une nouvelle fonction analogwrite () pour cette broche ou écrivez une nouvelle valeur à l'aide de DigitalRead () ou DigitalWrite ().
Syntaxe
Analogwrite (broche, valeur)
La fonction analogwrite () prend deux arguments:
Un autre argument facultatif en cas de PWM est la fréquence. Si cela n'est pas spécifié par défaut, c'est 500 Hz.
La valeur analogwrite () définit le cycle de service pour les signaux PWM:
Conclusion
PWM dans Arduino est une technique ou une méthode pour contrôler les appareils analogiques à l'aide de signaux numériques. Toutes les cartes Arduino ont des épingles PWM à bord. 6 broches PWM sont présentes dans Uno Sur le total de 14 broches numériques. Ici, nous avons discuté de la façon dont nous pouvons configurer ces broches en utilisant la fonction analogwrite () dans Arduino Uno.