netcoast.ch - Projekte aus der echten Welt in der virtuellen Welt

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 Violett) wird mit Nr. 11 / SRCLK verbunden.
PIN 4 / storePin (hier Grün) wird mit Nr. 12 / RCLK verbunden.
PIN 5 / dataPin (hier Gelb) 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

Designed & styled by slaps313