Serial Seetron Display

I am new to Arduino but have worked with Pic Basic and Basic Stamp quite a bit so the problem I am having is puzzling but no-doubt due to opperator error. I am simply trying to get a Seetron serial LCD display to work on an Arduino NG. I have the display set to 9600 baud and am using the following code.

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

void loop () {

Serial.print("Hello ");

delay(1000);
}

The text is properly echoed back through the Serial Monitor and the display does respond but with gobeldegook. It's as if the baud rate is not set properly or the signal is inverted (or not inverted, whichever is appropriate). I have tried this on three different Seetron serial displays and they all act the same. The red wire (+5v) is plugged into 5V, the black wire(ground) is plugged into G, and the white wire (ser) is plugged into pin 1, TX. Any help would be appreciated.

Craig

Maybe try clearing it by sending it the clear screen command:

int Instr = 254;
int CLR = 1;

void loop () {

Serial.print(Instr, BYTE);
Serial.print(CLR, BYTE);
Serial.print("Hello ");
delay(1000);
}

Looking at the first spec sheet I stumbled accross at their web site, it looks like the LCD expects RS232 signals, not TTL. see this thread: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1171063406

-j

Thanks for the response. I tried it and no difference. I must be doing something very simple wrong.

Craig

It does say that it expects RS232 levels but I have used it on the Basic Stamp and with PIC chips at TTL levels without problems, though this may be the problem.

There are two differences between TTL and RS232: levels and voltages. TTL low and high are 0V and 5V respectively, but RS232 low and high are +10V and -10V repsectively. Some RS232 devices can handle the TTL voltages (0V and 5V) but still need the RS232 levels (e.g., inverted TTL).

-j

hi

what model of display is it?

D

It's a BPI-216. Here's a link.

http://www.seetron.com/bpk216_1.htm

Here is some more info from the Seetron site. Perhaps my problem is that the Arduino serial output is not inverted. Perhaps this is the problem

From Seetron site:
Serial inputs on our products work fine with either real RS-232 (+/-15V), or its logic-level counterpart (0-5V). Our products' approximate serial logic thresholds are:

+2.5 to +15V = logic 0
+0.7 to -15V = logic 1

RS-232 voltages are inverted with respect to normal logic. That is, we normally represent a logic 1 using the higher voltage in a given circuit, say 5V. In RS-232 it's the opposite: a "1" is the lower, or negative supply voltage.
When an RS-232 line is powered up but idle (not conveying data) it is in its lower voltage state, be that approximately 0V or negative.

yes look like you are really close to the answer... here is what they suggest on their site for a UART, which is essentially a TTL serial port. Basically, you need to invert the data between Arduino and the LCD, which can be done with something as simple as a transistor. Seems like the serial speed is 9600 baud maximum, switch selectable.

D

PS: when you get this figured out, could you post a tutorial of it to the 'playground'? It's useful for others not to have to repeat the same research.

"What about taking data straight from a UART?

The output from a UART is non-inverted serial. It's upside down with respect to the RS-232 logic that the Backpack expects (where a logic 0 is +2.5 to +15V and a logic 1 is -15 to +0.5V). So it has to be inverted before being fed to the Backpack. If you are writing your own software serial-out routines or using something like the BASIC Stamp, just invert the bits you send to the I/O pin that drives the Backpack. If you are using a hardware UART, you'll have to invert in hardware. (If you invert the data bits, the start and stop bits will still be wrong and you'll get gibberish.) You can either use one section of an inverter IC, like a 7404, or a simple one-transistor inverter."

Great semi obscure topic here guys. I found this thread while searching (banging my head on the table) for a solution to my problem.

I have a Mini SSCII Servo controller board from Seetron. I was unable to get my arduino to send the SIMPLE 3 bytes required to move servo position. It was really driving me nuts because I knew all my wiring and code were perfect.

All it took for me to make it work (after reading this thread) was a single SN74LS04N Hex Inverter I had in my parts box for years.

I wired the Software Serial TX Pin on my arduino to an input of the hex inverter... took the output of the hex inverter and connected it to the serial input of the Mini SSCII. Whalla it works 100%

I love these forums. There is just so much valuable information here. I hope this place stays around forever. ;D

Phil