Materials

  1. Arduino Prototyping Shield kit, without breadboard
    protoshield_t.jpg

  2. Character LCD with parallel interface
    lcd_tiny.jpg

  3. 2 pieces of 7-pin male header (you can always cut down longer header).
    headerm36_t.jpg

  4. 2 pieces of 7-pin female header (you can always cut down longer header)
    header8f_t.jpg

  5. Hookup Wire
    100ftsolid_t.jpg


Instructions

  1. Turn over the LCD and check out the pins. Parallel LCDs almost always have 14 or 16 pins. In this model they are all the way to the left, near the label J1. Solder 2 7-pin female headers for e-z plugging. Somtimes the pins are along the bottom all in a row.
    _12_pineapple_t.jpg


  2. Look closely at the header for the numbers that show which pins are which. In this model, the first pin is at the top right, the second pin is top left, etc till pin 14 in the bottom left.
    _13_banana_t.jpg


  3. When the LCD is flipped over, the pinout will be mirrored, to help me keep track of itmake a diagram:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14

    Whatever your pinout is, make sure you have a diagram written out since you will need to refer to it many times!

  4. Solder 2 7-pin headers at one end of the pcb. Note that they are not all the way to the edge, Leave one row of holes so you can easily solder some wires. Solder a short piece of header (that comes with the shield kit) at the left so that the LCD will be propped up).
    _10_lcdplaced_t.jpg


  5. Test fit to verify how it will look
    _11_lcdstart_t.jpg


  6. Since this is a parallel LCD, data will be sent to it over a parallel interface. That is, multiple bits at a time. These LCDs are designed for either a 8-bit or 4-bit interface. Since we'd like to save pins, lets go with the 4-bit interface. The data pins are name D4, D5, D6, and D7. Double-check your datasheet but almost all parallel LCDs have these pins numbered 4, 3, 2, and 1 respectively.
    1 (D7)
    2 (D6)
    3 (D5)
    4 (D4)
    5
    6
    7
    8
    9 (ENABLE)
    10 (R/W)
    11 (RS)
    12 (CONTRAST)
    13 (GND/VSS)
    14 (+5V/VDD)

  7. Connect these to the arduino:
    • D4 -> Arduino pin #7

    • D5 -> Arduino pin #8

    • D6 -> Arduino pin #9

    • D4 -> Arduino pin #10


    _6_powerwires_t.jpg


  8. Next are the two power wires. Parallel LCDs run off of +5V so you can just solder the Vcc wire to 5V and the ground wire to GND.
    _7_controlwires_t.jpg


  9. Next are the 2 control wires, ENABLE and RS which we connect to pins 12 and 11 respectively.
    _8_rwline_t.jpg


  10. There's another control line called R/W that you can use to control whether you're reading or writing to the LCD. Since we'll just be writing, that pin can be connected to ground, saving another arduino pin
    _9_contrastpot_t.jpg


  11. The last wire is the contrast control, you need to connect a potentiometer to this to make the display visible. Use a 10K potentiometer.
    One pin is connected to +5V, the pin on the other side is connected to ground and the middle pin is connected to the contrast line.
    _4_testfit_t.jpg


  12. Now place the LCD on top.
    _5_datawires_t.jpg


  13. Plug it into an Arduino and power it up. You should see the following:
    Make sure you tweak the contrast potentiometer, if the contrast is all the way down you may not see anything
    _1_lcdrev_t.jpg


  14. Open with a text editor LCD4Bit.cpp from the LCD4 library in Arduino and scroll down to the part where the pins used are defined
    Make sure the Enable pin is set to 12 and the RS pin is 11. USING_RW should be set to false.
  15. Open Arduino and upload:Sketchbook->Examples->Library-LCD4Bit->LCD4BitExample.
    When you run it you should see a random list of fruits
    _2_lcdpins_t.jpg
    _3_headersprep_t.jpg