Shift registers: add more digital I/O to your Arduino

Shift registers are useful chips that can add more outputs or inputs to your micro-controller. The 74HC595, for example, provides 8 additional digital outputs that can be controlled with only 3 Arduino pins. Additionally, you can “daisy-chain” multiple shift registers to multiply the number of outputs even further.Below is a great video by Kevin Darrah explaining how shift registers actually work. He took an interesting approach demonstrating the functionality of the shift register using manual input via push buttons, rather than a micro-controller. (more…)

Arduino controlled LCD using a shift register and the SPI library

Now that I got my recycled 40x2 character LCD working with Arduino, the next step is to get it to show something useful.  I decided to add it to my Bluetooth Controlled robot  and display data from its two ultrasonic distance sensors (initially). Gradually  more interesting info like battery voltage and wheel encoder data can also be shown, as I get those components working. The problem is that now I need to find another 6 digital pins to control the LCD itself. Fortunately, there is an alternative: add a 74HC595 shift register and take advantage of the Arduino SPI library. Here is how: (more…)