Nothing displayed on working LCD

A while back I got 4 16x2 LCDs. I currently have one of them working using a PIC16F887. I've attached a photo of it.
They have 4 buttons, 3 LEDs, and a variable resistor. The resistor has output on pin 24 and controls contrast I think. All the way ccw and the display is blank, and at the other extreme lots of black rectangles.

I tried using a second unit on my Arduino Deumilanova with no luck. It works with the PIC so I know it's good. When I apply power the top row darkens with suitable setting of VR1, but no text appears. I have verified that the pin assignments are the same as the PIC project.

I'm using the LiquidCrystal library that comes with the IDE and the Examples Hello
World sketch.

What can I do next? Would buffering work? Without a storage scope how can I see if signal levels are good?

Thanks
Jim

Pinout for the display:

  1. +5vdc

  2. gnd

  3. Register Select

  4. ???

  5. Enable

  6. Read/Write

  7. D1

  8. D0

  9. D3

  10. D2

  11. D5

  12. D4

  13. D7

  14. D6

  15. Bottom LED anode

  16. Top LED anode

  17. Switch 1 - low output

  18. Middle LED anode

  19. Switch 3 - low output

  20. Switch 2 - low output

  21. Switch 4 - low output

  22. ???

  23. gnd

  24. VR1 wiper

Sounds like you haven't wired it up correctly.
How have you wired this to the arduino?
Did you connect the grounds together?

I forgot to mention that the LEDs are quite bright with 2.1v, not the 5 volts the display uses.

I thought that might be the case. It probably is, but I cannot see anything wrong.

It was wiring! I really could use a brain transplant!
The main problem was that I forgot that the pins are numbered from zero, not one.

The main problem was that I forgot that the pins are numbered from zero, not one.

Please explain this in more detail.

I forgot to mention that the LEDs are quite bright with 2.1v, not the 5 volts the display uses.

LEDs are rated by their current, not their voltage. What size current limiting resistors did you use?

Don

Where am I on the transplant list?

I forgot to use resistors... and I would guess that there are none on the board.

Digital pins are numbered D0 to D13, not D1 to D14. For ease of prototyping I made cables with pins at both ends that could be plugged into the Arduino and the breadboard. Then I used jumpers from there to the display. No pin IDs on the ends of the cables. When I went to connect pin 5 I counted 1 2 3 4 5, not 0 1 2 3 4 5.