Lauf­licht mit blin­ken­den LEDs

Lese­zeit: 4 Minu­ten
Navi­ga­ti­on

Benö­tig­te Bau­tei­le:

  • 5 LEDs
  • 5 Wider­stän­de > 100 Ω
  • Lei­tungs­dräh­te

Baue die Schal­tung auf:
(Fah­re mit der Maus über das Bild, um die Bezeich­nun­gen der Bau­tei­le zu sehen)

Die LEDs sol­len nach­ein­an­der zufäl­lig oft blin­ken.
Um das zu rea­li­sie­ren, wären vie­le Pro­gramm­zei­len nötig, die immer wie­der die glei­chen Befeh­le aus­füh­ren. Die Pro­gram­mier­spra­che bie­tet die Mög­lich­keit, häu­fig ver­wen­de­te Befeh­le in einem geson­der­ten Pro­gramm­teil (einer Metho­de) „aus­zu­la­gern“.

Jede Metho­de muss außer­halb des set­up und des loop-Teils ste­hen.

Bei­spiel:

void LEDblinken() 
{ 
  digitalWrite(LED, HIGH); 
  delay(500); 
  digitalWrite(LED, LOW); 
  delay(500); 
}

Die Metho­de LED­Blin­ken kann jetzt belie­big oft im loop-Teil auf­ge­ru­feń wer­den.

LEDBlinken();

Metho­den kön­nen auch mit Para­me­tern auf­ge­ru­fen wer­den:

Bei­spiel:

void LEDblinken(int LEDNummer, int LeuchtDauer) 
{ 
  digitalWrite(LEDNummer, HIGH); 
  delay(Leuchtdauer); 
  digitalWrite(LEDNummer, LOW); 
  delay(Leuchtdauer); 
}

Der Auf­ruf sieht dann so aus:

LEDBlinken(6, 1000);

Die LED an Pin 6 blinkt eine Sekun­de.

Wei­te­re Infor­ma­tio­nen

Die LEDs wer­den wie­der in einem Array ange­legt
Zusätz­lich wer­den noch Varia­blen für die Num­mer der LED und die Anzahl der Blink­vor­gän­ge benö­tigt:

int LED[5] = {3, 4, 5, 6, 7};
int AnzahlBlinken; 
int LEDNummer;

Im setup-Teil erle­digt eine for-Schleife die Zuord­nung der LEDs:

void setup()
{
for (int i = 0; i <= 4; i ++)
{
pinMode(LED[i], OUTPUT);
}
}

Defi­nie­re eine Metho­de LED­Blin­ken, der als Varia­ble die Num­mer der LED und die Anzahl der Blink­vor­gän­ge über­ge­ben wer­den

void LEDBlinken(int LEDNummer, int Anzahl) 
{ 
  for (int i = 0; i <= Anzahl; i ++)   
  {  
    digitalWrite(LEDNummer, HIGH);   
    delay(100);   
    digitalWrite(LEDNummer, LOW);   
    delay(100); 
  }
}

Im loop-Teil wird die Anzahl der Blink­vor­gän­ge zufäl­lig bestimmt und die Metho­de LED­Blin­ken mit der Num­mer der LED und der Anzahl der Blink­vor­gän­ge auf­ge­ru­fen:

void loop()  
{ 
  for (int i = 0; i <= 4; i ++)    
  {  
    // Anzahl des Blinkens der LEDs zufällig bestimmen       
    AnzahlBlinken = random(1, 5);   

    /* 
      aktuelle LED i einschalten     
      -> Methode LEDBlinken aufrufen   
    */    
    LEDBlinken(LED[i], AnzahlBlinken);   
  } 
}


Ver­wand­te Auf­ga­ben:


Letzte Aktualisierung: 23. Aug 2020 @ 13:32