Define "long". Cuando dices "escudo", estoy pensando en algo que puede conectarse directamente al Arduino, por lo que la ruta de la señal es de 3 a 5 pulgadas. Los AVR / Arduinos tendrán un problema con no para comunicarse a esa distancia (a menos que intentes realmente causar uno); incluso una distancia de 2-3 metros debería estar bien hasta unos pocos MHz.
Específicamente para SPI, ya que está completamente controlado por un maestro, la única forma de que pueda tener problemas es cuando recibe del esclavo, solo si el borde del reloj tardó tanto en llegar al esclavo, cuando se envió el siguiente bit , el maestro ya estaba esperando el siguiente bit. El límite teórico duro impuesto por el TLC5941 sería de 10 metros de longitud total cuando se ejecuta a 30 MHz (c / 30 MHz).
Los arduinos normalmente no se ejecutan tan rápido de todos modos, por lo que es posible que puedas alcanzar hasta 5 metros en el estándar de Arduino de 16 MHz si se termina con algunas resistencias. Si no necesitas velocidad extrema y puedes correr a 100-500 kHz, probablemente puedas cruzar un campo de fútbol con un cable decente.
Los efectos de interferencia de EM deberían ser extremos para interferir con una señal de 0-5V. A menos que lo estés ejecutando dentro de un microondas, fuggedaboutit. SPI no es LVDS.
Por su facilidad de uso y simplicidad, los controladores I2C pueden ser el camino a seguir (por ejemplo, NXP PCA9635 ). I2C solo usa 2 líneas (reloj y datos), en comparación con 3 + 1 por esclavo para SPI. Serán más lentos que los controladores SPI, pero a menos que esté intentando actualizar una matriz de 64 LED a 60 Hz (o similar), debería estar bien.