Oh but im sure you do need it ![]()
Plus buying from the UK, these are cheap as chips for you!
Shipping cost is reasonable too.
Nudge Nudge, Poke Poke... [smiley=grin.gif]
Oh but im sure you do need it ![]()
Plus buying from the UK, these are cheap as chips for you!
Shipping cost is reasonable too.
Nudge Nudge, Poke Poke... [smiley=grin.gif]
Grrrr >:(
raises hand Hyundai HG12603-A, added this as search engines don't display much for the model and I only found this thread searching for 24x8 lcd :o
I've had one of these for a few years and hooked it up to my PC's serial port to verify it worked. A fews years have passed and now I have a chance to do something with my arduino (freeduino in my case) however, sending data via Serial I just get consistent garbage on the LCD which would indicate a mismash of baud but I've tried 9600, 14400 amongst the suggested 19200 (and what I recall is what I used a few year back).
Using the serial watcher from the arduino ide, data is actually coming out fine which would suggest the serial comms is OK on the freeduino side, I guess sending sketches would be borked as well if that were the case.
Could it be something trivial as the USB line sharing pins 0 and 1 ? as I notice you have two serial lines active and I have to disconnect 0 and 1 to the lcd otherwise I can't resend a new sketch.
I'm sorry if the above is dumb, it's my first real go at the arduino past led flash v1.0 and with something just using 0v, 5v and two data lines I though it'd be trivial, so somewhat of a kick down after spending four hours going in circles. ![]()
Nik.
Basically you only need to send the TX from the arduino to the RX of the display, as you dont need to read anthing back from the display. This should stop the LCD from preventing you from downloading a new sketch when it is connected.
The baud settings should be 19200, 8, N, 1.
It does depend which flavour you have. Is it just a naked HG12603-A without a daughter board etc? I assume it has the PJRC firmware since you have already used it before?
I assume also you have the correct voltages going to the LCD... as it takes like -9VDC too... since you have used it before though I am assuming you have all that sorted and its just the comms you are having issues with?
Here are some sites which may assist:
http://www.kinzers.com/don/LCD_Panel/
Is that of any help?
Cheers
James
Hi James,
I have the daughterboard that is displayed at the bottom of here http://www.btinternet.com/~markd833/LCD/intro.htm I looked at the other pages you posted and I even used your init function, but the LCD always tries to display all characters, albeit the wrong ones. Probably due to the mappings I'm seeing not being one to one.
On another test I had even weirder results, in the setup part of the sketch I just set the baud of the serial to 19200 and did a simple for loop 0->100 and print(i,BYTE) this began with some random then it displayed what looked like the start half way through page 2 of font 0 backwards to page 1 of font 0 skipping every other character :-?
So could this be the result of a flaky max232 IC ? you know of any test I can do to isolate the problem being the max rather than the LCD itself ? As coming to think of it, when I tested it via the PC some many moons ago I can't remember if I used the tx/rx line direct which I'm guessing would have been ~+-12v but I'm just guessing at this point ![]()
edit: the baud settings seem to be correct also, I used putty on my laptop to read what arudino was sending out and all seemed OK.
Hi again
Ah - so you have THAT daughterboard. Ok. It doesnt show alot of details however I am guessing the following:
That daughterboard has the MAX232 on it which provides the necessary voltages to the display etc, but if you are connecting the TX and RX (RX not needed) from the arduino directly to this board, then that could be the problem as that board is wanting +/- 12V signals which are RS232 level signals, not TTL level which comes in/out of the arduino's TX and RX pins.
If you want to connect the microcontroller directly, you need to connect it to the pins of the LCD which dont go via the MAX232 chip.
From what I can tell, the 4 pin header on that daughter board is GND, 5V and then RS232 RX and RS232 TX (not in that order necessarely). You want TTL RX and TTL TX, which means you need to connect the arduino's TX pin to the 17 pin connector directly somehow, which is pin 3 and has the title "TTL RS-232 Receive Data to the 80C32 at 19200,8,N,1"
I cant see the schematic of that daughterboard so I am just guessing a bit, but it does appear that the 4 pin header you will be attaching to is RS232 level and not the TTL level you need.
If you want to connect to that then you need another MAX232 chip on the Arduino end converting TX and RX on the arduino to RS232 level (from TTL level) signals and into the LCD's MAX232 chip, which then converts it from RS232 levels back to TTL levels.
Hope that made sense...
Let me know if that makes sense ![]()
Cheers
James
:-[
Unfortunately it makes perfect sense, given I had it working via a PC, and the page I linked too had this small insignificant part.
"It is important to note that the serial I/O of the board is at TTL level and therefore needs to be level shifted to work correctly with a standard RS-232 serial port."
This seems to be a lesson in that I need to read things and I think my life into electronics is going to be long and painful ![]()
Thanks again, otherwise I'd still be bashing my head against a wall.
And yes, it worked when I hooked the rx direct to the pin bypassing the max chip ![]()
Beauty - well done ![]()
Enjoy the screen ![]()
Hi,
I have exactly 2 of these LCD's which I bought in the USA for around 10 bucks each plus shipping to Germany. They sadly don't have a backlight, but otherwise they function very well. I have posted three variants of my code, among which also one that saves the large font in the program space. One could still save a bit of space by loading the custom character array also into program space ( I was lazy to do that).
It is well commented and very intuitive. I invented it from scratch, so it may seem a little unconventional, but it is very concise and simple.
One can easily adapt it to show large letters, too, but it will take a REAL LOT of memory space and I would prefer a more capable controller than the atmega 328 which I used for that purpose. The 644 will have less of a problem, if the arrays are loaded into program space.
my code is here: http://home.arcor.de/dreckes
your're welcome to freely use it.
Andreas
Nice work there - great to see alternatives for these displays.
Now your challenge is to convert them into libraries so they can easily be imported into existing projects ![]()
Not that hard to do, but it would be great if you could do that for everyone.
Thanks
Hi,
I think it is easier to keep the functions accessible in a separate file, so as to adapt them to one's needs more easily as if they are packed away. With the example code I gave that is now very easy for everyone.
Cheers,
Andreas