Casually yesterday i found an awesome IC, the ST M74HC595, the famous (and useful) 8 bit shift register. The M74HC595 is configured as SIPO register, so it accepts a serial input and serves 8 digital output ports.
An example of this application (mCu output expander) can be found on this awesome STMicroelectronics Application Note.
With a very simple circuit and a lot of modifications on the LiquidCrystal Arduino Library I was able to drive the 16x2 LCD with only 3 Arduino digital pins!
I was developing the code for about half an hour and i uploaded the LiquidCrystal modded library onto Github, click here.
The library only works with the 4 bit interface mode, the LiquidCrystal functions were left pretty much untouched, only the write/command/send/write4bits library methods were modded to use the Serial2Parallel object.
- 8 bit shift register SIPO, (ST M74HC595)
- LCD 16x2 display driven by the HD44780 controller
- (2x) 10KOhm potentiometer
- Arduino (my own is an ATmega328p duemilanove)
|my own small lab|
|right potentiometer is used to control backlight, the contrast trimmer is actually hide by the red/orange cables upside the display|