Where did you get the glcd?
Did the seller specify what chipset the glcd used?
Are there any labels on the actual pins on the glcd?
Before you proceed any further, you need to identify which glcd module you have.
And more importantly find it's datasheet.
glcds are not like the character hd44780 displays in that the hd44780 displays
for the most part all use a compatible pinout and all use the same electrical
and s/w command structure to talk to them.
There is no "standard" for glcds.
They use different chips sets and have many different pinouts.
Even modules that have the same chipset on them can have different pinouts
including for power. The big problem is that if it is hooked up incorrectly
the glcd module can quickly be burned up, particulary if the power
connections are incorrect.
So when playing with glcds guessing on the wiring is not good since
it is possible to damage the glcd with incorrect wiring.
The fact that you got the backlight and contrast to work is a good sign that the power
connections were all correct. (I'm assuming that rotating the contrast pot can
turn all pixels on or all pixels off depending on direction of the pot)
The tutorial you linked to is for a glcd module that uses a st7920.
st7920 and ks0108 modules have similar looking pinouts but are very
The way to identify a st7920 module is you will see pins labeled:
Where as a ks0108 will have these pins instead
It is very important to get the proper datasheet.
Use the wrong one and it can damage the glcd.
The labeling on the back seems to indicate a ks0108.
I was able to find this datasheet: http://www.scribd.com/doc/6564393/4GLM128641
which may be one you have.
If you have labeled pins on your glcd that would fully identify it.
Once the glcd and pinout has been identified, there are two very nice libraries:
- glcd (which I maintain)http://code.google.com/p/glcd-arduino/http://playground.arduino.cc/Code/GLCDks0108
- u8glib (which is maintained by Oliver Kraus) http://code.google.com/p/u8glib/
glcd is very fast but currently only works for ks0108 and sed1520 displays
glcd supports text regions and scrolling.
u8glib has support for many different displays including displays that use i2c or spi,
which can save alot of pins.
u8glib doesn't support text scrolling but supports text rotation
and has many more fonts included than glcd.
The two libraries work very differently and have different capabilities.
Both support text and graphic primitives that are way beyond the capabilities
provided by the st7920 library you linked to earlier.