Tengo un proyecto que requiere hacer I²C / I2C / TWI a larga distancia (30 a 40 metros).
He visto a algunas personas sugiriendo reducir la velocidad del reloj a alrededor de 500 Hz, para mitigar los efectos de la capacitancia de una línea tan larga, supongo. Los componentes que estoy usando requieren al menos la frecuencia de reloj estándar de 100 kHz. Investigué un poco más y encontré entre las respuestas a otra pregunta una sugerencia para usar una palanca de cambio de nivel P82B96. En la hoja de datos , dan ejemplos de su uso en líneas de incluso 100 metros:
me he encontrado con otra forma de cambiar los niveles a través de una placa de arranque de adafruit , que es solo un mosfet (bss138) con dos resistencias pull-up (una para cada lado / voltaje). Ellos obtuvieron la idea deuna nota de aplicación de NXP (AN10441) , y dos de los canales allí podrían usarse así:
Ahora me pregunto: ¿qué solución es la mejor? ¿O hay algo que he pasado por alto? Y también, ¿son suficientes 5V para garantizar una buena conexión? ¿Sería ventajoso usar un voltaje aún mayor como 12V?