Controlling 24 LEDs with shift registers
04 January 2012 at 12:00 pm
As soon as you start building bigger projects with Arduino, you realize that it would be nice with some extra I/O channels. Shift registers are great for this and if you want to use a bunch of LED’s, you should look for the registers that can also provide a little current. I picked up a TPIC6B595N shift register from Adafruit but soon realized that there were limited tutorials on working with these.
I could only find a single good tutorial on this chip, but there was a tiny bit of information that was missing in it. The tutorial by Mika Tuupola explains how chip manufacturers name things differently and what they are called in the case of TPIC6B595. However, when I set this up according to the example, it only worked intermittently and it even had a Theremin-like effect at times! I could hold my hand above the chip/wires to start the LEDs blinking? Really odd.
After tearing my hair out and reading the DataSheet the n’th time I noticed that it said “When SRCLR is low, the input shift register is cleared”. Could it be that this pin was flickering between HIGH and LOW? Apparently - yes and when I moved my hand over the chip/cables, the value was close to a HIGH so the LEDs lit up. I’ve enclosed source files for both a single (8 LED’s) and triple chip (24 LED’s) setup below.
I’m really looking forward to receiving my latest shipment from MakerShed. It’s the two boxes of components used in the Make:Electronics book so that I can learn this stuff properly.