Have you wanted to make a sweet Cylon/Knight Rider (Larson) Scanner effect? But you don’t want to use up all of your Arduino IO pins? Well, you can make a nice 8 LED Scanner with a shift register IC.
In this tutorial we’ll be using the 74HC595 8 Bit Shift Register, and this is what we'll be making;
int clockPin = 12; //IC Pin 11, Yellow Jumper
int dataPin = 11; //IC Pin 14, Blue Jumper
int latchPin = 8; //IC Pin 12, Green Jumper
byte patterns[30] = {
B00000001, 100,
B00000010, 100,
B00000100, 100,
B00001000, 100,
B00010000, 100,
B00100000, 100,
B01000000, 100,
B10000000, 100,
B01000000, 100,
B00100000, 100,
B00010000, 100,
B00001000, 100,
B00000100, 100,
B00000010, 100
};
int index = 0;
int count = sizeof(patterns) / 2;
void setup() {
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
void loop() {
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, patterns[index * 2]);
digitalWrite(latchPin, HIGH);
delay(patterns[(index * 2) + 1]);
index++;
if (index >= count){
index = 0;
}
}
I hope this instructable has opened your eyes to a lot of possibilities... such as, did you know that if you add another 74HC595 8 Bit Shift Register to the mix you can control another 8 LED's on the same amount of wires (5 including power) and shift registers are awesome, with these little IC's they can expand your arduino outputs by 8 per IC, and you can in theory have an infinite amount of shift registers connected to your arduino.
If I touch onto Shift Registers in the future (Which I most likely will) I will show you how to expand.