16 LED Lauflicht mit 595 Schiebe register funzt nicht. HILFE!!!

Hallo Liebe Community!
Ich bin neu hier und habe direkt ein ziemlich großes Problem.

Ich habe neuerdings angefangen etwas mit dem 74HC595 rum zu spielen.
Habe zunächst angefangen mit 8 LEDs. Lief ziemlich gut. Habe ein Lauflicht erschaffen.
Nun wollte ich das ganze erweitern und es mit 2 ICs und 16 LEDs zu probieren.
Lief nicht gut. Habe kein Lauflicht erschaffen.
Das ganze flimmerte irgendwie wild umher aber als ich dann die 2 ICs ausgewechselt habe lief es zwar nicht so wie ich es wollte aber es geht mehr in die Richtung.
Die erste LED leuchtet, die 2. die 3.... bis wir am 8. waren. Dann bleibt das 9. oder auch das 1. vom 2. 'pack' AN und es geht weiter bis zur 16. LED. Dann geht das 9. aus und das 10. an. Und es startet wieder von der 1. LED aber die 10 bleibt an.

Kann mir jemand weiter helfen?
Mein Code:

 int shiftPin2= 2;
int storePin2 = 3;
int dataPin2 = 4;

int shiftPin = 5;
int storePin = 6;
int dataPin = 7;

int musterArray[] = {1, 2, 4, 8, 16, 32, 64, 128};
int count = 0;
int timer = 500;
 
void setup() { 
 pinMode(storePin, OUTPUT);
 pinMode(shiftPin, OUTPUT);
 pinMode(dataPin, OUTPUT);

  pinMode(storePin2, OUTPUT);
 pinMode(shiftPin2, OUTPUT);
 pinMode(dataPin2, OUTPUT);
}
 
 
void loop () {
  for (count=0;count<8;count++) {
 digitalWrite(storePin2, LOW);
 shiftOut(dataPin2, shiftPin2, MSBFIRST, musterArray[count]);
 digitalWrite(storePin2, HIGH);
 delay(timer);
  
  }
 for (count=0;count<8;count++){
  digitalWrite(storePin, LOW);
 shiftOut(dataPin, shiftPin, MSBFIRST, musterArray[count]);
 digitalWrite(storePin, HIGH);
 delay(timer);
 
  }
}

Ein Video kann ich auf anfrage auch noch posten.

Vielen dank dass ihr das alles durchgelesen habt :wink:

Viele Grüße, Plankins

Der Sketch ist katastrophal und nich übersichtlich, so wie ich das sehe, kann am 2. IC garnichts gescheites ankommen. CS/SS muss solange Low sein, bis alle Daten gesendet wurden (2x8Bit!).

Ouh. Jaaaa klingt logisch. Ich werds mal überarbeiten. Danke für die Antwort
Edit: Aber irgendwie dann doch nicht. Denn das 2. IC schaltet die LEDs ja. Achja und ich habe vergessen zu sagen dass ich 6 ausgänge am arduino benutze. Ist das schlimm?

hi,

Du steuerst die beiden schieberegister unabhängig voneinander, ist ungewöhnlich, aber sollte auch funktionieren.
es laufen also jeweils drei kabel vom arduino zu jeweils einem schieberegister. keine direkte verbindung zwischen den beiden schieberegistern, oder?

besser wäre es, die beiden HC hintereinander zu schalten, aber trotzdem wäre es interessant, warum Deine schaltung nicht funktioniert...

gruß stefan

besser wäre es, die beiden HC hintereinander zu schalten

Das sehe ich auch so!

Und statt des fehlerträchtigen Bitgeschubse shiftout() verwenden.