Hitachi HD44780-compatible LCD's are very cheap and readily available from many electronics suppliers, ebay, even from junk that you may find at tag sales. They are also relatively easy to use with microcontrollers, especially when using libraries that reduce the code to a few lines. There are two such libraries available for the Arduino. One is the 8 bit library and one is the 4 bit version. Both libraries end up performing the same basic function, but the 4 bit version requires much fewer digital outputs from the Arduino. This is a huge benefit if you intend to do more than just display messages on an LCD. I wired up the LCD using an IDE cable that I had leftover form and old computer. I just cut it in half, bared the wires, labeled them according to which LCD pin they corresponded with, and tined them with solder to ease inserting them into the breadboard. The labeling was done according to the spec sheet for the particular LCD that I have and the wiring was done according the page describing the 8 bit library. The only difference in the wiring for the 4 bit library is that the R/W lead was connected to ground and data bits 0-3 were not connected at all. When you download the 4 bit library there is an example program included. I modified the example code a bit to suit my tastes. The code is included after the video. Eventually I'll bother narrating these videos. Not there yet.
//example use of LCD4Bit library
#include
//create object to control an LCD.
//number of lines in display=2
LCD4Bit lcd = LCD4Bit(2);
void setup() {
pinMode(13, OUTPUT); //we'll use the debug LED to output a heartbeat
lcd.init();
}
void loop() {
digitalWrite(13, HIGH); //light the debug LED
lcd.clear(); //clear LCD
lcd.printIn("All your base"); //print "All your base"
delay(1000); //wait 1 second
digitalWrite(13, LOW); //turn off the debug LED
//print some dots individually at end of first line of text
for (int i=0; i<6; i++)
{
lcd.print('.');
delay(100);
}
//print something on the display's second line.
lcd.cursorTo(2, 0); //send cursor to the beginning of line 2
lcd.printIn("Are belong to us"); //print "are belong to us"
delay(1000); //wait for 1 second
lcd.leftScroll(20, 100); //scroll entire display 20 chars to left, delaying 50ms each inc
}