LED steuern
Schaltplan Nano
MC5a: Schaltplan der Sketches LED_blinken_2.ino und LED_schalten.ino.
Bauteile:
MC
: Arduino NanoLED1
: LED 5 mmR1
: 220 ΩR2
: 10 kΩT1
: Taster
Die verwendete LED ist für 20 mA ausgelegt. Bei einer Spannung von 5 V am Ausgang D0
folgt aus §ER1.1 ein Wert für R1
= 250 Ω. Da die Spannung in der Regel unter 5 V liegt, reicht der Standardwert von 220 Ω.
§ER1.1: Widerstandsberechnung
R2
ist ein pull down Widerstand, der den Eingang D2
bei geöffnetem Taster auf LOW setzt. Ein typischer Wert für R2
ist 10 kΩ.
Sketches
LED_blinken_2.ino:
- Mit dem Programmstart leuchtet die LED.
D13
arbeitet als Ausgang, der bei gedrücktem Taster die LED mit Zeitverzögerung an- und ausschaltet.D2
arbeitet als Eingang, der den Tasterzustand abfragt.
- LED_blinken_2.ino
int iLED1 = 13; // LED-Pin int iTaster1 = 2; // Taster-Pin int iStatus1 = 0; // Tasterstatus void setup() { // Initialisierung pinMode(iLED1, OUTPUT); // LED-Pin als Ausgang pinMode(iTaster1, INPUT); // Taster-Pin als Eingang } void loop() { // Endlosschleife iStatus1 = digitalRead(iTaster1); // Tasterstatus lesen if (iStatus1 == HIGH) { // Abfrage, ob Taster gedrückt digitalWrite(iLED1, LOW); // LED ausschalten delay(500); // Zeitverzögerung 500 ms digitalWrite(iLED1, HIGH); // LED einschalten delay(1000); // Zeitverzögerung 1000 ms } else { digitalWrite(iLED1, HIGH); // LED einschalten } }
LED_schalten.ino:
- Mit dem Programmstart leuchtet die LED.
D13
arbeitet als Ausgang, der bei gedrücktem Taster die LED ausschaltet.D2
arbeitet als Eingang, der den Tasterzustand abfragt.
- LED_schalten.ino
int iLED1 = 13; // LED-Pin int iTaster1 = 2; // Taster-Pin int iStatus1 = 0; // Tasterstatus void setup() { // Initialisierung pinMode(iLED1, OUTPUT); // LED-Pin als Ausgang pinMode(iTaster1, INPUT); // Taster-Pin als Eingang } void loop() { // Endlosschleife iStatus1 = digitalRead(iTaster1); // Tasterstatus lesen if (iStatus1 == HIGH) { // Abfrage, ob Taster gedrückt digitalWrite(iLED1, LOW); // LED ausschalten } else { digitalWrite(iLED1, HIGH); // LED einschalten } }
Versuche
Lade den Sketch LED_schalten.ino.
Trenne die Verbindung von
R2
zum ⊥
wie in ❑MC5b.
MC5b: undefinierter Pegel am Eingang D2 bei geöffnetem Taster.
Nach einigen Sekunden wird die LED wahrscheinlich nicht mehr leuchten oder unregelmäßig blinken. Grund ist die fehlende Verbindung von
R2
zum ⊥
, die den Eingang bei geöffnetem Taster nicht auf LOW setzt und damit den Pegel von D2
dem Zufall aussetzt.
Berühre den Widerstand an dem frei stehenden Ende.
Die LED leuchtet wahrscheinlich wieder und unterschiedlich stark in Abhängigkeit, wie feste du das Ende anfasst.
Lade den Sketch LED_blinken.ino.
Entferne die Verbindung von
R2
wie in ❑MC5b.
Die LED wird wahrscheinlich auch ohne gedrückten Taster blinken.
Die Versuche zeigen die Bedeutung, einem Eingang immer einen definierten Pegel zuzuordnen.
- Zuletzt geändert: 2020/03/16 10:22
- von wh