Page 1 of 1

I2C, OOPic and LK162-12

Posted: Sun Mar 18, 2007 1:27 am
by Gizmo
I am trying to interface an LK162-12 with an OOPic II+ via I2C. The OOPic comes with a built-in I2C object that (as far as I can tell) should be compatable with the display. I've tried using a serial connection (RS232) via my PC, and the display responds perfectly (via LCD Tester - it came on the CD I got with the display), but it won't even flicker when I try to use I2C.

Display info:
MO LK/Vk162-12, R.22

There is a sticker on the back of the display's pc board that has the numbers 1330-04M06

I've verified the wiring, and played with the coding as best I can (I'm a bit of a noob at things like this), but I get no results at all. I've also tried changing the jumper settings to TTL, but got no results (can I still use the RS232 connection with my PC with these settings, or will it damage the display?).

Any help would be greatly appreciated. I've tried looking through the forum, but can't seem to find anything that I can use. I don't remember anything about C (haven't used it for more than 10 years), so I'm programming in Basic, and the examples in C and Java don't make sense to me.

Thanks in advanced. Will post code if required.

Posted: Sun Mar 18, 2007 4:59 pm
by Henry
Hi Gizmo,

Have you taken a look at section 2.1.7? Mind the typo there, it should say LK162-12 not LK404-55. Also, make sure you are talking to the display on the correct I2C address. I can't tell you right now what the default is, so the easiest way to resolve that is to set it using serial communications using uPorject. Monday Raquel will tell you the default address.

Posted: Mon Mar 19, 2007 5:39 pm
by Raquel
Hello Gizmo,

The dafault I2C slave address of the VK162-12 is 0x50. If for some reason this has been changed, try putting on the manual override jump (pins 3 and 4 of the keypad/GPO connector) while communicating via I2C.

As Henry pointed out on Section 2.1.7 of the manual, you should have the two I's soldered and the two R's desoldered. Make sure also that you have your pull-ups for the I2C lines.

Best Regards,

Posted: Tue Mar 20, 2007 12:18 am
by Gizmo
Raquel wrote:...you should have the two I's soldered...
Check.
Raquel wrote:...and the two R's desoldered...
Check.
Raquel wrote:...Make sure also that you have your pull-ups for the I2C lines...
Check.

I've been using a USB based scope by Parallax to check signals, and I have a good clean clock and data signal at the connector on the display. Also, I've reset the 'ttl logic' level jumpers to non-ttl, and was able to get the display to work with HyperTerminal, LCD Tester, and UProject via RS232. That makes me suspect that the problem is only in the I2C side of things. Are there any things that I can check/test on the board to confirm that the correct parts of the board are getting the correct signals?

Thank you very much for your assistance thus far. I really appreciate it!!

Posted: Wed Mar 21, 2007 11:54 am
by Raquel
Hello Gizmo,

Going back to addressing, please confirm that you are addressing the display at 0x50. Use this address straight out, no need to do the 7-bit addressing as per stated on section 2.1.7 of the manual.

Also, if for some reason the module has been configured with a different address, make sure that is reconfigured back to the 0x50 address by communicating with it via uProject. In the main tab, there is a section where you can set the I2C Address, enter in '50' and click on Set I2C Address.

Please let me know how it turns out.

Posted: Thu Mar 22, 2007 12:16 am
by Gizmo
Still no response from the display. I did notice, however, that the display reset itself when the OOPic started up. I had set the I2C address in UProject to 50, cleared the display, then started up the OOPic, and the display acted as though it recieved a reset command. Any link?

Posted: Thu Mar 22, 2007 10:02 am
by Raquel
Hi,

There is no reset command at all with the modules. I think there might be some power issue such that, when you have the OOPic started the displays gets reset. Is it possble for you to have the OOPic and the display started at the same time? If you have this set up, make sure the OOPic sends its first I2C transaction after some delay making sure that the display is fully initialized.

If you look at the SCL and SDA again using your scope, do you see a 01010000(ACK bit) clocked out?

By the way, I hope that you are not making new designs based on the LK162-12 PCB 2.2. We have phased out this revision and are currently producing the LK162-12 PCB 3.0.

Thanks,

Posted: Thu Mar 22, 2007 11:52 pm
by Gizmo
Raquel wrote:...If you look at the SCL and SDA again using your scope, do you see a 01010000(ACK bit) clocked out?
Hmm. That would be a little hard to decipher. You see, the display is on the same bus as the EEPROM, so there is a constant flow of data on that bus. Might this be a problem?
Raquel wrote:...By the way, I hope that you are not making new designs based on the LK162-12 PCB 2.2. We have phased out this revision and are currently producing the LK162-12 PCB 3.0...
No worries there. Just a personal home-brew project to fill the hours after work (I work an odd shift).