Pages: [1]   Go Down
Author Topic: I2C LCD + DS1307 , work separately but not when I share the Bus  (Read 918 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I have a web4robots i2c LCD which works great by itself hooked to pins 4&5 of my Arudino Uno.
I have a DS1307 on a breakout board which I got off ebay. Looks like it might have its own pullup resistors already on the board. It works great by itself on those same pins.
I can read and write the time just fine.
When I put them both on the i2c bus together, I get all kinds of crazy results from 0:0:0 time to giberish and random numbers(Im doing serial output back to the PC .. not even trying to write to the LCD ..its just hooked up...
I have tried with and without additional pull-up resistors. Its not a power issue because I have tried with an external 12v wallwart, and It works fine with the LCD powered but I2C lines not connected.
I am scratching my head here. Any tips?
Thank you !
Ryan
Logged

Massachusetts, USA
Offline Offline
Tesla Member
***
Karma: 212
Posts: 8958
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I remember someone else having a similar problem.  It turned out that one of their two devices was not fully I2C compliant.  It worked fine by itself but since it did not implement addressing it responded to every request on the bus, even requests for other devices.  Check the specifications for our LCD to see if it's supposed to work with other I2C devices on the same bus.
Logged

Send Bitcoin tips to: 1L3CTDoTgrXNA5WyF77uWqt4gUdye9mezN
Send Litecoin tips to : LVtpaq6JgJAZwvnVq3ftVeHafWkcpmuR1e

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thank you for the help John.
http://web4robot.com/LCDCtrl.html is the controller.
In the manual it does say:
"I2C Slave Interface : Industry standard Philips I2C bus compatible interface.
Data rate 100 kbps. "

A little more testing shows that the LCD operates OK on the I2C bus with both hooked up, but the clock always returns 0:0:0 when I write the time to the LCD.
When I have both hooked up but run code that ONLY read/write to the RTC and shows results via serial back to the PC I get mixed results of 0:0:0 and sometimes random times.

Is there a better i2c controller I should buy for my LCD ? 
I may be able to sacrifice two more I/O pins and just run it serial .. but would prefer not to.

Thanks !
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

it was the wire I was using (old ide ribbon cable) must have been a capacitance issue. works fine with breadboard wire.
Logged

Pages: [1]   Go Up
Jump to: