// Don't forget to use current limiting resistors for LEDs (220 ohm are ok)
// 74HC595 signal pins (MR tied HIGH and OE tied LOW)
#define DATA 28 // DS
#define LATCH 27 // STCP
#define CLOCK 26 // SHCP
#define DELAY_MS 200
// DATA and LATCH set on rising edge
void pulse(int pin){
digitalWrite(pin, HIGH);
delay(10);
digitalWrite(pin, LOW);
}
void setup() {
pinMode(DATA, OUTPUT);
pinMode(LATCH, OUTPUT);
pinMode(CLOCK, OUTPUT);
}
void loop() {
// Write a 1 to DS
digitalWrite(DATA, HIGH);
pulse(CLOCK);
pulse(LATCH);
delay(DELAY_MS);
// Write four 0s to DS
digitalWrite(DATA, LOW);
for(int i = 0; i < 4; i++){
pulse(CLOCK);
pulse(LATCH);
delay(DELAY_MS);
}
}