Menü Schließen

Für den Arduino gibt es keine 5×5 Matrix, deshalb kommt hier eine mit 8×8 LEDs von Adafruit zum Einsatz. Sie verfügt über ein I2C-Inface, das sich mit zwei Datenleitungen zur Steuerung der LEDs begnügt.

Die Verbindung zum Arduino gestaltet sich entsprechend einfach:

Die Anschlüsse an der LED-Matrix sind (in der Abbildung von links nach rechts) mit + und – sowie C (clock) und D (data) gekennzeichnet. + wird mit 5V, – mit GND, D mit A4 und C mit A5 verbunden.

Zum Betreiben der LED-Matrix werden die Bibliotheken „Adafruit_LED_Backpack-master“ und „Adafruit-GFX-Library-master“ benötigt, die hier heruntergeladen werden können.

Wenn die Bibliotheken in der Arduino-IDE eingebunden sind, steht unter „Datei > Beispiele > Adafruit LED Backpack Library“ ein Programmbeispiel für die 8 x 8 Matrix mit vielen Variationen bereit.  Es ist lohnend, sich die Details näher anzuschauen, um grundsätzliche Einsichten zum Programmieren einer LED-Matrix zu gewinnen.

Hier ein Programm mit Erklärungen, das in Abwandlung des Musterbeispiels im PXT-Editor entstanden ist.

#include <Wire.h>
#include <Adafruit_GFX.h>
#include „Adafruit_LEDBackpack.h“
Adafruit_8x8matrix matrix = Adafruit_8x8matrix();
void setup() {
  matrix.begin(0x70);
}
static const uint8_t PROGMEM
/********************************************
 * Smiley 1 erstellen: 1 = LED an, 0 = LED aus
 ********************************************/
froehlich_bmp[] =
{ B00111100,
  B01000010,
  B10100101,
  B10000001,
  B10100101,
  B10011001,
  B01000010,
  B00111100
}
/********************************************
 * Smiley 2 erstellen 1 = LED an, 0 = LED aus
 *******************************************/
frostig_bmp[] =
{ B00111100,
  B01000010,
  B10100101,
  B10000001,
  B10011001,
  B10100101,
  B01000010,
  B00111100
}
void loop() {
  /*************************************
   * 1. Matrix löschen
   * 2. LED Zeile 0, Platz 0 anschalten
   * 3. Befehl ausführen
   ************************************/
  matrix.clear();
  matrix.drawPixel(0, 0, LED_ON);
  matrix.writeDisplay();
  delay(2000);
  /*************************************
   * 1. Matrix löschen
   * 2. froehlich_bmp darstellen, bei
   *    Zeile 0, Platz 0 beginnen und
   *    bei Zeile 8, Platz 8 aufhören
   * 3. Befehl ausführen
   ************************************/
  matrix.clear();
  matrix.drawBitmap(0, 0, froehlich_bmp, 8, 8, LED_ON);
  matrix.writeDisplay();
  delay(2000);
  /*************************************
   * 1. Matrix löschen
   * 2. frostig_bmp darstellen, bei
   *    Zeile 0, Platz 0 beginnen und
   *    bei Zeile 8, Platz 8 aufhören
   * 3. Befehl ausführen
   ************************************/
  matrix.clear();
  matrix.drawBitmap(0, 0, frostig_bmp, 8, 8, LED_ON);
  matrix.writeDisplay();
  delay(2000);
} 

Eine Programmierung mit Ardublock ist nicht möglich, weil die eingesetzte Hardware nicht unterstützt wird.


Das LED-Modul kann bei der Firma Exp-Tech erworben werden. Die Komponenten müssen miteinander verlötet werden. Alle nötigen Hilfen dazu finden sich hier.

Folgekapitel (Dreifarbige LED) >>>