[chbot] Lcd Problem

Andrew Errington chchrobotics@lists.linuxnut.co.nz
Thu, 18 Jan 2007 15:08:42 +1300


On Thu, 18 Jan 2007 14:36, you wrote:
> Hi,
> Whilst this problem isnt robot related I thought this would be the
> best place to ask.
> I have been  lurking on this list for a while, Although this is my 1st
> post.

No worries- I think you'll find that there is a wealth of knowledge here 
beyond robots...


> I made a simple LCD to LPT to practice my soldering skills but I have
> come into a bit of a problem.
> There seems to be some form of data/human error.
>  Following
> http://i.stole.all.the.rootservers.org/~ben/files/files/lcd44780.gif
> wiring diagram.
> It seems to work partially, I'm using a program called LCDsmartie to
> get data out to it, Using it to avoid my windows(doing this at work so
> no linux desktops) coding abilities be the issue.
> http://lcdsmartie.sourceforge.net/
> The settings I have set in it are
> http://i.stole.all.the.rootservers.org/~ben/files/files/Settings.gif
>
> With the output being
> http://i.stole.all.the.rootservers.org/~ben/files/files/DSCN0113.JPG
>
> I have checked all my wiring and configuration but I cannot pinpoint
> the problem.
> Does anyone have any suggestions,

Well, the first thing I will say is if you are getting *anything* legible 
at all on the LCD module then you have no serious problems at all.  I have 
used these things in various sizes on many projects (and my lounge MP3 
player has one installed running off a PC parallel port much like yours).

So, rather than being worried you should be immensely pleased- most people 
don't get this far on their first try.  It looks, therefore, like your 
problem is in the software...

There are several common sizes of LCD module, 2x24 2x40 4x40 , etc., and 
the relationship between the internal memory map and what is actually 
displayed is often a bit funky.  Since you are not actually writing stuff 
to the LCD module directly it will be hard to track down the problem, but 
it may be a bug in LCDsmartie (I used LCDproc to control mine, but that's 
under Linux of course).  Does it work *without* the 'centre text' check 
box?  Have you tried a different LCD size from the drop-down box (i.e. 
different to 2x16)?

I suggest you try an alternative program for driving the LCD, assuming you 
can find one that is compatible with the wiring scheme you have chosen.  
But at least the hardware is working.

Here is a page that describes the modules in more detail.  This particular 
link takes you to the section regarding the memory map.  If the characters 
are being placed in the wrong area of memory (in the module) then they will 
show up in the wrong place on screen, or sometimes not at all.

http://home.iae.nl/users/pouweha/lcd/lcd0.shtml#visible_ddram

Clearly, when you wish to put some text at a specific place on the screen 
you have to know in advance the kind of module you are driving (which is 
why you need the drop down box).  I'd be surprised if there was a bug in 
LCDsmartie, and clearly you have selected the correct display size, but 
it's a possibility.  I'd also be surprised if your LCD module deviated from 
the de-facto standard for HD44780-based displays, but then, that's also 
possible (perhaps a Google for the specific chip number or part number on 
the back of your module will tell you).

Good luck, and report back on your (imminent) success!

Andrew