PWM mit Arduino
PWM in Arduino verfügt über eine breite Palette von Anwendungen, mit denen analoge Geräte mithilfe digitaler Signale gesteuert werden können. Arduino Digital Pins Output kann in zwei Spannungsniveaus kategorisiert werden, entweder hoch oder niedrig, was 0 V bezeichnet. Mit PWM in Arduino können wir ein Signal mit einer konstanten Frequenz erzeugen, jedoch mit variabler Pulsbreite. Das häufigste Beispiel für die Verwendung von PWM in Arduino besteht darin, die Helligkeit einer LED zu kontrollieren und die Geschwindigkeit eines Motors zu steuern.
Impulsbreitenmodulationssignal haben folgende zwei Merkmale:
PWM -Stifte auf Arduino uno
Arduino Uno verfügt über insgesamt 14 digitale Eingangsausgangsnadeln, aus diesen digitalen Stiften sind 6 PWM -Stifte auf dem Arduino Uno Board erhältlich. Auf Arduino uno digitale E/A -Stifte 3, 5, 6, 9, 10 und 11 sind PWM -Stifte. Die Anzahl der PWM -Stifte variiert von einem Board zum anderen.
Die Gegengeschwindigkeit in Arduino bestimmt die Häufigkeit von PWM -Signalen. In der Arduino -Uno -Zähler ist gleich der Systemuhr geteilt durch Prescalers Value. Drei Prescalers speichern den Wert des Zählerregisters. Diese drei Prescaler sind bekannt als: CS02, CS01 und CS00. Da die Gesamtzahl der PWM -Stifte 6 beträgt, werden in Arduino Uno drei Zählerregister verwendet, die separate Prescaler zur Kontrolle von PWM -Stiften haben.
Timer-/Zählerregister | PWM -Stifte |
---|---|
Tccr0b | Kontrolliert Pin 6 und 5 |
Tccr1b | Kontrolliert Pin 9 und 10 |
Tccr2b | Kontrolliert Pin 11 und 3 |
Jeder dieser drei Register kann drei verschiedene Frequenzbereiche für PWM -Signale konfigurieren. Normalerweise hat ein Arduino Uno standardmäßig folgende Frequenzen für PWM -Stifte:
Arduino Pins | PWM -Frequenz |
---|---|
5 und 6 | 980 MHz |
9, 10,11 und 3 | 500 MHz |
So verwenden Sie PWM -Stifte in Arduino
Digitale Stifte auf Arduino können mit Verwendung konfiguriert werden PinMode (), digitalread () Und DigitalWrite (). Hier legt die Funktion PinMode () einen Pin als Eingang und Ausgabe fest. Wenn wir digitale Pins als Eingabe -Funktion digitalRead () konfigurieren, wird das Einstellen eines Pin als Ausgabe digitalwrite () verwendet.
Analogwrite ()
Um PWM -Stifte zu konfigurieren, verwenden wir Analogwrite () Funktion. Diese Funktion schreibt einen analogen Wert für einen digitalen Pin. Es kann den PWM -Signalzyklus einstellen. Wenn die Analogwrite -Funktion auf einem bestimmten Stift aufgerufen wird. Diese Quadratwelle bleibt dort, bis wir für diesen Pin eine neue Funktion analogwrite () aufrufen oder einen neuen Wert mit digitalRead () oder digitalwrite () -Funktion schreiben.
Syntax
Analogwrite (Pin, Wert)
Die Funktion analogwrite () nimmt zwei Argumente an:
Ein weiteres Argument, das im Falle von PWM optional ist, ist die Frequenz. Wenn dies standardmäßig nicht angegeben ist, ist es 500 Hz.
Der Wert analogwrite () definiert den Arbeitszyklus für PWM -Signale:
Abschluss
PWM in Arduino ist eine Technik oder Methode zur Steuerung analoge Geräte mithilfe digitaler Signale. Alle Arduino Boards haben PWM -Stifte an Bord. 6 PWM -Stifte sind in vorhanden Uno aus insgesamt 14 digitalen Stiften. Hier haben wir besprochen, wie wir diese Stifte mithilfe von Analogwrite () in Arduino Uno konfigurieren können.