- Die P10 LED Display Matrix
- Erforderliche Komponenten für die Arduino-Anzeigetafel
- Schaltplan für Arduino Scoreboard
- Erklärung des Arduino Scoreboard-Codes
Eine elektronische Anzeigetafel ist eines der wichtigsten Geräte, die jeder während eines Sportturniers haben kann. Alte manuelle Anzeigetafeln mit herkömmlichen Methoden sind sehr zeitaufwändig und fehleranfällig. Daher ist eine computergesteuerte Anzeigetafel erforderlich, wenn die Anzeigeeinheit in Echtzeit gewechselt werden muss. Aus diesem Grund werden wir in diesem Projekt eine Bluetooth-gesteuerte drahtlose Anzeigetafel erstellen, in der wir die Punktzahl auf der Tafel einfach mithilfe einer Android-Anwendung ändern können. Das Gehirn dieses Projekts ist ein Arduino Nano, und für den Anzeigeteil werden wir eine P10-LED-Matrix verwenden, um die Punktzahl in Echtzeit aus der Ferne anzuzeigen.
Die P10 LED Display Matrix
Ein P10 LED Matrix Display ist der beste verfügbare Weg, um eine LED-Platine für den Außen- oder Innenbereich herzustellen. Dieses Panel verfügt über insgesamt 512 LEDs mit hoher Helligkeit, die auf einem Kunststoffgehäuse montiert sind, um optimale Anzeigeergebnisse zu erzielen. Es ist außerdem mit der Schutzart IP65 für Wasserdichtigkeit ausgestattet und eignet sich daher perfekt für den Außenbereich. Auf diese Weise können Sie ein großes LED-Schild erstellen, indem Sie eine beliebige Anzahl solcher Felder in einer beliebigen Zeilen- und Spaltenstruktur kombinieren.
Unser Modul hat eine Größe von 32 * 16, was bedeutet, dass sich in jeder Zeile 32 LEDs und in jeder Spalte 16 LEDs befinden. Auf jedem LED-Schild befinden sich also insgesamt 512 LEDs. Abgesehen davon hat es die Schutzart IP65 für Wasserdichtigkeit, kann mit einer einzigen 5-V-Stromquelle betrieben werden, hat einen sehr großen Betrachtungswinkel und eine Helligkeit von bis zu 4500 Nits. So können Sie es bei Tageslicht deutlich sehen. Zuvor haben wir dieses P10-Display auch mit Arduino verwendet, um eine einfache LED-Platine zu bauen.
Pin Beschreibung der P10 LED Matrix:
Diese LED-Anzeigetafel verwendet einen 10-poligen Mail-Header für die Ein- und Ausgangsverbindung. In diesem Abschnitt haben wir alle erforderlichen Pins dieses Moduls beschrieben. Außerdem sehen Sie in der Mitte des Moduls einen externen 5-V-Anschluss, über den die externe Stromversorgung an die Platine angeschlossen wird.
- Aktivieren: Dieser Pin dient zur Steuerung der Helligkeit des LED-Panels durch Angabe eines PWM-Impulses.
- A, B: Diese werden als Multiplex-Auswahlstifte bezeichnet. Sie verwenden einen digitalen Eingang, um beliebige Multiplexzeilen auszuwählen.
- Schaltuhr (CLK), Speicheruhr (SCLK) und Daten: Dies sind die normalen Schaltregister- Steuerstifte. Hier wird ein Schieberegister 74HC595 verwendet.
Verbindung des P10 LED-Anzeigemoduls mit Arduino:
Verbinden des P10 - Matrix - Anzeigemodul zu Arduino ist ein sehr einfaches Verfahren, in unserer Schaltung, konfigurierten wir Pin 9 des Arduino wie Aktivieren Pin, Pin 6 als Pin A, Pin 7 als Stift B, 13 - Pin ist der CLK, Pin 8 Der SCLK, Pin 11 ist die DATEN, und schließlich ist Pin GND der GND-Pin für das Modul und Arduino. Eine vollständige Tabelle unten erklärt die Pin-Konfiguration klar.
P10 LED-Modul |
Arduino UNO |
AKTIVIEREN |
9 |
EIN |
6 |
B. |
7 |
CLK |
13 |
SCLK |
8 |
DATEN |
11 |
GND |
GND |
Hinweis: Schließen Sie den Stromanschluss des P10-Moduls an eine externe 5-V-Stromquelle an, da 512 LEDs viel Strom verbrauchen. Es wird empfohlen, ein 5-V-Gleichstromnetzteil mit 3 Ampere an eine einzelne Einheit des P10-LED-Moduls anzuschließen. Wenn Sie planen, mehr Nummernmodule anzuschließen, erhöhen Sie Ihre SMPS-Kapazität entsprechend.
Erforderliche Komponenten für die Arduino-Anzeigetafel
Da dies ein sehr einfaches Projekt ist, sind die Komponentenanforderungen sehr allgemein gehalten. Eine Liste der erforderlichen Komponenten wird unten angezeigt. Sie sollten in der Lage sein, das gesamte aufgelistete Material in Ihrem örtlichen Hobbygeschäft zu finden.
- Arduino Nano
- P10 LED-Matrixanzeige
- Steckbrett
- 5 V, 3 AMP SMPS
- HC-05 Bluetooth-Modul
- Kabel anschließen
Schaltplan für Arduino Scoreboard
Das Schema für das Arduino LED Scoreboard ist unten dargestellt, da dieses Projekt sehr einfach ist. Ich habe das beliebte Software-Fritzing verwendet, um das Schema zu entwickeln.
Die Funktionsweise der Schaltung ist sehr einfach. Wir haben eine Android-Anwendung und ein Bluetooth-Modul. Um erfolgreich mit dem Bluetooth-Modul zu kommunizieren, müssen Sie das HC-05-Modul mit der Android-Anwendung koppeln. Sobald wir verbunden sind, können wir die Zeichenfolge senden, die wir anzeigen möchten. Sobald die Zeichenfolge gesendet wurde, verarbeitet Arduino die Zeichenfolge und wandelt sie in ein Signal um, das der interne 74HC595-Schaltwiderstand verstehen kann, nachdem die Daten an die Verschiebung gesendet wurden Widerstand, es ist bereit zur Anzeige.
Erklärung des Arduino Scoreboard-Codes
Nach dem erfolgreichen Abschluss des Hardware-Setups ist es nun Zeit für die Programmierung von Arduino Nano. Die schrittweise Beschreibung des Codes ist unten angegeben. Außerdem erhalten Sie den vollständigen Arduino Scoreboard-Code am Ende dieses Tutorials.
Zunächst müssen wir alle Bibliotheken einbeziehen. Wir haben die DMD.h- Bibliothek verwendet, um die P10- LED- Anzeige zu steuern. Sie können es über den angegebenen GitHub-Link herunterladen und einbinden. Danach müssen Sie die TimerOne.h- Bibliothek, die für die Interrupt-Programmierung verwendet wird, in unseren Code aufnehmen.
In dieser Bibliothek sind viele Fronten verfügbar. Für dieses Projekt haben wir " Arial_black_16 " verwendet.
#einschließen
Im nächsten Schritt wird die Anzahl der Zeilen und Spalten für unsere LED-Matrixplatine definiert. Wir haben in diesem Projekt nur ein Modul verwendet, sodass sowohl der ROW-Wert als auch der COLUMN-Wert als 1 definiert werden können.
#define ROW 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module (ROW, COLUMN);
Danach werden alle im Code verwendeten Variablen definiert. Eine Zeichenvariable wird verwendet, um serielle Daten von der Android App zu empfangen, zwei ganzzahlige Werte werden zum Speichern von Punktzahlen verwendet und ein Array wird definiert, in dem die endgültigen Daten gespeichert werden, die in der Matrix angezeigt werden sollen.
char input; int a = 0, b = 0; int flag = 0; char cstr1;
Es wird eine Funktion scan_module () definiert, die kontinuierlich über das SPI nach eingehenden Daten von Arduino Nano sucht. Wenn ja, wird ein Interrupt ausgelöst , um bestimmte Ereignisse auszuführen, die vom Benutzer im Programm definiert wurden.
void scan_module () { led_module.scanDisplayBySPI (); }}
In setup () wird der Timer initialisiert und der Interrupt an die zuvor beschriebene Funktion scan_module angehängt. Zu Beginn wurde der Bildschirm mit der Funktion Bildschirm löschen (true) gelöscht , was bedeutet, dass alle Pixel als AUS definiert sind.
Im Setup wurde die serielle Kommunikation auch mit der Funktion Serial.begin (9600) aktiviert, wobei 9600 die Baudrate für die Bluetooth-Kommunikation ist.
void setup () { Serial.begin (9600); Timer1.initialize (2000); Timer1.attachInterrupt (scan_module); led_module.clearScreen (true); }}
Hier wird die Verfügbarkeit serieller Daten überprüft, ob gültige Daten von Arduino stammen oder nicht. Die von der App empfangenen Daten werden in einer Variablen gespeichert.
if (Serial.available ()> 0) { flag = 0; input = Serial.read ();
Dann wurde der empfangene Wert mit der vordefinierten Variablen verglichen. Hier in der Android-Anwendung werden zwei Schaltflächen verwendet, um die Ergebnisse für beide Teams auszuwählen. Wenn Taste 1 gedrückt wird, wird das Zeichen 'a' an Arduino übertragen, und wenn Taste 2 gedrückt wird, wird das Zeichen 'b' an Arduino übertragen. Daher werden in diesem Abschnitt diese Daten abgeglichen, und wenn sie abgeglichen werden, werden die jeweiligen Bewertungswerte wie im Code gezeigt inkrementiert.
if (Eingabe == 'a' && Flag == 0) { Flag = 1; a ++; } else if (Eingabe == 'b' && Flag == 0) { Flag = 1; b ++; } else;
Anschließend werden die empfangenen Daten in ein Zeichenarray konvertiert, da die P10-Matrixfunktion nur den Zeichendatentyp anzeigen kann. Aus diesem Grund werden alle Variablen konvertiert und in ein Zeichenarray verkettet.
(String ("HOME:") + String (a) + String ("-") + String ("AWAY:") + String (b)). ToCharArray (cstr1, 50);
Um Informationen im Modul anzuzeigen, wird die Schriftart mit der Funktion selection () ausgewählt. Anschließend wird mit der Funktion drawMarquee () die gewünschten Informationen auf der P10- Karte angezeigt.
led_module.selectFont (FONT); led_module.drawMarquee (cstr1,50, (32 * ROW), 0);
Da wir eine Anzeige für Bildlaufnachrichten benötigen, habe ich einen Code geschrieben, um unsere gesamte Nachricht innerhalb eines bestimmten Zeitraums von rechts nach links zu verschieben.
langer Start = Millis (); langes Timming = Start; Boolesches Flag = false; while (! flag) { if ((timming + 30) <millis ()) { flag = led_module.stepMarquee (-1, 0); Timming = Millis (); } }
Dies markiert das Ende unseres Codierungsprozesses. Und jetzt kann es hochgeladen werden.
Smartphone Controlled Scoreboard - Testen
Nach dem Hochladen von Code auf Arduino ist es Zeit, das Projekt zu testen. Zuvor muss die Android-Anwendung auf unserem Smartphone installiert sein. Sie können die P10 Score Board-Anwendung über den angegebenen Link herunterladen . Öffnen Sie nach der Installation die App und der Startbildschirm sollte wie im folgenden Bild aussehen.
Klicken Sie auf die Schaltfläche SCAN, um das Bluetooth-Modul mit App hinzuzufügen. Daraufhin wird die Liste der gekoppelten Bluetooth-Geräte des Telefons angezeigt. Wenn Sie das HC-05-Bluetooth-Modul noch nicht gekoppelt haben, koppeln Sie das Modul mit der Bluetooth-Einstellung Ihres Telefons und führen Sie dann diesen Schritt aus. Der Bildschirm sieht wie folgt aus:
Klicken Sie dann in der Liste auf "HC-05", da dies der Name unseres hier verwendeten Bluetooth-Moduls ist. Nachdem Sie darauf geklickt haben, wird auf dem Bildschirm die Verbindung angezeigt. Dann können wir mit der Anzeigetafel fortfahren.
Klicken Sie auf eine beliebige Schaltfläche zwischen "Home" und "Away", wie in der App gezeigt. Wenn die Home-Taste ausgewählt ist, wird die Punktzahl von Home in der P10-Anzeige erhöht. Wenn die Schaltfläche Auswärts ausgewählt ist, wird die Punktzahl für Auswärts erhöht. Das folgende Bild zeigt, wie der endgültige Bildschirm aussieht.
Ich hoffe, Ihnen hat das Projekt gefallen und Sie haben etwas Neues gelernt. Wenn Sie weitere Fragen zum Projekt haben, können Sie dies unten kommentieren oder Ihre Frage in unserem Forum stellen.