Was ist Digitaler Output?
...
Vorwiderstand = (Anliegende Spannung – Durchlassspannung LED)/Durchlassstrom LED
RV = (Uges-UdUD)/I
Eine LED ist sehr empfindlich auf zu viel Strom und kann dann sehr schnell durchbrennen, bzw. verkürzt sich ihre Lebensdauer extrem. Deswegen ist es ratsam sich immer an dem nächst höheren Widerstandswert als dem errechneten zu orientieren.
Weitere Informationen zum Vorwiderstand
LED Blinken
Hier eine beispielhafte Schaltung für ein grünes LED. Das Datenblatt der LED gibt den Durchlassstrom mit 2V und die Durchlassspannung mit 25mA an. Dadurch ergibt sich folgende Rechnung:
RV = (Uges - UD) / I
RV = (5V - 2V) / 0.025A
RV = 3V / 0.025A
RV = 120 Ω
Für die Programmierung müssen wir den Digitalen PIN 13 immer wieder ein- und ausschalten, wenn wir das LED zum Blinken bringen möchten. Der folgende Code tut genau das.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
void setup()
{
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);
}
// the loop function runs over and over again forever
void loop()
{
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
} |
Aufgaben
1. Nutz das Blink Beispiel (Exampels/Basic/Blink) und erweitere es um eine zweite LED.
2. Öffne das BlinkWithout Delay Beispiel (Exampels/Digital/BlinkWithoutDelay) und verstehe das Konzept.
3. Programmiere ein Lauflicht mit 3 LEDs, welches sich von einer zur anderen Seite bewegt.
4. Definiert eine eigene Funktion void blinkLED(int _Pin, int _duration) welche es ermöglicht unterschiedliche LEDs mit unterschiedlichen Geschwindigkeiten blinken zu lassen.
...