# include // Parameter: (Eingang-Pin, Ausgabe-Pin, Schiebe-Pin) ShiftRegister74HC595 <1> Schieberegister(10, 8, 9); /* Methoden: Schieberegister.setAllLow() -> alle Pins LOW Schieberegister.setAllHigh() -> alle Pins HIGH Schieberegister.set(Pin-Nummer, HIGH) -> Pin-Nummer auf HIGH setzen Schieberegister.set(Pin-Nummer, LOW) -> Pin-Nummer auf LOW setzen Bit-Muster setzen: Beispiel: byte LEDaussen[] = {B10000001}; Bit-Muster schalten: Schieberegister.setAll(LEDaussen); */ void setup() { // bleibt leer } void loop() { // Lauflicht vor for (int i = 0; i < 8; i++) { Schieberegister.set(i, HIGH); delay(100); Schieberegister.set(i, LOW); } // ... und zurück for (int i = 7; i >= 0; i--) { Schieberegister.set(i, HIGH); delay(100); Schieberegister.set(i, LOW); } // Lauflicht vor for (int i = 0; i < 8; i++) { Schieberegister.set(i, HIGH); delay(100); } Schieberegister.setAllLow(); // ... und zurück for (int i = 7; i >= 0; i--) { Schieberegister.set(i, HIGH); delay(100); } Schieberegister.setAllLow(); // jede 2. LED for (int i = 0; i <= 8 ; i += 2) { Schieberegister.set(i, HIGH); delay(100); Schieberegister.set(i, LOW); delay(100); } byte LEDaussen[] = {B10000001}; Schieberegister.setAll(LEDaussen); delay(200); byte LEDzweite[] = {B01000010}; Schieberegister.setAll(LEDzweite); delay(200); byte LEDdritte[] = {B00100100}; Schieberegister.setAll(LEDdritte); delay(200); byte LEDinnen[] = {B00011000}; Schieberegister.setAll(LEDinnen); delay(200); Schieberegister.setAll(LEDdritte); delay(200); Schieberegister.setAll(LEDzweite); delay(200); Schieberegister.setAll(LEDaussen); delay(200); Schieberegister.setAllLow(); }