Noob had LCD Speaking Korean?
06FJR
Posts: 12
Hullo,
Today is my 3rd day with a Stamp Works Experiment Kit. I decided to check out the 2x16 parallel LCD provided using the provided code (Parallel_LCD_2X16.BS2).
I've checked and rechecked the wiring, and it seems okay. I get a bunch of characters (the right number for what I try to display) but they all look Korean.
I modified the code to just print the string "1234567890"
What I get on the LCD is "123<=>?<=0"
Any clues?
Today is my 3rd day with a Stamp Works Experiment Kit. I decided to check out the 2x16 parallel LCD provided using the provided code (Parallel_LCD_2X16.BS2).
I've checked and rechecked the wiring, and it seems okay. I get a bunch of characters (the right number for what I try to display) but they all look Korean.
I modified the code to just print the string "1234567890"
What I get on the LCD is "123<=>?<=0"
Any clues?
Comments
Which STAMP?
What if "0987654321"?
The characters that you mentioned (results) aren't Korean.
There is a Katakana character set available on most LCDs (that's a Japanese form.)
Post Edited (PJ Allen) : 2/19/2006 9:24:45 PM GMT
Experiment 11 from the Stampworks Kit on a PDB using wiring provided on PDB and in book.
I'm using a plain ol' BS2.
If I do "0987654321" the results are the string from original post, reversed.
The "Korean" characters occur with alpha characters. Under the "Support" tab on the main Parallax web page, there is a PDF for the accessory serial 2x16 LCD. (Note: I'm using the 2x16 parallel LCD that came with the Stampworks Kit, but the serial PDF had some useful info). The document titled 2x16SerialLcd-1.pdf has a table for all the characters the serial LCD can display. The "Korean" characters I see out of my parallel display look just like the characters in the right half of the table. The PDF is at
http://www.parallax.com/dl/docs/prod/audiovis/2x16SerialLcd.pdf
Thanks in advance for any ideas.
Here it is from Attachment Manager:
I have the ribbon cable attached to the LCD plugged into the keyed slot X1
The rest of the wiring:
BS2 X1
P0 E
P2 RW
P3 RS
P4 DB4
P5 DB5
P6 DB6
P7 DB7
That's it.
The LCD_Out routine already looks exactly like the one you provide.
I changed the order of High Nib and Low Nib.· Hang about -- no I didn't.· Change the order to Low Nib then High Nib
It didn't work, though. I still get funky values. I haven't checked to see if the high-order bit is shorted high, though. Let me take a look.
It sounds to me like one of three things may be happening, but I'm not sure which. Here are the possibilities (below) as I presently see them, if I'm right. Sorry, I don't have the Stampworks Kit, so I can't be more specific.
1. Somehow the LCD is being set to use the alternate character set. As you can see from the character table in the LCD documentation, the left-hand side is English, and the right-hand side is non-English. This is true of almost any common LCD. I suspect, but do not know if there is a single command or LCD directive, to alternate from one to the other.
Unfortunately I don't have one of those LCD's to determine what may be causing that to happen. In any case, it's most likely a command being sent, probably during the initialization phase, but possibly later. I suppose it's also possible that there isn't a sufficient pause after the initialization sequence for the LCD to properly initialize; thus it may defaulting to a "native" or factory set mode.
2. I suppose it's possible that some sort of power or signal glitch is causing this as well. If any other devices, sensors or non-LCD pin ports are being used PRIOR to the·first output to the LCD, I would temporarily comment them out (use a single quote [noparse][[/noparse]'] at the beginning of each program line) temporarily, or do a hard GOTO (GOTO Bypass) around any such code, again temporarily. Then give it another shot.
3.·Lastly, how long is the cable between the Stamp and the LCD, and what are you using for a cable? There are limits both to the length and somewhat to the type of cable. If you are using a pre-supplied cable,·please ignore this question.
This should be a fairly easy one to ferret out, so hang in there, we'll have you back Stamping shortly
Regards,
Bruce Bates
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
<!--StartFragment -->
Post Edited (Bruce Bates) : 2/19/2006 10:29:47 PM GMT
1. I was thinking the same thing about an alternate character set. Let me see if I can find such a command for the parallel LCD.
2. I'll try to pare the code down to the bare minimum, as you suggest. I suppose I should have started there.
3. Good call, but it's the pre-supplied ribbon cable.
I just wired all data (4 bits) and all control (3 bits) through the LEDs on the Professional Development Board. None of the data bits is stuck at 1. One of the control bits, RS, looks like it could be, but, if that were so the LCD wouldn't display anything, and RS stuck at 1 wouldn't explain my data display problems, I think.
I pared down the code and inserted a delay between the writes of each nibble to the LCD. When I supply the string "0123456789" to the LCD, I see the sequence of nibbles:
0011
0000
0011
0001
0011
0010
0011
0011
0011
0100
.
.
.
0011
1001
In other words, all the right nibbles are being written to the LCD. Nonetheless, after sending "0123456789"
I see "0123<=>?<=". Seems like it has to be the LCD unless there is some setup command for the parallel 16x2 LCD I haven't yet found.
http://forums.parallax.com/showthread.php?p=565711
[noparse][[/noparse]It's an advise of Jon's -- do a "Find on this page" for it.]
(I hope that formatted a proper quote)
PJ,
No, I didn't. I had hoped that was "built in" to the PDB. I just applied a 4.7K pulldown nonetheless. The behavior is unchanged. Thanks for the pointer, though.
e.g. an ascii 4 is 00110100
when I try to display an ascii 4, I get '<', or 00111100
The same happens for ascii 5 reculting in '=', or 00111101
I suspect a solder blob somewhere on the LCD between bits 2 and 3 of the DB bus.
I'll call tech support as soon as they are next open and get a replacement.