Inhaltsverzeichnis:
- Schritt 1:
- Schritt 2:
- Schritt 3: Erste Schritte - Hardware
- Schritt 4: Erste Schritte - Software
- Schritt 5: Die zweifarbigen LEDs
- Schritt 6: Die 7-Segment-Anzeige
- Schritt 7:
- Schritt 8:
- Schritt 9:
- Schritt 10: Die Tasten
Video: Arduino und TM1638 LED-Anzeigemodule - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
Wenn Sie schnell und einfach Benutzereingaben und -ausgaben zu einem Projekt hinzufügen möchten, sind diese Anzeigemodule interessant und machen Spaß.
Sie enthalten acht rote 7-Segment-LED-Ziffern, acht rote/grüne LEDs sowie acht Tasten für die Benutzereingabe. Die Einheiten können auch in Reihe geschaltet werden, sodass bis zu fünf gleichzeitig möglich sind, und jedem Modul liegt ein kurzes Kabel sowie einige kurze Distanzstücke und Schrauben bei, wie in der Abbildung gezeigt.
Schritt 1:
Die Abstandshalter sind gerade lang genug, um die Platine über eine Oberfläche zu heben, aber um die Platinen an einer sinnvollen Stelle zu montieren, benötigen Sie längere. Möglicherweise möchten Sie auch die IDC-Sockel entfernen, wenn Sie das Modul nahe an der Oberfläche eines Panels montieren möchten. Dies wäre eine einfache Entlötaufgabe, da es sich um Durchgangslochbuchsen handelt.
Schritt 2:
Das Board wird von einem TM1638 IC gesteuert.
Dies ist ein LED- und Schnittstellentreiber-IC von „Titan Micro Electronics“. Sie können diese ICs auch bei PMD Way kaufen. Sie können auch das Datenblatt herunterladen, um weitere Informationen zu erhalten.
Schritt 3: Erste Schritte - Hardware
Hardware – Der Anschluss an ein Arduino-kompatibles Board (oder eine andere MCU) ist recht einfach. Die Pinbelegungen sind auf der Rückseite der Platine abgebildet und entsprechen der Befestigung am Flachbandkabel. Wenn Sie das Ende des Kabels als solches betrachten.
Das obere rechte Loch ist Stift 1, wobei das obere linke Stift zwei ist, das untere rechte Stift neun und der untere linke Stift zehn. Daher sind die Pinbelegungen:
- Vcc (5V)
- Masse
- CLK
- DIO
- STB1
- STB2
- STB3
- STB4
- STB5
- nicht verbunden.
Für den Arduino-Einsatz sind die Pins 1 bis 4 das Minimum, das erforderlich ist, um ein Modul zu verwenden. Jedes zusätzliche Modul erfordert einen weiteren digitalen Pin, der mit STB2, STB3 usw. verbunden ist. Mehr dazu später. Bitte beachten Sie, dass jedes Modul, das bei eingeschalteter LED auf volle Helligkeit eingestellt ist, 127 mA verbraucht. Daher ist es ratsam, eine externe Stromversorgung mit mehr als einem Modul und anderen Verbindungen mit Arduino-Boards zu verwenden.
Schritt 4: Erste Schritte - Software
Software – Laden Sie die T1638-Bibliothek von hier herunter und installieren Sie sie. Vielen Dank und ein großes Lob an rjbatista bei gmail dot com für die Bibliothek. Das Initialisieren von Modulen in der Skizze ist einfach. Binden Sie die Bibliothek ein mit:
#enthalten
Verwenden Sie dann für jedes Modul eine der folgenden Optionen:
TM1638-Modul (x, y, z);
x ist der Arduino-Digitalstift, der mit dem Modulkabelstift 4 verbunden ist, y ist der Arduino-Digitalstift, der mit dem Modulkabelstift 3 verbunden ist, und z ist der Strobe-Pin. Wenn Sie also ein Modul mit Daten, Clock und Strobe an den Pins 8, 7 und 6 angeschlossen hätten, würden Sie Folgendes verwenden:
TM1638-Modul (8, 7, 6);
Wenn Sie zwei Module hätten, wobei der Strobe von Modul 1 mit Arduino Digital 6 verbunden ist und der Strobe von Modul 2 mit Digital 5 verbunden ist, würden Sie Folgendes verwenden:
TM1638-Modul (8, 7, 6); TM1638-Modul (8, 7, 5);
und so weiter für weitere Module. Um nun die Anzeige zu steuern…
Schritt 5: Die zweifarbigen LEDs
Die Steuerung der roten/grünen LEDs ist einfach. Als Referenz sind sie von links nach rechts von null bis sieben nummeriert. Um eine einzelne LED ein- oder auszuschalten, verwenden Sie Folgendes:
module.setLED(TM1638_COLOR_RED, x); // LED-Nummer x auf redmodule.setLED (TM1638_COLOR_GREEN, x) setzen; // LED-Nummer x auf Grün setzen module.setLED (TM1638_COLOR_RED + TM1638_COLOR_GREEN, 0); // LED-Nummer x auf Rot und Grün setzen
Die Verwendung der obigen Methode mag einfach sein, sie ist jedoch etwas ineffizient. Eine bessere Möglichkeit besteht darin, alle LEDs in einer Anweisung zu adressieren. Dazu senden wir zwei Byte Daten in hexadezimaler Form an das Display. Das MSB (höchstwertiges Byte) besteht aus acht Bits, die jeweils eine grüne LED darstellen, die an (1) oder aus (0) ist. Das LSB (Least Significant Byte) repräsentiert die roten LEDs.
Eine einfache Möglichkeit, den hexadezimalen Wert zur Steuerung der LEDs zu bestimmen, ist einfach. Stellen Sie sich vor, Sie haben eine Reihe von LEDs – die ersten acht sind grün und die zweiten acht sind rot. Stellen Sie jede Ziffer auf 1 für ein und 0 für aus. Konvertieren Sie die beiden Binärzahlen in Hexadezimalzahlen und verwenden Sie diese Funktion:
module.setLEDs(0xgrünrot);
Wobei Grün die Hexadezimalzahl für die grünen LEDs und Rot die Hexadezimalzahl für die roten LEDs ist. Um beispielsweise die ersten drei LEDs rot und die letzten drei grün einzuschalten, lautet die binäre Darstellung:
00000111 11100000 was in hexadezimal E007 ist.
Also würden wir verwenden:
module.setLEDs(0xE007);
was das Bild wie oben gezeigt erzeugt.
Schritt 6: Die 7-Segment-Anzeige
Um die numerische Anzeige (aber nicht die LEDs unten) zu löschen, verwenden Sie einfach:
module.clearDisplay();
oder um jedes Segment UND alle LEDs einzuschalten, verwenden Sie Folgendes:
module.setupDisplay (wahr, 7); // wobei 7 die Intensität ist (von 0 bis 7)
Um Dezimalzahlen anzuzeigen, verwenden Sie die Funktion:
module.setDisplayToDecNumber(a, b, false);
wobei a die ganze Zahl ist, b die Position für den Dezimalpunkt (0 für keine, 1 für Ziffer 8, 2, für Ziffer 7, 4 für Ziffer 6, 8 für Ziffer 4 usw.) und der letzte Parameter (wahr/ false) schaltet führende Nullen ein oder aus. Die folgende Skizze demonstriert die Verwendung dieser Funktion:
#include // Definiere ein Modul auf Daten-Pin 8, Takt-Pin 9 und Strobe-Pin 7 TM1638-Modul (8, 9, 7); unsigned long a=1; Void setup () {} Void Schleife () { for (a=10000; a<11000; a++) { module.setDisplayToDecNumber (a, 4, false); Verzögerung(1); } for (a=10000; a<11000; a++) { module.setDisplayToDecNumber(a, 0, true); Verzögerung(1); } }
… mit den im Video gezeigten Ergebnissen.
Schritt 7:
Eine der interessantesten Funktionen ist die Möglichkeit, Text über ein oder mehrere Displays zu scrollen. Dazu bedarf es nicht wirklich einer Erklärung wie die mitgelieferte Demonstrationsskizze:
tm_1638_scrolling_modules_example.pde
die in der TM1638-Bibliothek enthalten sind, ist leicht zu befolgen. Fügen Sie einfach Ihren Text in den const char string ein, stellen Sie sicher, dass die Module gemäß der Moduldefinition am Anfang des Sketches verdrahtet sind und Sie sind fertig. Um die verfügbaren Zeichen anzuzeigen, besuchen Sie die Funktionsseite. Beachten Sie, dass die Anzeige nur aus sieben Segmenten besteht, sodass einige Zeichen möglicherweise nicht perfekt aussehen, aber im Kontext erhalten Sie eine gute Idee – sehen Sie sich das Video in diesem Schritt an.
Schritt 8:
Schließlich können Sie auch jedes Segment jeder Ziffer einzeln ansprechen. Betrachten Sie den Inhalt dieses Arrays:
Bytewerte = { 1, 2, 4, 8, 16, 32, 64, 128 };
jedes Element repräsentiert die Ziffern 1 bis 8. Der Wert jedes Elements bestimmt, welches Segment der Ziffer eingeschaltet wird. Für die Segmente a~f, dp sind die Werte 1, 2, 4, 6, 16, 32, 64, 128. Die Ergebnisse der Verwendung des obigen Arrays in der folgenden Funktion:
module.setDisplay(Werte);
wird pro Bild sein.
Schritt 9:
Natürlich können Sie Werte für jede Ziffer kombinieren, um Ihre eigenen Zeichen, Symbole usw. zu erstellen. Verwenden Sie beispielsweise die folgenden Werte:
Bytewerte = { 99, 99, 99, 99, 99, 99, 99, 99 };
Wir haben in diesem Schritt gemäß dem Bild erstellt.
Schritt 10: Die Tasten
Die Werte der Schaltflächen werden als Byte-Wert von der Funktion zurückgegeben:
module.getButtons();
Da es acht Schaltflächen gibt, repräsentiert jede ein Bit einer Binärzahl, die als Byte zurückgegeben wird. Die Schaltfläche auf der linken Seite gibt dezimal eins zurück und die rechte gibt 128 zurück. Sie kann auch gleichzeitiges Drücken zurückgeben, so dass das Drücken der Tasten eins und acht 129 zurückgibt. Betrachten Sie die folgende Skizze, die die Werte der Tastendrücke in dezimaler Form zurückgibt und dann anzeigt der Wert:
#include // Definiere ein Modul auf Daten-Pin 8, Takt-Pin 9 und Strobe-Pin 7 TM1638-Modul (8, 9, 7); Byte-Schaltflächen; Void setup () {} Void Schleife () { buttons = module.getButtons (); module.setDisplayToDecNumber (Schaltflächen, 0, false); }
und die Ergebnisse im Video.
Diese Anzeigetafeln sind nützlich und finden hoffentlich ein Zuhause in Ihren Projekten. Dieser Beitrag von pmdway.com – bietet alles für Macher und Elektronik-Enthusiasten, weltweit versandkostenfrei.
Empfohlen:
Video-Tutorials De Tecnologías Creativas 04: ¿Para Qué Servirá Un Potenciómetro Y Un Led?: 4 Schritte
Video-Tutorials De Tecnologías Creativas 04: ¿Para Qué Servirá Un Potenciómetro Y Un Led?: En este Tutorial vamos a prender como modificar la intensid de la luz de un led con einer potenciómetro sobre una placa Arduino Uno. Este ejercicio lo realizaremos mediante simulación y para ello utilizaremos Tinkercad Circuits (utilizando una cuen
Arduino Ampel-Controller mit RBG Led - 4-Wege: 3 Schritte
Arduino Ampel-Controller mit RBG Led | 4-Wege: In diesem Beitrag erfahren Sie, wie Sie einen Arduino-Ampelcontroller herstellen. Mit diesem Ampelsteuergerät wird der Verkehrsfluss gesteuert. Diese können in stark frequentierten Bereichen angewendet werden, um Verkehrsblockaden oder Unfälle zu vermeiden
Ein riesiges leuchtendes LED-Schild herstellen – wikiHow
Wie man ein riesiges leuchtendes LED-Schild herstellt: In diesem Projekt zeige ich Ihnen, wie Sie ein riesiges Schild mit einem benutzerdefinierten Schriftzug bauen, der mit Hilfe von RGB-LEDs aufleuchten kann. Das Schild kann aber auch als primäre Lichtquelle in Ihrem Raum verwendet werden, indem warmweiße LED-Streifen verwendet werden. Lass uns st
Arduino-Programmierung über das Handy -- Arduinodroid -- Arduino-Ide für Android -- Blinzeln: 4 Schritte
Arduino-Programmierung über das Handy || Arduinodroid || Arduino-Ide für Android || Blink: Bitte abonnieren Sie meinen Youtube-Kanal für weitere Videos…… Arduino ist ein Board, das direkt über USB programmiert werden kann. Es ist sehr einfach und günstig für College- und Schulprojekte oder sogar für Produktprototypen. Viele Produkte bauen zunächst darauf für i
Arduino LED-Würfellichter 2: 4 Schritte
Arduino LED Dice Lights 2: Dies ist ein Projekt mit einem Arduino-Kit, um eine auffällige Würfel-Lichtshow zu erstellen! Durch Drücken der Taste blinken die Lichter nacheinander, dann bleibt eine zufällige Anzahl von Lichtern erleuchtet. Dies ist ein ziemlich einfaches Starterprojekt für diejenigen, die gerade erst