Inhaltsverzeichnis:

8x8-Matrix-Display mit BT - Gunook
8x8-Matrix-Display mit BT - Gunook

Video: 8x8-Matrix-Display mit BT - Gunook

Video: 8x8-Matrix-Display mit BT - Gunook
Video: Arduino LED 8X8 Matrix Display MAX7219 2024, Kann
Anonim

Ich habe vor ein paar Monaten eine 4 Panel 8x8 Matrix von Ebay (China) gekauft.

Ich war ein bisschen enttäuscht, als ich feststellte, dass es von Seite zu Seite fest verdrahtet war und nicht von oben nach unten, für die die meisten Beispiele im Netz geschrieben wurden! Siehe Schritt 2.

Ich schätze, ich hätte den Code ändern können (nicht sicher wie), aber meine übliche Faulheit sagte mir, dass ich nach etwas bereits Geschriebenem suchen sollte. Ich bin auf ein Beispiel gestoßen und bin dabei geblieben!

Ich spielte mit festen Nachrichten, entschied mich dann aber, die Nachricht über Bluetooth zu programmieren.

Dann wollte ich Nachrichten speichern und abrufen!

Es gab viel Versuch und Irrtum, aber nach ein paar Stunden Codierung habe ich es zum Laufen gebracht.

Ich versuche immer noch, eine praktische Verwendung dafür zu finden !!:-)

Schritt 1: Das Display

Der Bildschirm
Der Bildschirm
Der Bildschirm
Der Bildschirm

Wie bereits erwähnt, ist das Display von links nach rechts und nicht von oben nach unten verdrahtet.

Ich bin sicher, dass anderer Code geändert worden sein könnte, um dies zu kompensieren!

Ich erinnere mich nicht, woher ich den Arbeitscode heruntergeladen habe, aber eine Suche nach "cosmicvoid matrix or LedControlMS.h" kann helfen. Für dieses Projekt wird die LedControlMS.h-Bibliothek benötigt.

Der einzige Teil dieses Codes, den ich geändert habe, war die Anzahl der Anzeigen, da sie anscheinend auf 5 eingestellt war, ich habe sie gerade auf 4 geändert.

Ich habe ein weiteres x4-Display bestellt, damit ich sehen kann, wie es mit 8 statt mit 4 Matrizen funktioniert!

Schritt 2: Das Bluetooth-Bit

Das Bluetooth-Bit
Das Bluetooth-Bit

Jedes Mal, wenn ich mit einem Bluetooth-Gerät spiele, beziehe ich mich immer auf dieses ausgezeichnete instructable!

www.instructables.com/id/Modify-The-HC-05-B…

Dieses Instructable erklärt Ihnen alles, was Sie wissen müssen, um das HC-05 einzurichten und mit einem Mobiltelefon oder Tablet zu koppeln.

Ich habe ohne Probleme mit einem Samsung Galaxy 6 Edge und einem Tab A gepaart.

Ich habe die Kommunikationsgeschwindigkeit auf 57600 geändert.

Schritt 3: BT-Kommunikation und das Programm

BT-Kommunikation und das Programm
BT-Kommunikation und das Programm

Um mit dem HC-05 zu kommunizieren, habe ich eine kostenlose App aus dem Play Store heruntergeladen, dort sind mehrere verfügbar, - das von mir gewählte heißt Bluetooth Terminal HC-05 - es ist eine ausgezeichnete App!

Nachdem Sie den HC-05 mit einem Telefon oder Tablet gekoppelt haben, geschieht Folgendes.

Wenn das Arduino zurückgesetzt wird, liest das Programm alle im EEPROM gespeicherten Nachrichten und zeigt sie auf dem Telefon / Tablet an - siehe Bild.

Die angezeigten Informationen sind der Speicherort des Speichers (0-9), die Länge der Nachricht und die Nachricht selbst an jedem Ort.

Ich habe den Code so eingerichtet, dass er bis zu 90 Zeichen für Nachricht an Adresse 5 für Nachricht 0, 105 für Nachricht 1 …….905 für Nachricht 9 speichert.

Adresse 0, 100 …. 900 enthalten die Nachrichtenlänge.

Die zuletzt gespeicherte / abgerufene Nachricht wird angezeigt.

Wenn Sie etwas über BT an den Arduino senden, wird die aktuelle Nachricht ersetzt.

Um die angezeigte Nachricht zu speichern (verwenden Sie "~" Tilde), senden Sie ~0, um an Speicherort 0 zu speichern, ~5, um an Speicherort 5 zu speichern usw.

Um eine gespeicherte Nachricht abzurufen und anzuzeigen, verwenden Sie "^" (Karat), zB ^3 lädt die Nachricht und zeigt sie an Speicherort 3 an.

Wenn eine Nachricht gespeichert oder abgerufen wird, wird der aktuelle Speicherplatz unter der EEPROM-Adresse 1023 gespeichert - diese wird beim Einschalten verwendet, um die zuletzt angezeigte Nachricht anzuzeigen.

Schritt 4: Der Code & die Macht

Wie immer ist mein Code ein aufgeräumtes Jugendzimmer, aber ich habe viele Kommentare drin!

Es kann etwas überflüssigen Code geben, da ein wenig Versuch und Irrtum erforderlich war.

Die Anzeigeroutine zeigt alles an, was sich im Array msg befindet. Die Schriftart ist nicht vollständig, daher führt die Anzeige einiger Zeichen zu unvorhersehbaren Ergebnissen!

Wenn mir jemand da draußen sagen könnte, wie ich das $-Zeichen für das £-Zeichen ändern oder besser noch hinzufügen kann, dann wäre ich sehr dankbar

Es kann notwendig sein, eine Nachricht in Position 0 fest zu codieren, nur um einen Startpunkt zu geben, dies kann überschrieben werden, wenn das Programm läuft!

z. B

EEPROM.write(0, '5'); // Länge der Nachricht, die an Position 0 gespeichert ist

EEPROM.write(5, 'L'); //Nachricht gespeichert am Speicherort 05EEPROM.write(6, 'o');

EEPROM.write(7, 'c');

EEPROM.write(8, ' ');

EEPROM.write(9, '0');

Wenn keine Nachrichten gespeichert sind, ist die Anzeige beim Einschalten unvorhersehbar und das Telefon / Tablet zeigt seltsame, aber konsistente Informationen an, da, wie bei den meisten EEPROMs, die Standarddaten an jedem Standort FF Hex (225 Dezimal) sind.

Dieser Prototyp wurde mit einem Arduino Uno gebaut, aber ich werde einen Pro Mini für das fertige Projekt verwenden.

Ich beabsichtige, 3 x 1,5-V-Batterien zu verwenden. Um Energie zu sparen, schalte ich den HC-05 nach Auswahl einer Nachricht aus. Das bloße Trennen/Wiederanschließen der Stromversorgung reicht nicht aus, da dadurch verstümmelte Informationen an das Display gesendet werden.

Es scheint notwendig zu sein, die TR- und RX-Pins zu isolieren, bevor Sie die Stromversorgung anschließen / trennen!

Schritt 5: Update 2020 - 2 x 4 (8x8) Matrix-Displays

Nach einem besseren Verständnis des MAX7219 ist es mir gelungen 2 Displays miteinander zu verknüpfen!

Es gab nur ein paar Codezeilen, die geändert werden mussten - siehe angehängte Ino.

Empfohlen: