Here is the datasheet I used to do the wiring
That is not a data sheet. That is a wiring diagram.
A data sheet will show all the technical information about the lcd panel
and will have the pinout for the lcd panel.
There are many different pinouts for ks0108 glcds and if things are improperly hooked up
it can damage the glcd or the Arduino board.
That is why it is very important to locate a proper datasheet for a glcd to see
the functions for each of the 20 pins to ensure that the pin connections to the Arduino are correct.
Here is what a couple of ks0108 datasheets look like:http://www.longtech-display.com/produts/LCD%20MODULES/longtech%20pdf/LGM12864B.pdfhttp://docs.bgmicro.com/pdf/lcd1030.pdf
Pretty much all glcds have their model silk screened on the back of the board.
Look at the back of the board and you should see the lcd model.
It will usually have "12864" somewhere in the model name.
You can do a google search with the model name to locate a datasheet for the glcd.
I also read the the ks0108mega.h file
#define glcdDI 36 // D/I Bit
// Reset Bit - uncomment the next line if reset is connected to an output pin
#define glcdRES 30 // Reset Bit
it seems the only difference for the datasheet I used and those states at the config file is those I copied above, is there a difference of D/I bit and RS. My reset is 17 not 30, should I use 30 instead.
Sorry about any confusion here.
RS and DI are the same. Some data sheets call the pin RS and some call it DI.
They are the same thing.
The numbers like 36 for glcdDI and 30 for glcdRES are Arduino pin#s.
All the numbers you see in the glcd pin config files like ks0108_Mega.h are arduino pin #s.
Numbers like "17" for reset are the glcd pin number.
If you want the glcd library to control the reset signal on the glcd, you hook
the arduino pin number for glcdRES to the reset signal pin number on the glcd.
In your case that would be hooking up Arduino pin# 30 to glcd pin #17.
When I compile the sketch, do I need to disconnect the reset, let the sketch upload and connect the reset.
Unfortuantely there are some issues with AutoReset on certain Arduino boards
which can cause uploads to fail when the the Arduino reset line is hooked directly to the glcd
The real issue is that some glcd modules need a reset pulse and some don't.
On the glcds that don't need a reset some glcds can work with the glcd reset pin tied to vcc
as shown in your wiring diagram. Some glcds will work when the glcd reset signal is left unconnected.
For the glcds that need a reset pulse the problem is that
some Arduino boards will not auto reset if the glcd reset pin is hooked up to the Arduino board reset pin.
For those glcds you must control the glcd with an arduino pin.
The safest thing to do at this point would be to eliminate any potential reset issue by letting
the library control the reset pin.
To do that you uncomment the line like you did and then hook Arduino pin 30 to the glcd reset signal pin.
After the glcd is working, if you don't want to use an arduino pin to reset the glcd, you can
try connecting the glcd reset pin to VCC instead. But if you do that make sure to go into the
ks0108_Mega.h header file and comment out the glcdRES line to make sure the glcd library
does not try to use the pin.
I have used the GLCDdiags and nothing happen to the LCD display. you mentioned about using the diag and until it pass, is this diag the same as the GLCDdiags sketch I used.
Yes sorry about my wording.
When I compiled the GLCDdiags, other than the comment regarding the byte,
"byte"? Not sure what you mean by this.
there is no other information. You also said diag reports information out the serial port, where can I find the serial port, bear with me, I know it sounds kind of stupid.
In the IDE if you click on the serial monitor icon, it will bring up the serial monitor.
Set the baud rate to 9600 and you will see the diagnostic messages from the GLCDdiags sketch.
If you post the information from diags, it will help to diagnose what is happening.