LED-Laufschrift mit UNO R3 und MA7219 Matrix-Modulen

Für dieses Projekt benötigen wir folgende Teile:

Für dieses Projekt haben wir uns, um es übersichtlich zu machen für die folgenden Kabel Farben entschieden:

  • Grün (1)
  • Gelb (2)
  • Orange (3)
  • Rot (4)
  • Braun (5)

Zuerst stecken wir die Matrix-Module in das Breadboard

Braedboard1

Wenn alle 5 Module gesteckt sind sollte dies so aussehen:
Breadboard5

Danach schließen wir die ersten Kabel an den oberen Modul-Pins an, dabei fangen wir von rechts an mit folgender Belegung.

  • Grün (CLK)
  • Gelb (CS)
  • Orange (DOUT)
  • Rot (GND)
  • Braun (VCC)

Dann sollte das so aussehen:

LED-5

Bei den Verbindungen der Matrix-Module untereinander bitte die oberen Pins mit der unteren Pin-Reihe verbinden,

  • Von Modul 1 oben auf Modul 2 unten
  • Von Modul 2 oben auf Modul 3 unten
  • Von Modul 3 oben auf Modul 4 unten
  • Von Modul 4 oben auf Modul 5 unten
  • Die Belegung ist die gleiche wie bei den oberen Pins.
  • Grün (CLK)
  • Gelb (CS)
  • Orange (DOUT)
  • Rot (GND)
  • Braun (VCC)

Das ganze sollte dann wie folgt aussehen und zugleich können wir die Verbindung zum Arduino Uno herstellen, auch hier haben wir die gleichen Anschlüsse genommen.

  • Grün (CLK)
  • Gelb (CS)
  • Orange (DOUT)
  • Rot (GND)
  • Braun (VCC)

Nun folgt die Belegung des Arduino Uno:

  • Orange auf 8
  • Gelb auf 9
  • Grün auf 10
  • Rot auf GND
  • Braun auf 5V

Das war es mit der Hardware, nun kommt der leichtere Teil, wir installieren die Software.
Dazu benötigen wir erstmal eine USB-Verbindung von Computer zum Arduino Uno, hierzu einfach das mitgelieferte USB Kabel an den Arduino Uno stecken und das andere Ende in einen USB-Port am Computer. Danach installieren wir die Arduino Software aus dem folgenden Link: (ARDUINO 1.8.3 in unserem Fall für Windows) https://www.arduino.cc/download_handler.php?f=/arduino-1.8.3-windows.exe

Danach öffnen wir die Software durch einen Doppelklick, wählen unter WERKZEUGE das Board ARDUINO / GENUINO UNO aus, im Anschluss nochmal unter WERKZEUGE wählen wir den PORT aus an dem der Arduino Uno angeschlossen ist.

Danach sollte die Verbindung zum Arduino Uno hergestellt sein. Nun löschen wir den Inhalt des geöffneten Sketches so daß wir eine leere Seite vor uns haben. Nun folgenden Inhalt kopieren und in das Sketch einfügen:

#include #include "MaxMatrix.h" #include "avr/pgmspace.h" PROGMEM const unsigned char CH[] = { 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // space 1, 8, B01011111, B00000000, B00000000, B00000000, B00000000, // ! 3, 8, B00000011, B00000000, B00000011, B00000000, B00000000, // " 5, 8, B00010100, B00111110, B00010100, B00111110, B00010100, // # 4, 8, B00100100, B01101010, B00101011, B00010010, B00000000, // $ 5, 8, B01100011, B00010011, B00001000, B01100100, B01100011, // % 5, 8, B00110110, B01001001, B01010110, B00100000, B01010000, // & 1, 8, B00000011, B00000000, B00000000, B00000000, B00000000, // ' 3, 8, B00011100, B00100010, B01000001, B00000000, B00000000, // ( 3, 8, B01000001, B00100010, B00011100, B00000000, B00000000, // ) 5, 8, B00101000, B00011000, B00001110, B00011000, B00101000, // * 5, 8, B00001000, B00001000, B00111110, B00001000, B00001000, // + 2, 8, B10110000, B01110000, B00000000, B00000000, B00000000, // , 4, 8, B00001000, B00001000, B00001000, B00001000, B00000000, // - 2, 8, B01100000, B01100000, B00000000, B00000000, B00000000, // . 4, 8, B01100000, B00011000, B00000110, B00000001, B00000000, // / 4, 8, B00111110, B01000001, B01000001, B00111110, B00000000, // 0 3, 8, B01000010, B01111111, B01000000, B00000000, B00000000, // 1 4, 8, B01100010, B01010001, B01001001, B01000110, B00000000, // 2 4, 8, B00100010, B01000001, B01001001, B00110110, B00000000, // 3 4, 8, B00011000, B00010100, B00010010, B01111111, B00000000, // 4 4, 8, B00100111, B01000101, B01000101, B00111001, B00000000, // 5 4, 8, B00111110, B01001001, B01001001, B00110000, B00000000, // 6 4, 8, B01100001, B00010001, B00001001, B00000111, B00000000, // 7 4, 8, B00110110, B01001001, B01001001, B00110110, B00000000, // 8 4, 8, B00000110, B01001001, B01001001, B00111110, B00000000, // 9 2, 8, B01010000, B00000000, B00000000, B00000000, B00000000, // : 2, 8, B10000000, B01010000, B00000000, B00000000, B00000000, // ; 3, 8, B00010000, B00101000, B01000100, B00000000, B00000000, // < 3, 8, B00010100, B00010100, B00010100, B00000000, B00000000, // = 3, 8, B01000100, B00101000, B00010000, B00000000, B00000000, // > 4, 8, B00000010, B01011001, B00001001, B00000110, B00000000, // ? 5, 8, B00111110, B01001001, B01010101, B01011101, B00001110, // @ 4, 8, B01111110, B00010001, B00010001, B01111110, B00000000, // A 4, 8, B01111111, B01001001, B01001001, B00110110, B00000000, // B 4, 8, B00111110, B01000001, B01000001, B00100010, B00000000, // C 4, 8, B01111111, B01000001, B01000001, B00111110, B00000000, // D 4, 8, B01111111, B01001001, B01001001, B01000001, B00000000, // E 4, 8, B01111111, B00001001, B00001001, B00000001, B00000000, // F 4, 8, B00111110, B01000001, B01001001, B01111010, B00000000, // G 4, 8, B01111111, B00001000, B00001000, B01111111, B00000000, // H 3, 8, B01000001, B01111111, B01000001, B00000000, B00000000, // I 4, 8, B00110000, B01000000, B01000001, B00111111, B00000000, // J 4, 8, B01111111, B00001000, B00010100, B01100011, B00000000, // K 4, 8, B01111111, B01000000, B01000000, B01000000, B00000000, // L 5, 8, B01111111, B00000010, B00001100, B00000010, B01111111, // M 5, 8, B01111111, B00000100, B00001000, B00010000, B01111111, // N 4, 8, B00111110, B01000001, B01000001, B00111110, B00000000, // O 4, 8, B01111111, B00001001, B00001001, B00000110, B00000000, // P 4, 8, B00111110, B01000001, B01000001, B10111110, B00000000, // Q 4, 8, B01111111, B00001001, B00001001, B01110110, B00000000, // R 4, 8, B01000110, B01001001, B01001001, B00110010, B00000000, // S 5, 8, B00000001, B00000001, B01111111, B00000001, B00000001, // T 4, 8, B00111111, B01000000, B01000000, B00111111, B00000000, // U 5, 8, B00001111, B00110000, B01000000, B00110000, B00001111, // V 5, 8, B00111111, B01000000, B00111000, B01000000, B00111111, // W 5, 8, B01100011, B00010100, B00001000, B00010100, B01100011, // X 5, 8, B00000111, B00001000, B01110000, B00001000, B00000111, // Y 4, 8, B01100001, B01010001, B01001001, B01000111, B00000000, // Z 2, 8, B01111111, B01000001, B00000000, B00000000, B00000000, // [ 4, 8, B00000001, B00000110, B00011000, B01100000, B00000000, // \ backslash 2, 8, B01000001, B01111111, B00000000, B00000000, B00000000, // ] 3, 8, B00000010, B00000001, B00000010, B00000000, B00000000, // hat 4, 8, B01000000, B01000000, B01000000, B01000000, B00000000, // _ 2, 8, B00000001, B00000010, B00000000, B00000000, B00000000, // ` 4, 8, B00100000, B01010100, B01010100, B01111000, B00000000, // a 4, 8, B01111111, B01000100, B01000100, B00111000, B00000000, // b 4, 8, B00111000, B01000100, B01000100, B00101000, B00000000, // c 4, 8, B00111000, B01000100, B01000100, B01111111, B00000000, // d 4, 8, B00111000, B01010100, B01010100, B00011000, B00000000, // e 3, 8, B00000100, B01111110, B00000101, B00000000, B00000000, // f 4, 8, B10011000, B10100100, B10100100, B01111000, B00000000, // g 4, 8, B01111111, B00000100, B00000100, B01111000, B00000000, // h 3, 8, B01000100, B01111101, B01000000, B00000000, B00000000, // i 4, 8, B01000000, B10000000, B10000100, B01111101, B00000000, // j 4, 8, B01111111, B00010000, B00101000, B01000100, B00000000, // k 3, 8, B01000001, B01111111, B01000000, B00000000, B00000000, // l 5, 8, B01111100, B00000100, B01111100, B00000100, B01111000, // m 4, 8, B01111100, B00000100, B00000100, B01111000, B00000000, // n 4, 8, B00111000, B01000100, B01000100, B00111000, B00000000, // o 4, 8, B11111100, B00100100, B00100100, B00011000, B00000000, // p 4, 8, B00011000, B00100100, B00100100, B11111100, B00000000, // q 4, 8, B01111100, B00001000, B00000100, B00000100, B00000000, // r 4, 8, B01001000, B01010100, B01010100, B00100100, B00000000, // s 3, 8, B00000100, B00111111, B01000100, B00000000, B00000000, // t 4, 8, B00111100, B01000000, B01000000, B01111100, B00000000, // u 5, 8, B00011100, B00100000, B01000000, B00100000, B00011100, // v 5, 8, B00111100, B01000000, B00111100, B01000000, B00111100, // w 5, 8, B01000100, B00101000, B00010000, B00101000, B01000100, // x 4, 8, B10011100, B10100000, B10100000, B01111100, B00000000, // y 3, 8, B01100100, B01010100, B01001100, B00000000, B00000000, // z 3, 8, B00001000, B00110110, B01000001, B00000000, B00000000, // { 1, 8, B01111111, B00000000, B00000000, B00000000, B00000000, // | 3, 8, B01000001, B00110110, B00001000, B00000000, B00000000, // } 4, 8, B00001000, B00000100, B00001000, B00000100, B00000000, // ~ }; int data = 8; // DIN pin of MAX7219 module int load = 9; // CS pin of MAX7219 module int clock = 10; // CLK pin of MAX7219 module int maxInUse = 5; //how many MAX7219 are connected MaxMatrix m(data, load, clock, maxInUse); // define Library byte buffer[10]; char string1[] = " HIER DEN WUNSCHTEXT EINGEBEN "; // Scrolling Text void setup(){ m.init(); // module MAX7219 m.setIntensity(2); // LED Intensity 0-15 } void loop(){ byte c; delay(100); m.shiftLeft(false, true); printStringWithShift(string1, 100); // Send scrolling Text } // Put extracted character on Display void printCharWithShift(char c, int shift_speed){ if (c < 32) return; c -= 32; memcpy_P(buffer, CH + 7*c, 7); m.writeSprite(maxInUse*8, 0, buffer); m.setColumn(maxInUse*8 + buffer[0], 0); for (int i = 0; i < buffer[0]+1; i++) { delay(shift_speed); m.shiftLeft(false, false); } } // Extract characters from Scrolling text void printStringWithShift(char* s, int shift_speed){ while (*s != 0){ printCharWithShift(*s, shift_speed); s++; } }

Desweiteren benötigen wir die „MaxMatrix“ Bibliothek, diese findet ihr auch unter den Downloads als .ZIP Datei. Hierzu öffnen wir in der Arduino Software unter SKETCH – Bibliothek einbinden - .ZIP-Blibliothek einfügen – Speicherort öffnen - MaxMatrix.zip auswählen. Dann könnt ihr in dem folgenden Bereich euren Wunschtext eingeben:

Hier könnt ihr einstellen wieviele Matrix Module benutzt werden (in unserem Fall waren es 5:

In dem Abschnitt stellt ihr die Leuchtkraft/Helligkeit der LED´s ein (10 ist ein guter Mittelwert)
Und hier die Geschwindigkeit in der die Anzeige scrollen soll. ( von 1 Sehr langsam bis 100 Schnell)

Wenn das Sketch kopiert / geschrieben / hochgeladen wurde und die Bibliothek auch, einfach auf "hochladen" klicken.

Viel Spaß beim Ausprobieren!

Bitte geben Sie die Zeichenfolge in das nachfolgende Textfeld ein

Die mit einem * markierten Felder sind Pflichtfelder.

Passende Artikel
Verfügbar
UNO R3 Mega328P CH340G UNO R3 Mega328P CH340G
ab 5,36 € * 5,95 € *
Verfügbar
MB102 Prototyping Board MB102 Prototyping Board
ab 1,76 € * 1,95 € *
Verfügbar
Verfügbar
40 Pin Dupont Kabel Buchse-Stecker 5x 40 Pin Dupont Kabel Buchse-Stecker 20 cm
Inhalt 5 Stück (0,79 € * / 1 Stück)
3,95 € *