Erratic Display

Hello Folks
I am new to this site but after reading the postings on this problem I thought I will give you a another problem with lcd contamination of all the characters on the display.
I have and optical sensor reading distance and print out the results to the lcd. No problem with any corruption until I added a web server shield to the mix and as soon as I set this line active , Ethernet.begin(mac, ip);The display never has the correct characters displayed again.
comment out this line and everything returns to normal, also does not make any difference if the shield is attached to the UNO r3 or not. Is It is something in the ethernet shield library???
Perhaps others out there have had same experience and this can be solved.

until I added a web server shield to the mix ...

We would have to know which shield and specifically which I/O pins it is using. We would also have to know which I/O pins you are using for the LCD.
Once you compare these I/O pin numbers you may have your answer.

Don

Like I mentioned in intinial post, I do not even plug in the shield and then upload to UNO r3 and the display wll become corrupt after the initial wait has ended.
The shield is a HANRUN
HR911105A Ethernet shield widely used for Arduino

/*

The circuit:

  • LCD RS pin to digital pin 12 //8 on UNO
  • LCD Enable pin to digital pin 10 //9 on UNO
  • LCD D4 pin to digital pin 5  //4 on UNO
  • LCD D5 pin to digital pin 4  //5 on UNO
  • LCD D6 pin to digital pin 3  //6 on UNO
  • LCD D7 pin to digital pin 2  //7 On UNO
  • LCD R/W pin to ground pin 5 on display
    */
    ...
    ...
    ...
    LiquidCrystal lcd(12, 10, 5, 4, 3, 2 );

You haven't provided a link to any information about the shield so I don't know which pins it uses but there is a good chance that if it's software uses interrupts then there is also a good chance that it uses digital pin 2 and/or 3. In that case it's software can affect your LCD even without the shield being connected.

The specific pins used by the interrupts are a function of the microprocessor chip and cannot be changed, but the LCD (assuming it is not also on a shield) can use any available I/O pins.

Also - go back and edit your original post, highlight the part that is code and click the 'code' button - it looks like a # symbol. It should then look like the code that I have quoted above.

Don

Thanks Don moving the pin on the LCD to other than 2 and 3 seems to have solved the issue. :slight_smile: