Sparkfun Serial LCD display problems

Hello,

I have attached a Sparkfun Serial LCD to a Duemilanove, with the GND to GND, +5V to +5V and TX to RX.

I uploaded the following simple sketch:

void setup() { delay(1000); Serial.begin(9600); }

void loop() { delay(500); Serial.print("Hello Jason"); }

When I power up the Arduino, the serial LCD display continuously scroll giberish characters on the top line. If I then disconnect the +5v and reconnect, it scrolls Hello Jason. If I then upload a new sketch, the new sketch works fine (such as 'Hello Beautiful'). No display problems. But if I disconnect the USB power and reconect, I get the same giberish characters on the LCD display.

I contacted tech support at sparkfun with the following message, and they suggested I go to this forum.

Hello, I am sorry to hear that you are experiencing this issue. This is not normal behavior for the serial enabled lcd. And is probably something wrong in the code. However I am unable to trouble shoot code. We can only ensure that the hardware is functioning properly. I would imagine that you can find some assistance from the Arduino forums. There are a lot of very helpful people there that may be able to assist you better on this issue. The lcd sounds like it is functioning properly. You may simply need to include a start bit, so that the lcd will acknowledge when to begin looking for data. Your resetting the screens power is allowing the lcd to reset and begin accepting the data again. There should be a way to mimic this power cycle with some code. arduino forums is a great place to start.

Thanks, Timothy

Spark Fun Electronics Technical Support 6175 Longbow Drive Suite 200 Boulder, CO 80301 spark@sparkfun.com 1-303-284-0979

Jason wrote:

Hello Sparkfun,

I have just received a serial enabled 16x2 sparkfun display that I have attached to an Arduino Duemilanove and uploaded the following sketch to the Arduino

void setup() { delay(1000); Serial.begin(9600); }

void loop() { delay(500); Serial.print("Hello Jason"); }

I have the LCD display attached to the TX of the Duemilanove and the 5V and GND

The display upon attaching the USB cable to the Duemilianove shows Sparkfun at starup then only displays a bunch of x's with a _ on top of the x, or nothing at all.

If I then disconnect the 5v and reconnect it, the display scrolls "Hello Jason" as it should. I can upload a sketch and it works fine, but if I unplug the Duemilanove and plug it back in, I get the x's_ problem again, I have to disconnect power from the Display and plug it in and all works normally.

Is this how its supposed to work, I don't know how to ever get a functional circuit if you have to disconnect wires?

Thanks

Jason

Any help would be most appreciated. I can't find any info on a start bit.

Jason

If I then disconnect the +5v and reconnect, it scrolls Hello Jason.

What +5V is this to the Arduino or just the LCD display?

A start bit is the first part of the asynchronous data

Could it be that the LCD receive bad data as the commucation with the USB is establish? Try disconnecting the RX of the LCD as you power everithing up then download the sketch then reconnect the RX (of the LCD) and hit reset! i think that the LCD receive data that make it go in bizarre mode from the USB comm. If you don't like that try using a soft serial

I dont want to create a new post about the same topic, but I am having the same issues. I have this serial lcd: http://www.sparkfun.com/products/9394
and here is my code:

/*Sample code for the SerialLcd library which shows the time in millis on the top and bottom lines of the LCD.
*/
#include <Seriallcd.h>
Seriallcd lcd;


void setup()
{
  Serial.begin(9600);
  lcd.backlightOn();
}

void loop()
{  
  lcd.selectLineOne();
  delay(100);
  Serial.print(millis());
  lcd.selectLineTwo();
  delay(100);
  Serial.print(millis()/2);
  delay(100);
}

When I upload the code, nothing happens, but as soon as I remove the 5v power to the lcd and then plug it in again, it works perfectly fine.

Any ideas?

Here is a video:
http://ubuntuone.com/p/UFz/
http://ubuntuone.com/p/UFt/

Try using NewSoftSerial and check if the problem occurs on other pins too. - http://sundial.org/arduino/index.php/newsoftserial/