Datasheet
27
So funktioniert es
Am Anfang wird über die Integer-Konstante LED der Pin P2_0 für die LED festgelegt. Konstanten
belegen weniger Speicher auf dem Mikrocontroller, wo, anders als bei einem PC, der Speicher
schnell knapp wird.
const int LED = P2_0;
int hell = 0;
int schritt = 5;
Anschließend werden zwei Variablen eingerichtet, hell bezeichnet den PWM-Wert für die
Helligkeit der LED, und
schritt gibt die Schrittweite beim Dimmen an.
void setup()
{
pinMode(LED, OUTPUT);
}
Die Prozedur void setup() definiert den Pin LED als Ausgang. Hier braucht man für PWM
keine speziellen Einstellungen vorzunehmen.
analogWrite(LED, hell);
In der Prozedur void loop() wird die LED angesteuert. Dazu gibt die Funktion
analogWrite() ein PWM-Signal am angegebenen Pin aus. Im Gegensatz zu digitalWrite()
kann ein Wert zwischen
0 und 255 ausgegeben werden, der in diesem Fall in der Variablen
hell steht.
hell += schritt;
Danach wird die Variable hell um den Wert von schritt erhöht. Der Operator += addiert
einen Wert zu einer Variablen hinzu.
if (hell == 0 || hell == 255)
{
schritt = -schritt;
}
Wenn die Helligkeit den Wert 255 für volle Helligkeit erreicht, bekommt der Wert schritt ein
negatives Vorzeichen. Damit wird automatisch, ohne die Berechnungsformel zu verändern,
wieder abwärts gezählt. Umgekehrt wird auch beim Erreichen von
0 das Vorzeichen umgekehrt,
um wieder aufwärts zu zählen. Der Operator
|| bedeutet »oder«.
delay(25);
Zum Schluss wartet die Prozedur 25 Millisekunden und setzt danach den LED-Pin auf den neuen
Helligkeitswert. So wird die LED ständig auf- und abgeblendet.
3.4 Analoge Eingabe mit Pegelanzeige
Wie man mit analogen Werten die Helligkeit einer LED steuert, ist nun bekannt. Um einen analogen
Wert aber wirklich zu visualisieren, ist diese Methode nicht aussagekräftig genug, Helligkeiten