While I was playing with my LCD display a few months back I received notification from this blog I monitor regarding using a shift register to drive the LCD rather than using the Arduino directly:
Using this shift register would reduce the control lines on the arduino.
I had been contemplating buying an LCD with an I2C interface, since I had just been playing with I2C, but this would work and I only had to purchase the 74N164 shift register which is pretty cheap.
Using the example from the above site I had the LCD up and running pretty quick.
Then I figured I should do a little more than print “Hello World”, so I pulled out the RTC I had been play with on the Raspberry Pi:
Yeah, yeah, I know a clock is boring, but I’m trying to learn fundamentals, so it’s a good project for me. Using standard examples from the Arduino RTC library I had the clock up and running and displaying on the LCD. Piece of cake.
About the time this stuff started running, I got the Sparkfun IR remote control in the mail:
I decided I should use this to program the clock since it was wrong as RPI set it to GMT.
Then the DS18B20 temp sensor showed up in the mail. So I soldered that onto the Tiny RTC and fixed the code so it now shows the temperature as well as the time.
I probably spent more time writing code to change the clock using the IR remote control than the rest of the project, but it was good experience for making all of this stuff work together.
For future projects I can now easily display output on the LCD and use a remote control to make simple config changes.
Here is the completed project:
I didn’t keep notes as I tracked down libraries for all of the components, but everything is using standard libraries. My own code is pretty simple as well so I won’t bother posting it either.
Here is a short video showing how the IR remote controls the display:
Edit Feb 8:
Here is the schematic