Arduino Duemilanove + 122x32 graphic LCD

I connected Arduino Duemilanove and monochrome graphic LCD WG12232E-TML-NA. To print letters I wrote simple ASCII sign-generator (6x8 pixels sign-place is 20x4 characters display).
Compiled sketch is 4206 bytes.
2kHz timer on interrupt takes about 8% of ATmega328p.

Sketch:
http://sites.google.com/site/vanyambauseslinux/home/fajlovyj-menedzer/wg12232_arduino.tar.gz

Photo:

Scheme:

The list of arduino used LCDs is growing :smiley: Keep it up people :smiley:

I like the wide LCD though, where can you get it from? All normal graphic LCDs are square (boring!)

Mowcius

I bought it at local shop. It was my first experience to work with LCD so I selected this device because it was cheap. :wink:

Ok, I found one on rapid:

http://www.rapidonline.com/Electronic-Components/Optoelectronics/LCDs-Accessories/Backlit-graphic-LCD-modules/72887/kw/57-1082?source=googleps&utm_source=googleps

Maybe this one is similar to the one you have:
http://www.eio.com/p-1111-orient-display-amg12232dr-b-b6wtdw-122x32-graphic-lcd.aspx
Similar code but the one you have seems to be rather hard to get hold of...

Mowcius

It looks very similar except SBN1661G chip has E and CL inputs but SED1520 has only one RS input.
AMG12232DR has very short description so I can't say surely it will work with my code or it won't.
LOW value on E input means the MCU is writing data to display memory, HIGH value means reading (WgLCD::readChar and WgLCD::writeChar functions in wg12232.cpp).
CL is 2kHz clock input.
R/W and A0 inputs set data transfer mode.

I think SED1520 is newer chip and it has similar but more simple interface, but I couldn't find timing diagrams. How to program it? May be 68- and 80-family MCU datasheets can help because SBN1661G works via same protocol (Arduino is 68-family compatible because it has negative RESET output).

GRAPHIC LCD MODULE 122X32 B/LIT (RC)
57-1082 back Order
http://www.rapidonline.com/Electronic-Components/Optoelectronics/LCDs-Accessories/Backlit-graphic-LCD-modules/72887/kw/57-1082
This device has same interface so my code should work with it.

Ok, cool :smiley:

Mowcius

I've found something very similar on ebay (but the forum won't let me post a link until I post a message without a link in it first).

Hopefully I'll be able to post a link to the datasheet for the LCD I found in the next message.

You can modify your post and put in a link.

I am interested :wink:

Mowcius

This is the datasheet for the similar LCD I found on ebay.

http://www.esnips.com/doc/3dca3110-340d-4c97-b798-607663dadf18/4GLM_12232-2[1]/?widget=documentIcon

Does anyone know which pin would be the equivalent of CL ?

this is a link to the ebay auction:

http://cgi.ebay.co.uk/TWO-122x32-GRAPHIC-LCD-MODULES-BACKLIGHT_W0QQitemZ290390719614QQcmdZViewItemQQptZUK_BOI_Electrical_Components_Supplies_ET?hash=item439ca2bc7e

seems like almost exactly the same display, I'd just like to work out which pins require what signals to drive it.

This LCD has similar interface but other display arrangement - 2x122x16 instead 2x61x32. So my code will work incorrectly.

I found GLCD library can work with previously discussed LCD with RS pin.

What the CL pin?
Ooops, I remember. CL pin is 2kHz clock input. This LCD has internal timer, since it has no CL pin.

I hope you don't mind but I've got another question.

While the command and data signalling values are documented in the datasheet, I'm not clear on the timing. How would I know how long to keep a command or piece of data on the input lines ? Is it just while E1 or E2 is high ?

Minimum is Tds+Tdh ~ 100 ns.
I used E pins rising/falling fronts to read/write data from SBN1661G chips. I found this method when attempted to read LCD RAM data.

It seems like my code can't be used with S6A0069 controllers. These displays have 16 pins interface, the display I'm using in this project has 20 pins.