LCD issues....

Jeremy Leach

Senior Member
Hi, firstly apologies as I know some of this is old ground on this forum, but haven't quite been able to find the answer.

I've soldered up the AXE033 LCD kit. I've done one before with the Datalogger kit and it worked fine in serial mode. I need this one to work in i2C mode.

It doesn't work. Not a glimmer even adjusting contrast. My question is : Do you have to do the time-message test (shorting the CLK pins) BEFORE soldering the link in J1 for i2C mode? I went ahead and soldered it without bothering to do this test (confident eh).

I've checked power and checked the soldering and it all seems ok. Plus twiddled the contrast. Not sure....
 

BeanieBots

Moderator
I've had little experience of the AXE033 in I2C mode so my approach would be to remove the link and check it works in serial mode. At least you could then eliminate hardware issues.
 

Jeremy Leach

Senior Member
Thanks Beaniebots, a good idea. Ok, some progress. It works in serial mode (without the J1 link) and also I can get the test message by shorting the CLK pins, but it doesn't work in i2C mode (with the J1 link). I'm using direct connections to SDA and SCL from output 1 and output 4 respectively of a PicAxe18X. Not using 4K7 pull up resistors because the booklet says not to as the AXE033 LCD module already has resistors. The code I'm using is :
Initialise:
Pause 5000 'Wait for display to initialise
i2cslave $C6,i2cslow,i2cbyte 'Set up i2cslave for LCD
Main:
Pause 1000
Writei2C 254,(128) 'Move to start of first line
Pause 1000
Writei2C 0,("Hello!123") 'Output text
End

I've confirmed the SDA and SCL lines are at least functional by running code to set the lines high and low at 5 second intervals and confirming the signals on the LCD board with my multimeter.

I also swapped the firmware chip with another identical LCD module - but that doesn't cure it.

One question - does it definitely need the clock chip installed for the LCD to work in i2c mode? I'd have thought not , but I've installed the clock chip anyway and sent the commands to initialise it - and the LCD still doesn't work in i2c mode.

I need to use i2C to get the clock reading from the LCD module - otherwise I'd stick to serial ;-).
 

Jeremy Leach

Senior Member
Ok, another thought....

Whats the maximum wire length for reliable i2C communication? I've got a 15cm 4 wire cable connecting a terminal block on my PicAxe board to the LCD module.
 

Technical

Technical Support
Staff member
Your writei2c lines need a 255 at the end. Unfortunately a small number of units went out by mistake with the old datasheet that did not specify this - please see the current datasheeet at

www.rev-ed.co.uk/docs/axe033.pdf

Apologies for any inconvenience.
 

Jeremy Leach

Senior Member
Thanks !! It works.

Your reply was just in time before I started more 'drastic' action.

As a matter of interest - what is the maximum distance to reliably communicate using i2c ?
 

Technical

Technical Support
Staff member
Recommended would be 30cm or so, but you can probably get up to a couple of metres on twisted pair by reducing the value of the pull down resistor to about 1k5 but watch out for stray signals affecting the cable.
 

Jeremy Leach

Senior Member
Thanks for that. Another one ..

The appendix gives the standard characters availale. However I got a wierd symbol by writing a 0 instead of a "0". I'm wondering if there's more special characters available ?

Also, the booklet gives the "most common control commands". What are the rest and where can I get info from ?

Thanks
 

Technical

Technical Support
Staff member
See the LCD manufacturers datasheet

<A href='http://www.rev-ed.co.uk/docs/led008.pdf' Target=_Blank>External Link 'http://www.rev-ed.co.uk/docs/led008.pdf'</a>

All command codes, cg ram addressing (addresses 0-15) etc. are explained there.

Edited by - Technical on 4/1/2005 6:28:21 PM
 

Technical

Technical Support
Staff member
These posts show how to do it serially - i2c would use the same general process.


Edited by - Technical on 4/1/2005 6:52:22 PM
 
Top