int latchPin = 5; // Latch pin of 74HC595 is connected to Digital pin 5
int clockPin = 6; // Clock pin of 74HC595 is connected to Digital pin 6
int dataPin = 4; // Data pin of 74HC595 is connected to Digital pin 4
byte leds = 0; // Variable to hold the pattern of which LEDs are currently turned on or off
void setup()
{ pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
}
void loop()
{ leds = 0; // Initially turns all the LEDs off, by giving the variable 'leds' the value 0
updateShiftRegister();
delay(500);
for (int i = 0; i < 8; i++) // Turn all the LEDs ON one by one.
{
bitSet(leds, i); // Set the bit that controls that LED in the variable 'leds'
updateShiftRegister();
delay(100); }
}
void updateShiftRegister()
{ digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, leds);
digitalWrite(latchPin, HIGH);
}
/*
int latchPin = 5;
int clkPin = 6;
int dataPin = 4;
byte LED = 0;
void setup()
{ Serial.begin(9600);
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clkPin, OUTPUT);
}
void loop()
{ int i=0;
LED = 0;
shiftLED();
delay(100);
for (i = 0; i < 8; i++)
{ bitSet(LED, i);
Serial.println(LED);
shiftLED();
delay(100);
}
}
void shiftLED()
{ digitalWrite(latchPin, LOW);
shiftOut(dataPin, clkPin, MSBFIRST, LED);
digitalWrite(latchPin, HIGH);
} */