Pages: [1] 2 3 ... 29   Go Down
Author Topic: Graphic LCD (KS0108) library now available  (Read 45646 times)
0 Members and 1 Guest are viewing this topic.
London
Offline Offline
Tesla Member
***
Karma: 10
Posts: 6255
Have fun!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Here is the link to the Arduino playground page for a library that supports graphic LCDs directly attached to an Arduino using a parallel interface. It works with panels using the KS0108 controller chip or equivalent. It can also be compiled to drive the Hitachi HD44102 GLCD chip.

The KS0108 interface uses eight bit data bits and also needs 5 command pins, so this library is only practical if you are not using lots of pins for other things.

The playground  article has a functional overview and describes how to wire up and control a Graphics LCD panel from an Arduino sketch. Please post in this thread any questions on the library and its use and documentation.

Have fun!
Logged

Forum Administrator
Cambridge, MA
Offline Offline
Faraday Member
*****
Karma: 12
Posts: 3538
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Nice.  I linked to it from the libraries page.
Logged

London
Offline Offline
Tesla Member
***
Karma: 10
Posts: 6255
Have fun!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

analog and digital clock using the GLCD library
Logged

0
Offline Offline
Sr. Member
****
Karma: 0
Posts: 375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi mem,
Nice work!  I looked for a list of KS0108 equivalents but couldn't find one.  Do you know if the Epson SED1335F is compatible?
Logged

London
Offline Offline
Tesla Member
***
Karma: 10
Posts: 6255
Have fun!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
 I looked for a list of KS0108 equivalents but couldn't find one.  Do you know if the Epson SED1335F is compatible?

Hi Digger, the SED chip seems to be quite different. The KS0108 has internal memory support on the chip, the SED1335 uses external memory and has built in text support.  I would think a panel using the SED1335 is unlikely to be compatible, but if you have a datasheet for a specific SED1335 panel that describes the interface, we can see just how different they are.
Logged

0
Offline Offline
Sr. Member
****
Karma: 0
Posts: 375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Here is the datasheet for the specific LCD I have:

http://www.glyn.de/data/glyn/media/doc/G121CxxP00C.pdf

Thanks.
Logged

London
Offline Offline
Tesla Member
***
Karma: 10
Posts: 6255
Have fun!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi Digger, that's quite different from the KS0108. The commands and architecture looks sufficiently different that I think much of the low level access would have to be rewritten. I could try to help you do this if you are up for it, but it won't be easy if you have not done this kind of interfacing before.

Perhaps someone else here has some experience with the SED1335F chip that can help.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 7
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello i am new to Arduino i make an Adilson's serial Arduino with Atmega 8 mcu i am using the KS0108 library but i cant get any result in LCD. Did it work only Atmega168 board or not. If i try to upload sketch with LCD connected i get an error message. If i remove the LCD from the board it uploads the sketch but no result.

Thanks and sorry for my bad english smiley .
Logged

London
Offline Offline
Tesla Member
***
Karma: 10
Posts: 6255
Have fun!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Hello i am new to Arduino i make an Adilson's serial Arduino with Atmega 8 mcu i am using the KS0108 library but i cant get any result in LCD. Did it work only Atmega168 board or not. If i try to upload sketch with LCD connected i get an error message. If i remove the LCD from the board it uploads the sketch but no result.
A problem with uploading only when the LCD panel is connected is most likely due to either incorrect wiring or a short circuit in the wiring or board. This could also prevent the LCD from displaying anything when running a sketch.

Double check all the connections to the LCD panel to ensure they are the same as the diagram in the playground.

Check there are no short circuited wires in the LCD connections. Also check that there is not a short circuit on your board. Check the trace that runs from digital pin 11 to the ICSP pin, it goes near the serial connections (pins 0 and 1) and if its touching it could cause your symptoms.

I don't think its an ATmega8 issue, I have not tested with one but would expect it would work.

Let me know if these tips solved your problem.

Logged

0
Offline Offline
Sr. Member
****
Karma: 0
Posts: 375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

For now I just ordered an LCD with the KS0108 chip smiley  Down the road I may tackle it.  I know there are a couple programs on the pc that support both chips over the parallel port.  I may be able to gain some insight from their code.
Logged

London
Offline Offline
Tesla Member
***
Karma: 10
Posts: 6255
Have fun!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi Digger, let me know how you get on with the new chip.

And if you find some source code that supports both chips, please post a link, it will be interesting to see similar or different the read/write routines need to be.
Logged

0
Offline Offline
Sr. Member
****
Karma: 0
Posts: 375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Haven't had much time to look into this further, but I did find some code for the serialwombat that should provide some insight.  If you want to take a look it can be found here: http://www.serialwombat.com/sdk/sdk_lcd101.htm
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 5
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I've tried this on a graphic LCD I got from here: http://futurlec.com/LED/BLUE128X64LCD.shtml with no luck.

It's a "B" style pinout, and although the LCD lights up and I get contrast adjustment, I get no actual graphics from the Arduino. I do get a slight flicker running down the screen with a medium contrast, but that's it.

I've triple checked the wiring - the only thing I'm not sure of is the resistor to the backlight, but it's 180 Ohm (in the middle of the range given), and I can't see how that would affect data. Any clues?

I'm using a diecimila with Arduino v0010.

Thanks!

jai.
.
Logged

London
Offline Offline
Tesla Member
***
Karma: 10
Posts: 6255
Have fun!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I've tried this on a graphic LCD I got from here: http://futurlec.com/LED/BLUE128X64LCD.shtml with no luck.

It's a "B" style pinout, and although the LCD lights up and I get contrast adjustment, I get no actual graphics from the Arduino. I do get a slight flicker running down the screen with a medium contrast, but that's it.

I've triple checked the wiring - the only thing I'm not sure of is the resistor to the backlight, but it's 180 Ohm (in the middle of the range given), and I can't see how that would affect data. Any clues?

I'm using a diecimila with Arduino v0010.

Thanks!

jai.
.
Hi jai,

Try adding the following line to the ks0108.h  file
#define PUBLISH

Just before the line
#ifndef PUBLISH

delete the ks0108.o file and recompile your sketch.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 5
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Quote
I've tried this on a graphic LCD I got from here: http://futurlec.com/LED/BLUE128X64LCD.shtml with no luck.
...
Hi jai,

Try adding the following line to the ks0108.h  file
#define PUBLISH

Just before the line
#ifndef PUBLISH

delete the ks0108.o file and recompile your sketch.

Brilliant, works a charm, thank you very much. Did I miss something in the playground how-to, or is that undocumented?

jai.
.
Logged

Pages: [1] 2 3 ... 29   Go Up
Jump to: