Um solche Probleme zu erfüllen, können Verschiebungsregister verwendet werden. Wir haben besprochen, wie wir das 7-Segment mit Arduino mithilfe des Schaltregisters verkürzen.
7 Segmente mit Arduino mit dem Schaltregister
Wie erläutert, sind die früheren Verschiebungsregister nützlich, wenn die Anzahl der Geräte, die mit dem Mikrocontroller miteinander verbunden sind, groß ist. Um das 7-Segment mit Arduino mit den Schichtregistern zu verkürzen, benötigen Sie die folgenden Komponenten:
Um das Schaltregister zu verwenden, um das 7-Segment mit Arduino Uno zu verbinden.
Hardware-Montage für die Verwendung des Schaltregisters mit Arduino für 7-Segment-Display
Bevor wir die Schaltung auf der eigentlichen Hardware implementieren, haben wir die Hardware -Montage erstellt, die dazu beiträgt, Verbindungen der Komponenten auf der tatsächlichen Hardware herzustellen. Unter dem angegebenen Bild zeigt die Hardware-Montage für die Verwendung des Schaltregisters mit Arduino, um das 7-Segment mit ihm zu verkürzen.
Die Verbindungen für die 7 Segmente mit dem Schaltregister sind recht einfach, wenn Sie die PIN -Nummern des Schaltregisters befolgen. Wir haben in den folgenden Punkten Verbindungen der Schaltung erklärt:
Arduino-Programm zur Verwendung des Shift-Registers zur Schnittstelle 7-Segment mit Arduino Uno
Um das 7-Segment mit Arduino mit dem Schaltregister zu verkürzen, müssen wir den unten angegebenen Mikrocontroller programmieren:
const int data = 4; // Arduino -Pin für Daten Pin des Schaltregisters
const int latch = 5; // Arduino -Pin für Latch Pin des Schaltregisters
const int clock = 6; // Arduino -Pin für den Uhrenstift des Schaltregisters
const char Common = 'C'; // 7-Segment mit gemeinsamer Kathode
void setup ()
// Zuordnen der Arbeitsmodi den Schaltregisternstiften zuweisen
PinMode (Daten, Ausgabe);
PinMode (Latch, Ausgabe);
PinMode (Uhr, Ausgabe);
void Loop ()
für (int i = 0; i <= 9; i++) // for loop to generate number from 0 to 9
Byte -Bits = Binär (i); / * Erkennen Sie die für die jeweilige Zahl angegebene Binärzahlen aus den unten angegebenen Fällen */
Display (Bits); // Anzeigen der Zahlen auf 7-Segment
Verzögerung (500);
void Display (Byte achtbit)
if (Common == 'C') // Wenn die Konfiguration eine gemeinsame Kathode ist
achtbits = achtbits ^ B11111111; // dann die Bits von 0 auf 1 ändern
DigitalWrite (Latch, niedrig); // Schaltregister für Daten vorbereiten
Shiftout (Daten, Uhr, lsbfirst, achtbits); /* Senden Sie die Daten an 7Segmnet, beginnend mit dem am wenigsten signifikanten Bit*/
DigitalWrite (Latch, hoch); / * Anzeigen der Daten im 7 -Segment */
/ *Fälle zur Erkennung der Binärzahlen der Zahlen von 0 bis 9 *////
Byte binär (int nummer)
Switch (Nummer)
Fall 0:
Rückgabe b11111100; // Wenn 0 erzeugt wird, dann binär für Null binär
brechen;
Fall 1:
Return B01100000; // Wenn 1 erzeugt wird, geben Sie dann eine Binärin für einen
brechen;
Fall 2:
Return B11011010; // Wenn 2 erzeugt wird und dann binär für zwei Binärzusagen
brechen;
Fall 3:
Return B11110010; // Wenn 3 erzeugt wird und dann binäre für drei Binärdienste angibt
brechen;
Fall 4:
Return B01100110; // Wenn 4 erzeugt wird und dann binäre für vier Binärdienste angibt
brechen;
Fall 5:
Return B10110110; // Wenn 5 erzeugt wird und dann binäre für fünf Binärdienste angibt
brechen;
Fall 6:
Rückgabe B10111110; // Wenn 6 erzeugt wird und dann binäre für sechs Binärdienste geben
brechen;
Fall 7:
Return B11100000; // Wenn 7 erzeugt wird, geben Sie dann binäre für sieben Binärzahlen
brechen;
Fall 8:
Return B11111110; // Wenn 8 erzeugt wird und dann binäre für acht Binärdienste angibt
brechen;
Fall 9:
Rückgabe B11110110; // Wenn 9 erzeugt wird, dann geben Sie Binärdauer für neun
Durch Steuerung des Latch-Pin des Schaltregisters können wir die Daten von Arduino an das 7-Segment senden. Wenn sich der Latch -Pin also in niedrigem Zustand befindet, empfängt sie die Daten und sendet dann die Daten weiter, wenn der Pin in hohem Zustand geht.
Zur Erzeugung der Zahlen haben wir die für die Schleife verwendet und bei jeder Iteration der Schleife wird der Latch -Pin -Status mithilfe der Funktion DigitalWrite () geändert, und für jede Zahl haben wir die Binärdauer dafür gegeben, die die LED der 7 einschalten wird -segmente entsprechend.
Hardwaredemonstration für die Verwendung des Schaltregisters mit Arduino, um die 7-Segment zu übermitteln
Wir haben die Schaltung auf dem Störbrett mit einem Schaltregister mit Arduino Uno gemäß der zuvor beschriebenen Hardware-Montage in die Schnittstelle 7-Segmente implementiert. Um zu demonstrieren, haben wir das animierte GIF unten gegeben:
Abschluss
Die Schichtregister sind in den Projekten, bei denen eine große Anzahl von Geräten mit Arduino verwendet werden, von großer Bedeutung. Wir haben das 7-Segment-Display mit Arduino mit einem Schaltregister miteinander verbunden, das die Verwendung von Arduino-Stiften von 6 auf 3 verringert. Wir haben auch den Schaltplan, die Hardware -Montage und den Arduino -Code bereitgestellt, um das Konzept der Verwendung des Schaltregisters zu verstehen.