i have bought a new 4X20 LCD screen, after hours of trying to wire it and stuff it worked However when i put the Ethernet shield on the top of my Arduino board and wire back the LCD accordingly the LCD won't display anything, it just lights up. The pins i use for the LCD are below
LCD 4 (RS) to pin 12
LCD 5 (R/W) to ground (pin 14)
LCD 6 (E) to pin 11
LCD DB4, DB5, DB6, DB7 on pins 7, 8, 9, 10
I think two unfortunate things have happened, both of which are probably fixable - one for free.
Clearly you have a clash of pins when the Ethernet shield is used. Check your code.
[font=Verdana] IF[/font] you are using the standard LiquidCrystal.lib, this is just a generic thing, and you have plenty of options for the wiring.
You might have something like
The circuit:
* LCD RS pin to digital pin 12
* LCD Enable pin to digital pin 11
* LCD D4 pin to digital pin 7
* LCD D5 pin to digital pin 8
* LCD D6 pin to digital pin 9
* LCD D7 pin to digital pin 10
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 7,8,9,10);
If so, you might try wiring D6 to 5 and D7 to 6 and change the command to
LiquidCrystal lcd(12, 11, 7, 8, 5, 6);
thereby freeing up pins 9 & 10 for the Ethernet.
The other unfortunate thing is a bad choice of display. Most 4x20s come with an I2C adapter included. This enables them to be used on the I2C bus, which has nothing to do with Ethernet or SD cards, uses only two wires, and can be shared with an on-board clock.
You can get this adapter for about $5 and convert your existing display.