Pulse-Width Modulation
Pulse-Width Modulation
Zusammenfassung
Um z.B. eine LED zum 'Faden' zu bringen benötigen wir eine Pulse-Width Modulation. Dabei wird ein digitales Signal am Arduino ausgegeben, welches den entsprechenden Pin (PWM Pins sind mit PWM bzw. ~ gekennzeichnet) EIN und AUS schaltet. Je länger nun die EIN-Zeiten des Pins sind, desto heller erscheint uns die LED – im Gegensatz dazu erscheint uns die LED dunkler, wenn die AUS-Zeiten länger sind.
PWM am Arduino
Um über einen PWM fähigen Pin am Arduino z.B. eine LED zu dimmen rufen wir für diesen Pin folgende Funktion auf:
analogWrite(AUSGANG, WERT);
Der AUSGANG kann dabei jeder PWM fähige Pin sein (gekennzeichnet durch PWM od. ~) und der WERT kann 0-255 annehmen.
Beispiel
// PULSE-WIDTH MODULATION
// Embodied Interaction Basics
// Moritz Kemper, IAD Physical Computing Lab
// ZHdK, 08/11/2011
#define LED_PIN 11 // PWM enabled PIN
void setup()
{
pinMode(LED_PIN, OUTPUT); // Set the PIN as Output
}
void loop()
{
analogWrite(LED_PIN, 20); // Write 20 out to the PIN
}
Links
Eintrag in Wikipedia
Link zu Arduino
Advanced PWM auf arduino.cc
PWM in der Arduino Reference