To program a MCU to interface with an LCD is relatively simple once you’ve read the datasheet. But unfortunately the LCD that I bought was from China and it uses a HD44780 compatible controller (aka HD44780 rip-off) and the timing’s a bit off. That’s why when I tried to use it with a PIC MCU I couldn’t get it to do what I wanted. Oh yeah did I mention that the datasheet is only available in Chinese? (Yes, I’m a banana and I can’t read chinese 🙁 )
I tried to google translate it but the words just doesn’t sound right. So I thought why not try it on the Arduino and use the built-in LiquidCrystal library. Lo and behold it worked. I’ve done some googling and found out that the LiquidCrystal library has a very wide compatibility with numerous HD44780 compatible controllers.
I uploaded the SerialDisplay example so that the Arduino can read inputs from my keyboard and display it on the LCD.
Again like I’ve mentioned before, the capability of the Arduino to send and receive data from a computer is invaluable. Remember in the previous LCD Smartie post I mentioned that if you don’t have a parallel port on your computer (like a laptop) you can use USB but you need to go through a MCU? In the next post or so I’ll write about how to use LCD Smartie through Arduino. You can now check out the post here.
In the meantime, here’s a video showing the Arduino interfacing with the LCD.