LED-Matrix - Wür­feln

Lese­zeit: 4 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.

Array

void sechs()
{
  byte Zeichen[8] =
  {
    B11000011,
    B11000011,
    B00000000,
    B11000011,
    B11000011,
    B00000000,
    B11000011,
    B11000011
  };

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

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

Wird der Tas­ter gedrückt, erscheint auf der LED-Matrix die gewür­fel­te Zahl.

Anschlüs­se LED-Matrix

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

  • Tas­ter
  • LED-Matrix
  • 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)

Bin­de die benö­tig­te Biblio­thek ein und defi­nie­re die Varia­blen:

# include <LedControl.h>

int TASTER = 7;

int TasterLesen;
int Zahl;
int Minimum = 1;

int Maximum = 7;

LedControl LEDMatrix = LedControl(12, 11, 10, 1);

Star­te im setup-Teil die LED-Matrix und lege den pin­Mo­de für den Tas­ter fest:

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

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

  // Zufallsgenerator starten
  randomSeed(A0);
  pinMode(TASTER, INPUT_PULLUP);
}

Ver­wen­de für die Ermitt­lung der Zufalls­zahl eine ➨Funk­ti­on.

int ZufallsZahl()
{
  Zahl =  random(Minimum, Maximum);
  return Zahl;
}

Die Abfra­ge der Zufalls­zahl kannst du mit ➨switch … case erle­di­gen.

void loop() 
{
  TasterLesen = digitalRead(TASTER);
  if (TasterLesen == LOW)
  {
    delay(300);

    // Funktion Zufallszahl aufrufen
    Zahl = ZufallsZahl();

    switch (Zahl)
    {
      case 1:
        Eins();
        break;

      case 2:
        Zwei();
        break;
      case 3:
        Drei();
        break;
      case 4:
        . . . 
      case 5:
        . . .
      case 6:
        . . .
    }
  }
}

Ver­wen­de für die Anzei­ge der Wür­fel­au­gen die fol­gen­den ➨Metho­den:



Ver­wand­te Auf­ga­ben:


Letzte Aktualisierung: 25. Okt 2020 @ 8:08