Ich war an meinem Arduino Uno suchen , und ich bemerkte , dass das Symbol von digitalen Stiften 11
, 10
, 9
, 6
, 5
, und 3
. Was bedeuten diese? Beeinflusst dies die Funktionsweise? Kann ich diese Pins in bestimmten Situationen nicht verwenden?
arduino
pins
pwm
digital-logic
Anonymer Pinguin
quelle
quelle
Antworten:
Entspannen Sie Sich. Mach dir keine Sorgen. Diese Stifte heißen
PWM
und sind die gleichen wie die anderen Stifte, mit der Ausnahme, dass sie einen "zusätzlichen Bonus" haben.Einige Verwendungen von Arduinos Website :
Wie es funktioniert:
Die PWM-Pins werden von On-Chip-Timern gesteuert, die die Pins automatisch mit einer Rate von ca. 490 Hz umschalten. Die "Pulse Width Modulation" (PWM) gibt an, wie lange der Pin für einen einzelnen Zyklus dieser Frequenz ein- oder ausgeschaltet bleibt. Dies kann eine LED dimmen, indem die Illusion erzeugt wird, dass sie mit der halben Helligkeit wie zuvor ist, wo sie wirklich sehr schnell blinkt.
Wenn ein Arbeitszyklus von 25% vorliegt, ist er auf ein Viertel der Zeit begrenzt. Wenn Sie für eine LED verwendet haben, würde sie etwa 1/4 so hell erscheinen [Geben oder Nehmen]. (Hinweis: Wie einige Leute betonten, ist dies nicht wirklich proportional, aber lassen Sie es uns der Einfachheit halber so. EX: 25% ist nicht immer 1/4 der Helligkeit.)
(Wenn Sie sich mit Elektrotechnik auskennen, können Sie wahrscheinlich einen Kondensator hinzufügen, um ihn auch als Analogausgang zu nutzen.)
So verwenden Sie diese Pins für die Ausgabe:
Zuerst müssen Sie den Pin als Ausgang definieren. Dann verwenden Sie
analogWrite(ledPin, 128);
, um es zu starten. DasledPin
ist der PWM - Pin , die Sie wollen PWM beginnen und128
sollte zwischen mit einer Reihe ersetzt werden0
und255
;0
:0% duty cycle
(Dreht sich vollständig vom pin) und255
:100% duty cycle
. (Schaltet den Stift vollständig ein)Quelle: http://www.arduino-tutorials.com/arduino-pwm/
Warum kann ich das Licht in meinem Code nicht einfach so schnell ein- und ausschalten ?:
Technisch kann es jedoch einige Probleme geben:
Es wird nicht wirklich einen großen Unterschied machen, wenn der einzige Zweck des Arduino darin besteht, PWM-Signale zu erzeugen. Wenn Sie jedoch Verzögerungen von mehr als 50 MS in die Hauptschleife einfügen, wird das Timing durcheinander gebracht. Mit dem Software-Ansatz möchten Sie alle "Verzögerungs" -Funktionen eliminieren, da der Arduino nur auf einem Thread ausgeführt wird (er kann nur eine Sache gleichzeitig ausführen). Wenn Sie wissen, was Sie tun, wird es keinen großen Unterschied machen, das Licht zu dimmen, aber wenn Sie einen zusätzlichen Stift mit PWM haben, verschwenden Sie nur Ihre Zeit mit einem Software-Ansatz.
Wie andere darauf hingewiesen haben:
Sie benötigen noch einen Widerstand für Ihre Schaltkreise, um Strom und Spannung zu begrenzen. Sie können dies nicht überspringen.
quelle
Ein häufiges Missverständnis bezüglich der PWM-Pins besteht darin, dass bei der Verwendung von PWM keine Strombegrenzungswiderstände (z. B. mit LEDs) verwendet werden müssen.
Das ist nicht wahr. Die PWM-Pins sollten als digitale Pins betrachtet werden, die automatisch ein- und ausgeschaltet werden. Dies bedeutet, dass sie auf die gleiche HIGH-Spannung wie alle anderen Pins gehen.
Wenn Sie LEDs mit PWM verwenden, müssen Sie weiterhin Strombegrenzungswiderstände verwenden. Wenn Sie Motoren mit PWM verwenden, sollten Sie (fast immer) einen Transistor verwenden.
quelle