LCD 4X20 + Ethernet Shield

Hello guys, I'm new here and i just started leaning about 10 days ago. I still have no idea about most of the things.

I have a little back ground on programming, and i can do basic wiring; however i need to learn about voltages and resistors and how most shields work.

anyways, i have a little problem and i hope you guys can help me out.

i have bought a new 4X20 LCD screen, after hours of trying to wire it and stuff it worked :slight_smile: .. However when i put the Ethernet shield on the top of my Arduino board and wire back the LCD accordingly .. i 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 noticed that the LCD light is kinda dim, it not as bright when i connect it to the Arduino Board without the Ethernet Shield. I don't know if my Ethernet shield is not working probably or something, but the little red led power is on.

thanks for taking the time to read this, and please if you don't mind use simple terms as i'm really new to all this

Thanks you :slight_smile:

After Taking a closer look, the Text is there with i connect the lcd to the Ethernet shield, but its extremely hard to see .. it might be i power issue .. i had to trun off the lights to see the Hello World text

BUT .. while i was wiring up the lcd, a bunch of random characters showed up for a few seconds then disappeared

I should mention, i use either the usb from my computer to power up, or a 9v battery the came with my Arduino when i ordered it.

when i connect both, i can almost see the text

if its a power issue, how to fix it, and how many volts do i need and how to power it up.

I'm really sorry for the long post

i have bought a new 4X20 LCD screen

Which one??

when i put the Ethernet shield on

Which one??

Don

Barryz:
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. IF 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.

floresta:

i have bought a new 4X20 LCD screen

Which one??

one of those http://www.modtronix.com/images/lcd204a-biw.jpg

when i put the Ethernet shield on

Which one??

this http://kll.engineering-news.org/kllfusion01/downloads/ArduinoEthernetShield.jpg

Don

heres te specs for the shield :

W5100 Ethernet + SD Card Shield (Arduino Compatible)

The W5100 Ethernet Shield is based on the Wiznet W5100

Requires an Arduino-compatible board (not included)
Operating voltage 5V (supplied from the Arduino-compatible Board)
Ethernet Controller: W5100 with internal 16K buffer
Connection speed: 10/100Mb
Connection with Arduino-compatible board on SPI port

ok i think i know what might be the problem, on the shield it says Mega Comparable .. does that mean it won't work with UNO ?

Nick_Pyner:
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. IF 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.

Thank you for your reply Nick! .. i changed things around nut no luck .. the text is hardly readable .. the only way to read it is to look at the LCD from the side ..

I am not sure that I found the correct W5100 Ethernet + SD Card Shield since you did not post a link, but the Ebay version that I read about has this in the description:

Note that because the W5100 and SD card share the SPI bus, only one can be active at a time. If you are using both peripherals in your program, this should be taken care of by the corresponding libraries. If you're not using one of the peripherals in your program, however, you'll need to explicitly deselect it. To do this with the SD card, set pin 4 as an output and write a high to it. For the W5100, set digital pin 10 as a high output.

This means that the shield is using analog pins 4 and 5 for the SPI bus and digital pins 4 and 10 for the SPI 'select' lines. There is a conflict since you are also trying to use digital pin 10 for your LCD.

You can use any available Arduino I/O pin (including the 'analog' pins) for your LCD as long as you make the proper changes in your LiquidCrystal lcd() argument. Example:

//LiquidCrystal lcd(RS, E, D4, D5, D6, D7);
LiquidCrystal lcd(12, 11, 7, 8, 9, 10);      // put your pin numbers here

I'm not sure what you are saying here:

LCD 5 (R/W) to ground (pin 14)

LCD pin 5 should normally be connected to GND. If you are instead connecting it to Arduino pin 14 then you will have to change your LiquidCrystal lcd() argument. Example:

//LiquidCrystal lcd(RS, RW, E, D4, D5, D6, D7);
LiquidCrystal lcd(12, 14, 11, 7, 8, 9, 10);      // put your pin numbers here

Remember - in both of the examples above you will have to change the last argument (10) to some other pin and also remember to rewire your LCD to agree.

ok i think i know what might be the problem, on the shield it says Mega Comparable .. does that mean it won't work with UNO ?

No.

Don

if the text / characters are on the lcd,

but can only just be seen, its the contrast you need to change.

the lcds I have seen have to have a variable resistor connected to change the bias.
if this is your dispay
http://www.modtronix.com/products/lcd/lcd204a-biw/lcd204a-biw.pdf

sheet 9 shows the 10 K ohm variable resistor and the wiring you need,

if the text / characters are on the lcd, but can only just be seen, its the contrast you need to change.

Not in this case since that is not his problem.

Don

Barryz:
I noticed that the LCD light is kinda dim, it not as bright when i connect it to the Arduino Board without the Ethernet Shield.

While I still think the real problem is pin clash, the above may not be directly related. Since the LCD works OK without the Ethernet being stacked, there is clearly nothing intrinsically wrong with it. If you are getting power from the USB cable, the above could be caused by insufficient power. The W5100 Ethernet shield is a bit of a power hog and it can be surprising how marginal the power is via USB. So, if you aren't already running off a wall wart, now is the time to do so.

Thanks for the replies guys, i was trying different methods to solve this problem .. i ended up blowing one of two Arduino Uno that i have :frowning:

i got a 12v power adapter and hooked it to a power socket. after i saw the smoke coming out of the board i instantly unplugged it. the oonly reason i did that is because i assumed the LCD needs more power. the board was damaged , even though when i plug it to my computer with the USB cable it turns on, but i cannot upload anything to it.

i tried the LCD on the other board to see if working or not ... the back light works, i can even turn up and down the contrast .. but no TEXT all. i tried different codes .. but nothing .. only thing i can see is one box blinking when i upload the Blink example from the arduino software.

I'm going to order a new LCDsss lol, and another back up board. Which board is the best ? i have Uno already but i need another advanced one

Anyways i really think that the problem that i had was either voltage .. like not enough power, or pin conflic

Thank you again guys, and if you know a way to actually check if the LCD is bad .. please let me know how. Is it possible to check it with the multimeter ?

thanks guys :slight_smile:

Barry, AU

suggestion :

rugged Arduino,

http://ruggedcircuits.com/html/ruggeduino.html

no I don't represent them,
I found them by luck, and have used them ever since for 'experimenting' thoug I do use megas most of the time for proper work.

they are just about bullet proof,

one other quick thought,
if you had smoke, that tends to indicate a gross over current,
more like a short , may be between the power rails or to ground.

I bet pin conflict. With an Uno, you cannot use D10-D13 (and D4 if using an SD card) for anything else while using SPI devices. The w5100 and SD are both SPI devices.

You should be more specific about the smoke. Which IC was smoking? Was it the 5 volt regulator?

drjiohnsmith:
suggestion :

rugged Arduino,

http://ruggedcircuits.com/html/ruggeduino.html

no I don't represent them,
I found them by luck, and have used them ever since for 'experimenting' thoug I do use megas most of the time for proper work.

they are just about bullet proof,

one other quick thought,
if you had smoke, that tends to indicate a gross over current,
more like a short , may be between the power rails or to ground.

Thanks for the suggestion, and yes the problem is somewhere between the the USB and power port. because when i connect it to my computer now .. that area in the middle becomes really hot.

SurferTim:
I bet pin conflict. With an Uno, you cannot use D10-D13 (and D4 if using an SD card) for anything else while using SPI devices. The w5100 and SD are both SPI devices.

You should be more specific about the smoke. Which IC was smoking? Was it the 5 volt regulator?

I'm not sure if its the IC regulator or the power port .. or somewhere around it .. it was dark and unplugged really quickly

The board lights up and everything with both USB and a 9v battery .. but cannot upload anything .. it gives me this error:

avrdude: stk500_getsync(): not in sync: resp=0x00

which is this : avrdude: usbdev_open(): did not find any USB device "usb"

when i hit the reset button, the LED doesn't flash anymore

if there a way to test where the fault is with the multimeter?

Barryz:
i got a 12v power adapter and hooked it to a power socket. after i saw the smoke coming out

I'm going to order a new LCDsss lol, and another back up board. Which board is the best ? i

if you know a way to actually check if the LCD is bad ..

I guess I should have said 9v wall wart but Arduinos are officially good for 12v and I reckon there were other things going on, possibly still to do with the pins. Despite this there is no good reason to get anything other than a standard cheapo Uno or Mega off eBay. I guess the best way to test an LCD is by substitution. I would suggest getting one with an I2C adapter included. It rather lessens the chances of strife like this.....

Despite this there is no good reason to get anything other than a standard cheapo Uno or Mega off eBay.

Unless you want to support the people who are designing the stuff in the first place.

Don