Schema Verbindung Schieberegister 74HC595 und Arduino UNO

Dieses Beispiel zeigt gleich zwei Schieberegister in Serie.
Wer wissen will, wie ein Schieberegister überhaupt funktioniert, dieses Youtube-Video erklärt dies super: BitBasics - 74xx595 / 74HC595 - Schieberegister
Arduino UNO Digital-PIN Nr. 5 (dataPin / SER), 4 (storePin / RCLK), 3 (shiftPin / SRCLK) gem. Beispielcode.
5-Volt und GND direkt vom Arduino UNO
Erklärung verbindungen auf dem Breadboard:
PIN 3 / shiftPin (hier Grün) wird mit Nr. 11 / SRCLK verbunden.
PIN 4 / storePin (hier Gelb) wird mit Nr. 12 / RCLK verbunden.
PIN 5 / dataPin (hier Violett) wird mit Nr. 14 / SER verbunden
GND / Nr. 8 und Nr. 13 (hier Schwarz) werden mit GND auf dem Breadboard verbunden.
VCC / Nr. 16 (VCC) und Nr. 10 (SRCLR) (hier Rot) wird mit VCC vom Breadboard verbunden.
QH' / Nr. 9 von Chip 1 wird mit Nr. 14 (SER) Chip 2 verbbunden.

Beispielcode 74HC595 Schieberegister mit Arduino UNO

Hinweis
Das Sketch ist für 2 Schieberegister ausgelegt!
Ein zweites Schieberegister hängt man einfach an.
Das heisst die Leitungen vom shiftPin und StorePin werden einfach an den nächsten weitergeleitet.
VCC und GND werden wie beim Schieberegister 1 gesteckt und Der DataPin wird am QH' vom Chip 1 verbunden (nicht direkt am Arduino)

Weiterer Hinweis für mehrere Schieberegister
Beim shiftOut-Befehl müssen immer alle Schieberegister angesprochen werden, welche an der gleichen Linie hängen.
Der DataPin (SER) wird mit dem QH' vom vorherigen Chip verbunden. Das Wieso wird im erwähnten Youtube-Video wunderbar erklärt.
Zuerst das letzte in der Reihe, dann das zweitletzte und dann das Erste...
Siehe Beispielsketch...


//Beispiel Schieberegister 74HC595 mit Arduino UNO betreiben
//
//Die Aktivierung der PINs ist von rechts nach links.
//Das heisst, wird Binaer 1 gesetzt, wird zwar PIN 1 am 74HC595
//Aktiviert, aber optisch ist es im Code eventuell verwirrend.
//Da aus 0 0 0 0 0 0 0 1 der PIN 1 am Schieberegister aktiviert wird
//und aus 1 0 0 0 0 0 0 0 der PIN 8 am Schieberegister aktiviert wird.
//Zahlen ueber 255 sind nicht darstellbar!

// Arduino-Pin verbunden mit SH_CP des 74HC595 = SRCLK
int shiftPin = 3;
// Arduino-Pin verbunden mit ST_CP des 74HC595 = RCLK
int storePin = 4;
// Arduino-Pin verbunden mit DS des 74HC595 = SER
int dataPin = 5;

int counter1 = 2;
int counter2 = 1;

void setup() {
// Pins 3,4,5 auf Ausgabe stellen
pinMode(storePin, OUTPUT);
pinMode(shiftPin, OUTPUT);
pinMode(dataPin, OUTPUT);

digitalWrite(storePin, LOW);
shiftOut(dataPin, shiftPin, MSBFIRST, counter1); //Schieberegister 2
shiftOut(dataPin, shiftPin, MSBFIRST, counter2); //Schieberegister 1
digitalWrite(storePin, HIGH);
}

void loop () {

}


Sketch herunterladen: 74HC595_Sketch.zip