LED-Matrix - Lauf­licht

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

Die ein­zel­nen LEDs wer­den in Zei­len und Spal­ten ange­spro­chen.
Die Schreib­wei­se für jede Zei­le kann binär ange­ge­ben wer­den: 0 = aus, 1 = an. Den Wer­ten wird ein "B" vor­an­ge­stellt.

Bei­spie­le:

void PfeilUnten()
{
  // Array für die 8 Reihen 
  byte Zeichen[8] = 
  {
     B00111000, // 1. Reihe
     B00111000, // 2. Reihe
     B00111000, // 3. Reihe
     B00111000, // 4. Reihe
     B11111110, // 5. Reihe
     B01111100, // 6. Reihe
     B00111000, // 7. Reihe
     B00010000  // 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]);
  }
}

Array

Schlie­ße die LED-Matrix an.

Anschlüs­se LED-Matrix

Als Ers­tes musst du eine Biblio­thek instal­lie­ren:

Sketch → Biblio­thek ein­bin­den → Biblio­the­ken ver­wal­ten

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

Metho­den der Biblio­thek LED­Con­trol

Metho­de Funktion/Beispiele
led­Con­trol Name_der_Matrix(Data-In, CLK, CS, Anzahl­Ma­trix)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, fal­se);
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 schal­ten
setLed(0, 0, 0, true);
setRow(NummerMatrix, Zei­le, Byte)zei­len­wei­se ein Byte schrei­ben:
setRow(0, Zei­le, B10000000);
setRow kann Wer­te zwi­schen 0 und 7 haben

setColumn(NummerMatrix, Spal­te, Byte)spal­ten­wei­se ein Byte schrei­ben:
setColumn(0, Spal­te, B10000000);
set­Co­lumn kann Wer­te zwi­schen 0 und 7 haben

Im Kopf des Pro­gramms musst du die Biblio­thek ein­bin­den und die Pin­be­le­gung der LED-Matrix fest­le­gen:

# include <LedControl.h> 
/* 
  VCC →  5V    
  GND    
  Pin 12 ->  DATA IN Pin   
  Pin 11 ->  CLK Pin  
  Pin 10 ->  CS Pin 
  1 -> eine Matrix angeschlossen
*/ 
LedControl LEDMatrix = LedControl(12, 11, 10, 1);

Ver­än­de­re das Bei­spiel so, dass in jeder Zei­le die LEDs nach­ein­an­der leuch­ten.

// Bibliothek LedControl einbinden 
# include <LedControl.h> 

/*  
  Pinbelegung  
  VCC →  5V  
  GND  
  Pin 12 ->  DATA IN Pin  
  Pin 11 ->  CLK Pin  
  Pin 10 ->  CS Pin 
  1 -> eine Matrix angeschlossen
*/ 
LedControl LEDMatrix = LedControl(12, 11, 10, 1); 

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

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

void loop()  
{  
  /*     
    setRow/setColumn erwartet drei Parameter:  
    - die Addresse der LED-Matrix →  0  
    - die Angabe der Zeile 
    - den Wert der LED 1 = an, 0 = aus  
  */ 
  // spaltenweise 
  for (int i = 0; i < 7; i ++)   
  {   
    // alle an   
    LEDMatrix.setColumn(0, i, B11111111);  
    delay(100);   

    // alle aus 
    LEDMatrix.setColumn(0, i, B00000000);   
    delay(100);  
  } 

  // und zurück 
  for (int i = 7; i >= 0; i--)   
  { 
    // alle an  
    LEDMatrix.setColumn(0, i, B11111111);  
    delay(100); 

    // alle aus  
    LEDMatrix.setColumn(0, i, B00000000);  
    delay(100); 
  }  

  // zeilenweise  
  for (int i = 0; i < 7; i ++)  
  {  
    // alle an
    LEDMatrix.setRow(0, i, B11111111); 
    delay(100);   

    // alle aus  
    LEDMatrix.setRow(0, i, B00000000);    
    delay(100);   
  } 

  // und zurück  
  for (int i = 7; i >= 0; i--)   
  { 
    // alle an 
    LEDMatrix.setRow(0, i, B11111111);  
    delay(100);   

    // alle aus   
    LEDMatrix.setRow(0, i, B00000000); 
    delay(100); 
  } 
}

Für die Erstel­lung von Matri­xen kannst du einen ➨Edi­tor (exter­ner Link) ver­wen­den.



Ver­wand­te Auf­ga­ben:


Letzte Aktualisierung: 18. Jul 2020 @ 1:48