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
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.
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
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.