DOGL-128 LCD Module
Page last updated
14 Jan 2010, by
Igor Skochinsky.
7
replies
LCD,
mono-lcd,
SPI
DOGL-128 LCD module is made by Electronic Assembly. It needs a couple of capacitors but can work from a single 3.3V supply otherwise.
It uses ST7565 controller and SPI interface. I used the following connection:
+-DOG LCD-+ +--mbed--+
|36 SI |------| 5 mosi |
|37 CLK |------| 7 sck |
|38 A0 |------| 20 |
|39 Reset |------| 19 |
|40 CS |------| 18 |
|35 VDD |------| 17 |
|34 VDD2 |------| 17 |
|26 VSS |------| GND |
|33 VSS |------| GND |
+---------+ +--------+
To demonstrate the LCD I used as a base Mike Sheldon's 3D rotating Tie Fighter demo. Get it here: DOGLCDDemo.
The LCD routines are in DogLCD.h/cpp, wrapped in a class DogLCD.
This is very cool!
If you run MBED from a PC, do you need any particular powersupply arrangement, or MBED will provide the power (as it appears)?
Anders
Yes, I used just 3.3v out.
Thanks for the Library, but there is a bug in _set_xy function:
in DogLCD.cpp change lines 39 and 40 to:
cmd[1] = 0x10 | ((x>>4)&0xF);
cmd[2] = x&0xF;
(high and low nibbles of x were swapped...)
Then you also get horizontal lines :-)
Tilman
Hi Igor,
I recently purchased a DOGL128 LCD and I used your demo to check it out. Thanks, it saved me a lot of time!
I plan to use the DOG in an mbed-based heating controller project and need to augment the display support classes. Have you done any more work on this? I don't want to re-invent any wheels.
Regards,
Paul
Hi Paul,
Glad it was useful to someone :) I haven't done much since then, but feel free to post any issues you run into.
Tested with EA DOGS-102 ( EADOGS ) or EA DOGS102, it works great.
Changed DogLCD.h
#define LCDWIDTH 102 // 128 // DOGS = 102 DOGM=128
plus contrast needed to be adjusted from 0x16 to 0x09 in
DOGlcd.cpp:
void DogLCD::init()
{
const unsigned char init_seq[] = {
0x40, //Display start line 0
0xa1, //ADC reverse
0xc0, //Normal COM0...COM63
0xa6, //Display normal
0xa2, //Set Bias 1/9 (Duty 1/65)
0x2f, //Booster, Regulator and Follower On
0xf8, //Set internal Booster to 4x
0x00,
0x27, //Contrast set
0x81,
0x09, //0x16,
0xac, //No indicator
0x00,
0xaf, //Display on
};
Hi Igor,
i use the DOGLCDDemo with a nucleo board. Why connect the VDD and VDD2 to a portpin?
Regards,
Andreas
You need to log in to post a comment
This is very cool!
If you run MBED from a PC, do you need any particular powersupply arrangement, or MBED will provide the power (as it appears)?
Anders