Inhaltsverzeichnis:
- Schritt 1: Sammeln der Tools und Komponenten
- Schritt 2: Aufbau der Schaltung auf dem Steckbrett
- Schritt 3: Löten
- Schritt 4: Testen der fertigen ersten Hälfte der Schaltung
- Schritt 5: Aufbau der zweiten Hälfte
- Schritt 6: Das Ergebnis
Video: 48 X 8 scrollende LED-Matrix-Anzeige mit Arduino und Schieberegistern. - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
Hallo alle
Dies ist mein erstes Instructable und es geht darum, eine 48 x 8 programmierbare Scrolling-LED-Matrix mit einem Arduino Uno- und 74HC595-Schieberegister zu machen. Dies war mein erstes Projekt mit einem Arduino-Entwicklungsboard. Es war eine Herausforderung, die mir mein Lehrer gegeben hat. Zu dieser Zeit, als ich diese Herausforderung annahm, wusste ich nicht einmal, wie man eine LED mit einem Arduino blinkt. Ich denke also, dass selbst ein Anfänger dies mit ein wenig Geduld und Verständnis tun kann. Ich begann mit ein wenig Recherche über Schieberegister und Multiplexing in Arduino. Wenn Sie noch nicht mit Schieberegistern vertraut sind, empfehle ich Ihnen, die Grundlagen des Multiplexens und der Verkettung von Schieberegistern zu erlernen, bevor Sie mit den Matrizen beginnen. Das wird Ihnen sehr helfen, den Code und die Funktionsweise der scrollenden Anzeige zu verstehen.
Schritt 1: Sammeln der Tools und Komponenten
Komponenten
- 1. Arduino Uno R3 - 1
- 2. 74HC595 8-Bit-Seriell-zu-Parallel-Schieberegister. - 7
- 3. BC 548/2N4401 Transistoren - 8
- 4. 470 Ohm Widerstände - Anzahl der Spalten + 8
- 5. Pref-Board 6x4 Zoll - 4
- 6. Farbcodierte Drähte - Nach Bedarf
- 7. IC-Halter - 7
- 8. 5 mm oder 3 mm 8x8 Mono-Farb-LED-Matrix mit gemeinsamer Kathode - 6
- 9. Stift- und Buchsenleisten - Nach Bedarf.
Werkzeuge benötigt
- 1. Lötkit
- 2. Multimeter
- 3. Klebepistole
- 4. Entlötpumpe
- 5. 5V Netzteil
Schritt 2: Aufbau der Schaltung auf dem Steckbrett
Das erste, was Sie tun müssen, bevor Sie den Prototyp bauen, ist, ein Pin-Diagramm Ihrer 8x8-Matrix zu erhalten und einen Referenzpunkt zur Identifizierung der Pins in allen Ihren Matrizen zu markieren. Dies kann Ihnen beim Zusammenbau der Schaltung helfen.
Ich habe ein Pin-Diagramm des Matrixmoduls beigefügt, das ich hier verwendet habe. In meinem Modul waren die Reihen die negativen Pins. Dieses Pin-Diagramm bleibt für die meisten Module auf dem Markt gleich.
In der Schaltung wird gezeigt, dass ein einzelnes Schieberegister verwendet wird, um die 8 Zeilen zu steuern und um die Spalten zu steuern, verwenden wir ein Schieberegister für jeweils 8 Spalten.
Lassen Sie uns ein einfaches 8 x 8-Scrolling-Display auf dem Steckbrett erstellen.
Die Schaltung ist in zwei Teile aufgeteilt - Zeilensteuerung und Spaltensteuerung. Lassen Sie uns zuerst das Spaltensteuerelement erstellen.
Pin 4 von Arduino ist mit Pin 14 (SER) des Schieberegisters verbunden. (Dies ist der serielle Dateneingangspin des Schieberegisters. Die zum Einschalten der LEDs erforderlichen Logikpegel werden durch diesen Pin gespeist
Pin 3 von Arduino ist mit Pin 12 (RCLK) des Schieberegisters verbunden. (Nennen wir diesen Pin als Ausgangstakt-Pin. Die Daten im Speicher der Schieberegister werden an den Ausgang geschoben, wenn dieser Takt getriggert wird.)
Pin 2 von Arduino ist mit Pin 11 (SRCLK) des Schieberegisters verbunden. (Dies ist der Eingangstaktstift, der Daten in den Speicher verschiebt.)
VCC +5V wird über Pin 16 an das Schieberegister gegeben und dasselbe ist an Pin 10 angeschlossen. (Warum? Pin 10 ist der SRCLR-Pin, der beim Triggern die Daten im Schieberegister löscht. Es ist ein aktiver Low-Pin, um die Daten im Speicher des Schieberegisters zu erhalten, muss dieser Pin ständig mit +5V versorgt werden.)
Die Masse ist sowohl mit dem GND-Pin (Pin 8 des Schieberegisters) als auch mit dem OE-Pin (Pin 13 des Schieberegisters) verbunden. (Warum? Der Output-Enable-Pin muss getriggert werden, um Ausgänge gemäß dem Taktsignal zu geben. Es ist ein aktiver Low-Pin, genau wie der SRCLR-Pin, also muss er die ganze Zeit im Grundzustand gehalten werden, um die Ausgänge.)
Die Spaltenpins der Matrix sind wie im Schaltplan gezeigt mit einem 470 Ohm Widerstand zwischen Matrix und Schieberegister mit dem Schieberegister verbunden
Nun zur Reihensteuerschaltung.
Pin 7 von Arduino ist mit Pin 14 (SER) des Schieberegisters verbunden
Pin 5 von Arduino ist mit Pin 11 (SRCLK) des Schieberegisters verbunden
Pin 6 von Arduino ist mit Pin 12 (RCLK) des Schieberegisters verbunden
VCC +5V wird wie oben beschrieben an Pin 16 und Pin 10 gegeben
Masse ist mit Pin 8 und Pin 13 verbunden
Wie ich oben erwähnt habe, waren die Reihen in meinem Fall die negativen Pins. Es ist besser, die negativen Pins Ihrer Matrix als die Zeilen Ihres Displays zu betrachten. Die Masseverbindung muss mit BC548/2N4401-Transistoren auf diese negativen Pins geschaltet werden, die von den Ausgangslogikpegeln des Schieberegisters gesteuert werden. Je mehr negative Pins, desto mehr Transistoren brauchen wir
Geben Sie die Reihenverbindungen wie im Schaltplan gezeigt an
Wenn es Ihnen gelungen ist, den Prototyp der 8 x 8-Matrixanzeige zu erstellen, können Sie einfach den Teil der Schaltung für die Spaltensteuerung replizieren und die Matrix auf eine beliebige Anzahl von Spalten erweitern. Sie müssen nur einen 74HC595 für jeweils 8 Spalten (ein 8 x 8-Modul) hinzufügen und mit dem vorherigen verketten.
Daisy-Chaining der Schieberegister zum Hinzufügen weiterer Spalten
Daisy Chain in der Elektrotechnik ist ein Verdrahtungsschema, bei dem mehrere Geräte hintereinander verdrahtet werden.
Der Mechanismus ist einfach: Die SRCLK (Eingangstakt. Pin 11) und die RCLK (Ausgangstakt. Pin 12) Pins werden von allen verketteten Schieberegistern gemeinsam genutzt, während jeder QH PIN (Pin 9) des vorherigen Schieberegisters im Kette wird über die SER PIN (Pin 14) als serieller Eingang für das folgende Schieberegister verwendet.
Einfach ausgedrückt, können die Schieberegister durch Daisy-Chaining wie ein einzelnes Schieberegister mit einem größeren Speicher gesteuert werden. Wenn Sie beispielsweise zwei 8-Bit-Schieberegister in Reihe schalten, funktionieren sie wie ein einzelnes 16-Bit-Schieberegister.
Der Code
Im Code füttern wir die Spalten mit den jeweiligen Logikpegeln entsprechend der Eingabe, während wir entlang der Zeilen scannen. Die Zeichen von A bis Z sind im Code als logische Ebenen in einem Byte-Array definiert. Jedes Zeichen ist 5 Pixel breit und 7 Pixel hoch. Ich habe eine ausführlichere Erklärung zur Funktionsweise des Codes als Kommentare im Code selbst gegeben.
Der Arduino-Code ist hier angehängt.
Schritt 3: Löten
Um die gelötete Schaltung verständlicher zu machen, habe ich sie so groß wie möglich gemacht und separate Platinen für die Zeilen- und Spaltencontroller gegeben und diese über Header und Drähte miteinander verbunden. Sie können es viel kleiner machen, indem Sie die Komponenten näher aneinander löten, oder wenn Sie gut im PCB-Design sind, können Sie auch eine kleinere kundenspezifische PCB herstellen.
Achten Sie darauf, an jedem Pin, der zur Matrix führt, einen 470-Ohm-Widerstand anzubringen. Verwenden Sie immer Header, um die LED-Matrizen mit der Platine zu verbinden. Es ist besser, sie nicht direkt auf die Platine zu löten, da sie bei längerer Hitzeeinwirkung dauerhaft beschädigt werden können.
Da ich separate Boards für die Zeilen- und Spaltensteuerelemente gemacht habe, habe ich Drähte von einem Board zum anderen verlängert, um die Spalten zu verbinden. Hier dient die obere Tafel zur Steuerung der Zeilen und die untere Tafel zur Steuerung der Spalten.
es braucht nur einen einzigen 74HC595, um alle 8 Reihen anzusteuern. Aber basierend auf der Anzahl der Spalten sollten mehr Schieberegister hinzugefügt werden, es gibt keine theoretische Begrenzung für die Anzahl der Spalten, die Sie dieser Matrix hinzufügen können. Wie groß kannst du es machen? Sag Bescheid, wenn du da bist!;)
Schritt 4: Testen der fertigen ersten Hälfte der Schaltung
Testen Sie es immer auf halbem Weg, um mögliche Fehler wie lose Verbindungen, falsche Pinbelegung usw. zu finden: Viele Leute, die mich um Hilfe bei der Suche nach dem Fehler in ihrer Matrix baten, hatten ihren Fehler mit der Reihen-Spalten-Pin-Belegung des Matrixmoduls gemacht. Überprüfen Sie es vor dem Löten zweimal und verwenden Sie farbcodierte Drähte, um die Stifte leicht zu unterscheiden.
Schritt 5: Aufbau der zweiten Hälfte
Erweitern Sie den gleichen Säulensteuerkreis. Die Reihen sind in Reihe mit der vorherigen verbunden.
Die Pins SRCLK und RCLK werden parallel genommen und der QH (Serial Data Out. Pin 9) des letzten Schieberegisters der fertigen Schaltung wird mit dem SER (Serial Data In. Pin 14) des nächsten Schieberegisters verbunden. Die VCC- und GND-Leistung werden auch von allen ICs geteilt.
Schritt 6: Das Ergebnis
Nachdem Sie mit dem Löten fertig sind, besteht der nächste Schritt darin, ein Gehäuse für Ihr Display herzustellen. Es ist immer besser, eine benutzerdefinierte Hülle mit Fusion 360 oder einem anderen 3D-Designtool zu entwerfen und die Hülle in 3D zu drucken. Da ich zu dieser Zeit noch keinen Zugang zum 3D-Druck hatte, habe ich mit Hilfe eines Freundes, der gut in der Holzbearbeitung ist, eine Holzkiste hergestellt.
Hoffe, Sie haben es genossen, dieses instructable zu lesen. Posten Sie die Bilder Ihrer Version dieses Projekts in den Kommentaren unten. Wenn Sie Fragen haben, können Sie sie gerne hier stellen oder eine E-Mail an [email protected] senden. Ich helfe Ihnen gerne weiter.
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Scrollende Textanzeige (A bis Z Guide): 25 Schritte (mit Bildern)
Scrolling Text Display (A bis Z Guide): In diesem anweisbaren / Video werde ich Sie mit Schritt-für-Schritt-Anleitungen führen, wie man mit Arduino eine scrollende Textanzeige macht. Ich werde nicht erklären, wie man Code für Arduino erstellt, ich zeige Ihnen, wie Sie vorhandenen Code verwenden. Was und wo Sie mit
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: 7 Schritte (mit Bildern)
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: Hallo, und willkommen zu meinem ersten instructable! :) In diesem instructables möchte ich eine fantastische Bibliothek für die Schnittstelle der Tastatur mit Arduino teilen - 'Password Library' einschließlich 'Keypad Library'. Diese Bibliothek enthält die besten Funktionen, die wir wi
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Erfahren Sie, wie Sie mit PROCESSING eine Echtzeitschnittstelle in ARDUINO erstellen !!!!): 5 Schritte (mit Bildern)
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Learn How to Make a Real Time Interface in ARDUINO Using PROCESSING !!!!): Ein SCARA-Roboter ist eine sehr beliebte Maschine in der Industriewelt. Der Name steht sowohl für Selective Compliant Assembly Robot Arm als auch für Selective Compliant Articulated Robot Arm. Es ist im Grunde ein Roboter mit drei Freiheitsgraden, da er die ersten beiden Displ
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: 7 Schritte (mit Bildern)
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: Update: 7. April 2019 - Rev 3 von lp_BLE_TempHumidity, fügt Datums- / Zeitdiagramme mit pfodApp V3.0.362+ hinzu und automatische Drosselung beim Senden von DatenUpdate: 24. März 2019 – Rev 2 von lp_BLE_TempHumidity, fügt weitere Plotoptionen hinzu und i2c_ClearBus, fügt GT832E