LED-Matrix - Countdown

Lese­zeit: 5 Minu­ten
Seite als PDF
Navi­ga­ti­on

Die LED-Matrix soll nach einem Tas­ter­druck einen Count­down von 9 bis 0 Sekun­den anzei­gen. Zusätz­lich ertönt jede Sekun­de ein kur­zer Ton.
Beim Start des Pro­gramms wird ein Pfeil nach unten ange­zeigt, am Ende ein Kreuz.

Die ein­zel­nen LEDs wer­den in Rei­hen und Spal­ten ange­spro­chen.
Die Schreib­wei­se für jede Rei­he kann binär ange­ge­ben wer­den: 0 = aus, 1 = an. Den Wer­ten wird ein "B" vor­an­ge­stellt.
Die LED-Matrix wur­de in das Steck­brett ein­ge­setzt, daher ver­lau­fen die Rei­hen ver­ti­kal und die Spal­ten horizontal.

void PfeilUnten()
{
  byte Zeichen[8] = 
  {
     B00010000, // 1. Reihe
     B00110000, // 2. Reihe
     B01111111, // 3. Reihe
     B11111111, // 4. Reihe
     B01111111, // 5. Reihe
     B00110000, // 6. Reihe
     B00010000, // 7. Reihe
     B00000000  // 8. Reihe
  };

  // Matrix anzeigen
  for (int i = 0; i < 8; i ++)   
  { 
    LEDMatrix.setRow(0, i, Zeichen[i]);   
  }
} 

void Kreuz()
{
  byte Zeichen[8] = 
  {
    B10000001, // 1. Reihe
    B01000010, // 2. Reihe
    B00100100, // 3. Reihe
    B00011000, // 4. Reihe 
    B00011000, // 5. Reihe 
    B00100100, // 6. Reihe
    B01000010, // 7. Reihe
    B10000001  // 8. Reihe  
  };

  // Matrix anzeigen
  for (int i = 0; i < 8; i ++)  
  { 
    LEDMatrix.setRow(0, i, Zeichen[i]);
  }
}

Als Ers­tes musst du eine Biblio­thek installieren:

Sketch → Biblio­thek ein­bin­den → Biblio­the­ken verwalten

Jedem Befehl muss der Name der Matrix mit abschlie­ßen­dem . vor­an­ge­stellt werden.

Metho­den der Biblio­thek LEDControl

Metho­deFunktion/Beispiele
Led­Con­trol Name_der_Matrix(Data-In, CLK, CS, AnzahlMatrix)LED-Matrix initia­li­sie­ren:
Led­Con­trol LED­Ma­trix = LedControl(12, 11, 10, 1); 
shutDown(NummerMatrix, true/false)Matrix auf­we­cken:
shutDown(0, false);
setIntensity(NummerMatrix, Hel­lig­keit)Hel­lig­keit set­zen (0−20)
setIntensity(0, 8);
clearDisplay(NummerMatrix)clearDisplay(0);
setLed(NummerMatrix, Zei­le, Spal­te, true/false);ein­zel­ne LED schalten
setLed(0, 0, 0, true);
setRow(NummerMatrix, Zei­le, Byte)zei­len­wei­se ein Byte schreiben:
setRow(0, Zei­le, B10000000);
setRow kann Wer­te zwi­schen 0 und 7 haben

Wenn die LED-Matrix in das Steck­brett gesetzt wird, ver­lau­fen die Rei­hen vertikal.
setColumn(NummerMatrix, Spal­te, Byte)spal­ten­wei­se ein Byte schreiben:
setColumn(0, Spal­te, B10000000);
set­Co­lumn kann Wer­te zwi­schen 0 und 7 haben

Wenn die LED-Matrix in das Steck­brett gesetzt wird, ver­lau­fen die Spal­ten horizontal.

Array

Schlie­ße die LED-Matrix an.

Pin­be­le­gung LED-Matrix

Benö­tig­te Bauteile:

  • Taster 
  • LED-Matrix 
  • Leitungsdrähte 
  • Lautsprecher 

Im Kopf des Pro­gramms musst du die benö­tig­te Biblio­thek ein­bin­den und die Pin­be­le­gung der LED-Matrix fest­le­gen.
Im setup-Teil wird die LED-Matrix gestar­tet und der pin­Mo­de des Tas­ter und des Laut­spre­chers festgelegt.

# include <LedControl.h> 
/* 
  VCC →  5V    
  GND    
  Pin 12 →  DATA IN Pin   
  Pin 10 →  CLK Pin  
  Pin 11 →  CS Pin 
*/ 
LedControl LEDMatrix = LedControl(12, 11, 10, 1);
 
int TASTER = 7;
int LAUTSPRECHER = 5; 

int TasterLesen; 

void setup()  
{   
  // Matrix "aufwecken" 
  LEDMatrix.shutdown(0, false);

  //  mittlere Helligkeit setzen 
  LEDMatrix.setIntensity(0, 8); 
} 

Im loop-Teil wird zunächst der Pfeil nach unten ange­zeigt und der Tas­ter abge­fragt. Anschlie­ßend wird nach jeweils einer Sekun­de Pau­se die nächs­te Zahl ange­zeigt. Nach Ablauf der Zeit erscheint das Kreuz.

void loop()  
{ 
  PfeilUnten(); 

  TasterLesen = digitalRead(TASTER); 

  if (TasterLesen == LOW)   
  { 
    delay(300);
    ZahlNeun();
    tone(LAUTSPRECHER, 1000, 100); 
    delay(1000); 

    ZahlAcht(); 
    tone(LAUTSPRECHER, 1000, 100); 
    delay(1000); 

    ZahlSieben(); 
    tone(LAUTSPRECHER, 1000, 100); 
    . . .
    . . .
    Kreuz(); 
    delay(2000); 
  }
} 

Hier sind die benö­tig­ten ➨ Metho­den für die Zah­len, den Pfeil und das Kreuz:

Wenn du die LED-Matrix "lie­gend" betrei­ben willst, fin­dest du die Metho­den ➨hier.


Startseite
Aufgaben A-Z
Suchen
Downloads
Fehlermeldungen
Seite als PDF

Ver­wand­te Aufgaben:


Letzte Aktualisierung: 4. Apr 2021 @ 23:23