Eu tenho um projeto que requer I²C / I2C / TWI a uma longa distância (30 a 40 metros).
Eu já vi algumas pessoas sugerindo baixar a freqüência para algo em torno de 500 Hz, para mitigar os efeitos da capacitância de uma linha tão longa, presumo? Os componentes que estou usando requerem pelo menos a taxa de clock padrão de 100 kHz. Eu fiz algumas pesquisas adicionais e encontrei entre as respostas para outra pergunta uma sugestão para usar um deslocador de nível P82B96. Na folha de dados, eles dão exemplos de como usá-los em linhas de até 100 metros:
deparei-me com outra maneira de alterar os níveis através de uma placa de fuga da adafruit , que é apenas um mosfet (bss138) com dois resistores pull-up (um para cada lado / tensão). Eles tiveram a ideia deuma nota de aplicação do NXP (AN10441) e dois dos canais lá poderiam ser usados assim:
Agora eu me pergunto: qual a melhor solução? Ou há algo que eu tenha esquecido? E também, 5V é suficiente para garantir uma boa conexão? Haveria uma vantagem em usar uma tensão ainda mais alta como 12V?