Yes I am diving little into traditional stuff, still its interesting to try something from scratch. While working on some hi-tech stuff where we mostly don't care about writing something from scratch as its time consuming. Now a days platforms like arduino are concentrating on Application, they are not meant to use to understand the hardware peripheral. In fact I never tried it though ;). I know there are lots of example available online regarding this graphics LCD. This LCD I selected is HDG128x64F, which is more or less what is conventionally used, but I found some differences as in column addressing method. I got datasheet about HDG128x64F here, where I can only find some commands which are more or less similar to that of 16x2 LCD except RAM addressing method. To start working on this I preferred using Proteus Simulation software to make it more flexible in terms of Hardware.
Note - This software I tried with Proteus not on actual hardware. Put comment below if you find it difficult on actual hardware.
Hardware -
Following is the circuit you can try in proteusTo interface this Graphics LCD I used ATMEGA32 as many people love to do hobby stuff on AVR and me too :D. Few problems I encountered while displaying any sort of character on display. One is that the addressing for column e.g. 0 starts from top right corner rather than left top corner. Second, I found that whenever I was writing the RAM address was auto increment from right to left than left to right, which is kind of weird operation.To make it work I made changes in software. If anyone of you have encountered/ or know solution on this you are welcome to comment. Following are the command codes for display
Software -
In the current software version I have only concentrated on displaying fonts. Before character I had decided to display image but anyway that is not a hard job as only I have to fill RAM buffer with image pixel data, hence I worked on displaying characters. Thanks to Andy Gock's font header file here. I used this fonts file directly in order to display it on GLCD.
You can find this lib on my github repository. Download codeComment below if any suggestions/ help.
Regards,
Shrenik.
Contrast pin 3 should be connected through middle pin of 10k POT and two ends of POT should be connected with pin18 (i.e. -10V) and VCC (5V).
ReplyDeleteIs the codes works on the LCD display?.Thank you for sharing the circuit images and the hardware used for this experiment.The Embedded Software Development Services are really looking forward to generate new devices with the help of embedded software engineers.The work you had shared here is really appreciable.
ReplyDelete