In ARDUINO haben wir 20 E / A-Pins, sodass wir 20 UNO-Pins so programmieren können, dass sie entweder als Eingabe oder als Ausgabe verwendet werden. Obwohl der ATMEGA328P-Controller mehr Pins enthält als der UNO, liegt dies daran, dass beim Entwerfen der Karte einige Pins standardmäßig verwendet werden.
Für einige Anwendungen benötigen wir jetzt mehr als 30 Pins, beispielsweise wenn wir einen 5x5x5 LED CUBE entwerfen möchten. Dazu benötigen wir 5x5 + 5 = 30 Pins. In solchen Fällen verwenden wir Seriell-Parallel-Wandler-Chips oder Schieberegister. Ein Schieberegisterchip nimmt Daten von der UNO-Karte seriell auf und gibt eine Ausgabe in einer 8-Bit-Parallelkonfiguration aus.
Erforderliche Komponenten
Hardware: Arduino Uno Board, Verbindungsstifte, 220Ω Widerstand, LED (acht Stück), 74HC595 IC, Brotplatine.
Software: Arduino jeden Abend
Schaltplan und Arbeitserklärung
Hier senden wir Daten in einer Größe von acht Bit über einen einzelnen Kanal an das Schieberegister. Das Schieberegister nimmt die Daten seriell auf und speichert diese Daten in seinem Speicher. Sobald die Daten von der Steuerung gesendet wurden, senden wir einen Befehl an das Schieberegister, um die Daten am Ausgang anzuzeigen. Mit diesem Befehl gibt das Schieberegister Daten parallel aus.
Dieser Ausgang wird durch acht am Ausgang angeschlossene LED angezeigt.
Um das Schieberegister mit Arduino UNO zu verbinden, müssen wir zwei Dinge tun:
|
Zuerst müssen wir drei beliebige UNO-Pins als Ausgang setzen. Dann müssen wir den digitalen Pin, den Clock-Pin und den Latch-Pin mit diesen drei Ausgangspins verbinden. Danach müssen wir der UNO mitteilen, welcher Chip-Chip mit den UNO-Board-Pins verbunden ist. Dies erfolgt durch einfaches Schreiben in den Befehl "
shiftOut(dataPin, clockPin, data);
". Die Daten können hier binär oder dezimal oder hexadezimal sein. Die zu sendenden 8-Bit-Informationen werden anstelle von "Daten" geschrieben.
Die gesendeten Daten werden wie folgt erstellt:
Latch deaktivieren, dies weist den Chip an, die Ausgabe vorerst nicht anzuzeigen.
Achtmal senden wir Daten mit der Uhr seriell, also Uhr hoch niedrig Datenuhr niedrig und so weiter.
Latch aktivieren, dies weist den Chip an, 8-Bit-Daten anzuzeigen.
Die Arbeitsweise von ARDUINO mit SHIFT REGISTER wird Schritt für Schritt im folgenden C-Code erläutert: