So verwenden Sie mit Arduino Top 10HCTOP 105 Shift Register

So verwenden Sie mit Arduino Top 10HCTOP 105 Shift Register

Alle Arduino -Boards sind mit einer bestimmten Anzahl von E/A -Stiften ausgestattet. Wenn es eine große Anzahl von Geräten gibt, die mit dem Arduino -Board verbunden werden sollen, kann das Problem des Mangels an Stiften auftreten. Um dieses Problem zu erfüllen, gibt es Verschiebungsregister, durch die wir die Anzahl der E/A -Stifte des Arduino erhöhen können. Wie diese Schichtregister funktionieren und wie wir sie mit Arduino verwenden können, finden wir heraus:

Wie Schichtregister funktionieren

Wie oben beschrieben, wird das Schaltregister hauptsächlich verwendet, um den Pin -Mangel an Mikrocontroller aufzulösen, wenn eine große Anzahl von Geräten mit dem Mikrocontroller miteinander verbunden sein soll. Das Schaltregister verlagert die Daten in Bezug auf die Impulse der Uhr des Registers von einem Bit zum anderen und die Daten, die sie verschieben. Es gibt drei Hauptnadeln des Schaltregisters: Einer ist der Taktstift, der zweite ist der Latch -Stift und der dritte ist der Datenstift.

Die PIN -Konfiguration eines einzelnen Schaltregisters (74HC595) ist unten in der Tabelle angegeben:

Pins Kategorie (von der linken Seite des Grove) PIN -Nummern Darstellung Beschreibung
Ausgangsstifte 1-7 und 15 Q1 bis Q7, Q0 Stifte, an denen das Gerät mit Controller verbunden sein soll
Power Pins 8 und 16 GND, VCC Stecknadeln, die das Schaltregister einschalten
Serieneingabe 14 (Ds) Serin PIN, der die Daten vom Controller über serielle Kommunikation empfängt
Ausgangsaktivität 13 Oe Dieser Stift ist niedrig, wenn die Spannung hoch ist und umgekehrt
Riegelstift 12 (ST_CP) RCLK Wenn dieser Pin hoch ist, werden die Daten an die Ausgabestifte gesendet und auch im Speicher gespeichert
Uhr Pin 11 (Sh_cp) Uhr PIN für das Schaltregister
Stift zurücksetzen 10 (Sh_cp) srclr Pin verwenden, um das Register zurückzusetzen, indem Sie ihm einen niedrigen Zustand geben
Vernetzung anderer Register 9 Q7S (QH ') Wenn mehr als ein Register verwendet werden sollen, wird dieser Stift verwendet

Verwenden von Schaltregister mit Arduino

Um zu erklären, wie wir das Schaltregister mit Arduino verwenden können. Hier ist die Liste der Komponenten, die wir in diesem Beispiel verwendet haben:

  • Brotbrett
  • Drähte verbinden
  • 8 LEDs
  • Arduino uno
  • 74HC595 Schichtregister

Wir haben die Schaltung mit den oben aufgelisteten Komponenten entworfen und deren Schema ist unten angegeben:

Hardware -Montage für die Verwendung von Schaltregister mit Arduino Uno

Um zu sehen, wie die Schaltung auf dem Breadboard aussehen wird, haben wir die Hardware -Montage zuerst wie im Bild unten gemacht:

Für Ihr Verständnis haben wir die Verbindungen der in den Schaltungen verwendeten Komponenten erklärt:

  • Der lila Draht zeigt die Datenstiftverbindung des Schaltregisters mit Arduino mit seinem Pin 4.
  • Der weiße Draht repräsentiert die Verbindung für den Latch -Stift mit Arduino Uno, der an seinen Pin 5 angeschlossen ist, während der braune Draht verwendet wird, um die Uhr des Schaltregisters mit Arduino mit seinem Pin 6 anzuschließen.
  • Um die LEDs mit dem Schaltregister zu verbinden.
  • Zum Anschließen des Schaltregisters mit Versorgung haben wir die 5-Volt-Option des Arduino aus seinen Netzteilstiften verwendet.

Arduino -Code für die Verwendung von Schaltregister mit Arduino Uno

Um das Verschiebungsregister mit Arduino zu verwenden, müssen wir es konfigurieren, indem wir den Mikrocontroller programmieren. Im Folgenden haben wir den Code bereitgestellt:

int latch = 5; // Stifte 5 Arduino für den Verriegelungsstift des Schaltregisters
INT Clock = 6; // Stifte 6 von Arduino für den Takt -Pin des Schaltregisters
int data = 4; // Stifte 4 von Arduino für Daten Pin des Schaltregisters
Byte LED = 0; // Variable, die den Wert von LEDs speichert
void setup ()

// Zuweisen der Arbeitsmodi den Stiften des Schaltregisters zugewiesen
PinMode (Latch, Ausgabe);
PinMode (Daten, Ausgabe);
PinMode (Uhr, Ausgabe);

Hohlraumschleife ()

LED = 0; // Zu Beginn bleiben alle LEDs im staatlichen Ausgang
Schieberegister(); // Schalten Sie die nächste LED ein
Verzögerung (500);
für (int i = 0; i < 8; i++) // loop that will turn the LED one by one

Bitset (LED, i); // Zuweisen der jeweiligen LED die hohen Werte
Shiftregister (); // schalten Sie die vorherige LED aus
Verzögerung (500);


// Funktion, die das Register nach jeder Iteration von for Loop aktualisiert
Hohlraum Shiftregister ()

DigitalWrite (Latch, niedrig);
Shiftout (Daten, Uhr, lsbfirst, LED);
DigitalWrite (Latch, hoch);

Hardwaredemonstration

Wir haben die Schaltung implementiert, die für die Schnittstelle des 74HC595 -Schaltregisters mit Arduino Uno gemäß der zuvor beschriebenen Hardware -Montage implementiert wurde. Um zu demonstrieren, wie wir die LEDs in einem Muster drehen, haben wir das animierte GIF unten gegeben:

Abschluss

Schichtregister werden hauptsächlich verwendet, wenn wir die E/A -Stifte der Mikrocontroller erhöhen müssen, damit wir mehr Geräte damit interpretieren können. Um zu demonstrieren, wie wir das Shift Register verwenden können, haben wir 8 LEDs mit dem Arduino -Mikrocontroller mit nur 3 Pins ein. Zur weiteren Klarstellung haben wir Schaltpläne und deren Implementierung von Hardware zusammen mit der Arduino -Skizze zur Programmierung des Controllers gegeben.