Arduino + LCD Shield = Hello World

About two weeks ago I built an interface so that I could connect my Arduino Uno to a 16x2 LCD.  /blog/2011/11/26/arduino-hello-world/

That worked fine but I thought that I would try a couple of other approaches...
1. LCD Shield
2. I2C LCD

So tonight I decided to play with the LCD shield. (It is an ebay special.) The first thing that I ran into was the difference in the pin out between my last example/tutorial and the new LCD shield.  It took about 20 minutes to track down the difference in the pin out and get the code working. 

LiquidCrystal Library - Hello World

Demonstrates the use a 16x2 LCD display. The LiquidCrystal

library works with all LCD displays that are compatible with the
Hitachi HD44780 driver. There are many of them out there, and you
can usually tell them by the 16-pin interface.

Example from:

This sketch prints "Hello World!" to the LCD

and shows the time.

The circuit:

* LCD RS pin to digital pin 8 (formally pin 12)
* LCD Enable pin to digital 9 (formally pin 11)
* LCD D4 pin to digital pin 4 (formally pin 5)
* LCD D5 pin to digital pin 5 (formally pin 4)
* LCD D6 pin to digital pin 6 (formally pin 3)
* LCD D7 pin to digital pin 7 (formally pin 2)
* LCD R/W pin to ground
* 10K resistor:
* ends to +5V and ground
* wiper to LCD VO pin (pin 3)


// include the library code:

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("hello, world!");

void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:


So the tutorial/example works again... that is pretty cool. (Small steps when I have a limited amount of time to work these projects.)

73 de NG0R