Go Down

Topic: I2C With Max 845 Help (Read 1 time) previous topic - next topic


Hello Every body,

i am using arduino uno R2  TWI library to use I2C protocol at my system.
but i need extended range greater than 100 m at least
so i decided to use max 845 IC to extend signal range as :-

Data will be
(A4 port) 5 V --max--> -3<-----w1------->-3  ---> Rev Max--> 5v
                                 3 <-----w2-------> 3

so i can extend my range greater than 200 m without data lose

but for sorry max Ic to differentiate the 5 v to 3 and -3 to transmit them it need to direction pin at Tx = 1, and at Rx = 0. to work.

but wire library don't support it as it  works only at pin mode of (A4) from Read to Write modes.

so please all help me to solve this problem coz i really need this solution tooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo :)

Thanks In advance :)

bye bye


Are you sure you are using a max845
It looks like this is the wrong chip.
I am not at all sure if you can get the I2C bus to work over 200 meters anyway. I can't think of any way to do it, sorry.


Thanks for your fast replay :)

Sorry i was wrong the IC name Is SN75176BP


it differentiate single wire data to two wires + and - to transfer it for along distances without nice effect :)

Sorry again :)

what about now Can any body help ??

Thanks In advance :)

bye bye


Your require pages is cannot open by blow
Reason : Connect this pages through directly deep link


How about using async serial and RS485?

Please post technical questions on the forum, not by personal message. Thanks!

More info:


Thanks for your fast replay,

well i tried last night connecting master using SerialPort Library then take serial signal to mentioned IC (SN7...) for bus then connect it to RX and Tx of the Slave

and it is good for sending from master to slave's as the writer is One
but it is so bad at reading data from slave's as the writer's are so much at the same time.
so data damaged at the bus Coz over Flow and intersection between the signals
and i am working now at finding solution for this prob.
i thought at (bus status wire flag )it will be high volt if any body use the bus or low if the bus is free so the slave can set it to high and start sending if it is high so it have to wait till it became again free !!!
for any comments please tell me

any body have any idea please help me.

Thanks All for your cute replay :)

bye bye


I dont't think these chips can do what you want. The I2C protocol requires that the receiver be able tvo pull down the line. You can't simulate this with a bus enable line because both ends have to know when to switch it.

Go Up