Arduino TLC5940 y 74HC595

Necesito expandir la salida de Arduino Uno. Después de algunas búsquedas, identifiqué 74HC595 para extender mi salida digital y TLC5940 para salida analógica.

También encontré cómo conectarlos por separado a Arduino Uno:

TLC5940

74HC595

Estas dos configuraciones comparten algunos pines, he visto en este hilo que otras personas los usan juntos, pero no estoy seguro de cómo conectarlos a mi Arduino. ¿Podrías darme una pista?

¿Las bibliotecas también son compatibles?

Respuestas (1)

Puedes usarlos juntos. Ambos chips pueden ser controlados por el protocolo SPI.

Para responder a su pregunta, primero debe comprender SPI:

SPI utiliza 4 cables de datos. Suelen llamarse MISO, MOSI, SCLK y CS (selección de chip) en el mundo de Arduino. MOSI significa salida maestra - entrada esclava. MISO es entonces entrada maestra - salida esclava.

Necesitas conectar tus dispositivos así:

Arduino   |  TLC5940   |  74HC595
MOSI (11) |  SIN (26)  |  DS (14)
SCLK (13) |  CLK (25)  |  SHCP (11)
9         |  XLAT (24) |  nothing
8         |  nothing   |  STCP (12)

Si desea conectar más chips TLC5940 a la vez, cablee todas las conexiones como en la tabla anterior, pero conecte SOUT (17) del primer chip al SIN (26) del siguiente. Entonces cambiará el doble de bits y los bits del dispositivo más lejano tendrán que ir primero.

MOSI -> [SIN … SOUT] -> [SIN … SOUT] -> ….

Si necesita más 595, conecte el pin Q7S (9) al DS (14) del siguiente chip de la misma manera.

Lo siguiente se aplica a ambos chips, pero las polaridades pueden ser diferentes para algunos otros dispositivos.

Cuando cambia la polaridad de SCLK de nivel lógico bajo (L) a alto (H), ambos dispositivos muestrean la entrada de datos y la desplazan en el registro interno.

Entonces cambia la cantidad necesaria de bits cambiando el valor MOSI y ciclando el pin SCLK.

Una vez que tenga todos los datos, cambie la polaridad del CS relevante de L a H para aplicar el registro interno a las salidas. Si siguió mi tabla, tiene el pin 8 funcionando como CS para el 595 y el pin 9 para el TLC5940.

Las bibliotecas deberían funcionar a menos que utilicen una configuración que no sea compatible internamente (temporizadores, configuración de SPI...). Solo necesita asegurarse de configurar correctamente los pines de selección de chip.

Los detalles se pueden encontrar en las hojas de datos: