Zum Inhalt springen

Analog Out

Sechs der digitalen Kanäle auf dem Arduino-Board sind nicht nur digital, sondern auch analog ansteuerbar. Sie sind mit dem Aufdruck PWM gekennzeichnet (Kanal 3, 5, 6, 9, 10, 11).

PWM (Pulse Width Modulation) bedeutet, dass kein konstantes Signal an dem Kanal anliegt, sondern dass dieser Kanal kontinuierlich an- und abgeschaltet wird. In der Arduino-Software übergibt man einen Wert zwischen 0 und 255 an den Kanal. 0 entspricht dem GND (Minus-Pol), 255 entspricht 5V+, Zwischenwerte bedeuten für träge Bauteile (LEDs, Motoren, etc.) also eine Spannung zwischen 0 und 5V. Damit kann man also die Geschwindigkeit von Motoren oder die Helligkeit einer LED regulieren.

(Motoren sollten nicht direkt an einen Arduino-Kanal angeschlossen werden. Mehr dazu im Abschnitt Motorsteuerung.)


Sieh dir jetzt meinen neuen Arduino-Videokurs an: Jetzt ansehen!


Das Arduino-Beispiel Fading (File>Examples>Analog>Fading) zeigt, wie man eine LED dimmt. Hier der Code von David A. Mellis:

// by David A. Mellis and Tom Igoe

int ledPin = 9;

void setup() {

}

void loop() {
  for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
    analogWrite(ledPin, fadeValue);
    delay(30);
  }
  for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) {
    analogWrite(ledPin, fadeValue);
    delay(30);
  }
}

Im Gegensatz zur digitalen Ausgabe muss ein analog angesprochener Kanal nicht im Setup deklariert werden. Der Befehl analogWrite erhält als Parameter den Pin, an dem die LED angeschlossen ist und den Wert (0 – 255), wie hell die LED leuchten soll.