Erste SeiteVorherige SeiteZurück zur ÜbersichtNächste SeiteLetzte Seite

LED steuern

Schaltplan Nano

→MC5a: Schaltplan der Sketches →LED_blinken_2.ino und →LED_schalten.ino.

Bauteile:

  • MC: Arduino Nano
  • LED1: LED 5 mm
  • R1: 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 →$FER1.1 ein Wert für R1 = 250 Ω. Da die Spannung in der Regel unter 5 V liegt, reicht der Standardwert von 220 Ω.

{{R} = U/{I} = {5 V}/{20 mA} = {5*1000 V}/{20 A} = 250 Omega}

→$FER1.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

Konstruktion →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
  }
}

Konstruktion →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 das 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 das 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.

Erste SeiteVorherige SeiteZurück zur ÜbersichtNächste SeiteLetzte Seite

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
  • it/arduino-nano/07.txt
  • Zuletzt geändert: 2019/04/10 21:40
  • von wh