Diese Matrix besteht aus 64 (8x8) ein einem Gehäuse vergossenen (hier: roten) LEDs, die separat durch einen Pin angesteuert werden können. Verwendet wurde hier allerdings ein DIY-Modul, welches zusätzlich zu einem Vorwiderstand auch den MAX7219-Chip, einen LED-Treiber mit serieller Schnittstelle verbaut hat. Somit muss man nicht die einzelnen LEDs mit je einem Pin auf den Arduino verbinden, sondern kann diese über SPI steuern.
#define PIN_DIN 12
#define PIN_CLK 11
#define PIN_CS 10
#define NUM_DEVICES 1
#include <LedControl.h>
LedControl lc = LedControl(PIN_DIN, PIN_CLK, PIN_CS, NUM_DEVICES);
byte frames[3][8] = {
{
B00111100,
B01000010,
B10010101,
B10100001,
B10100001,
B10010101,
B01000010,
B00111100
},
{
B00111100,
B01000010,
B10010101,
B10010001,
B10010001,
B10010101,
B01000010,
B00111100
},
{
B00111100,
B01000010,
B10100101,
B10010001,
B10010001,
B10100101,
B01000010,
B00111100
}
};
void setup()
{
lc.shutdown(0, false);
// intensity level (0..15)
lc.setIntensity(0, 2);
lc.clearDisplay(0);
}
void loop()
{
for (int frame=0; frame<3; frame++) {
for (int dot=0; dot<8; dot++) {
lc.setRow(0, dot, frames[frame][dot]);
}
delay(750);
}
}
zurück