Yeah, maybe I missed the part about him using the IR REMOTE library WITH the TLC LIBRARY , but have you ever used the TLC
library ? Did you look at the tutorial on that (instructable) ? Did you even look at the wiring diagram for the IR REMOTE tutorial ?
Look closely , do you see any wires going to arduino pins 11, 12, &13 ? Those are SPI pins. The TLC5940 is a SPI protocol device. There is no possible way these two libraries can WORK TOGETHER , PERIOD. One is SPI , the other is not. They can work concurrently, in the sense that if you keep the chip select pins separate so there is no conflict the two libraries MIGHT work within the same program because the commands for each, are calling routines in different libraries and there is no reason why one should interfere with the other if the hardware does not conflict.
It's clear that using the two libraries are interfering, possibly with low level interrupts and timers, or high level code timing.
This is nonsense. (because it has nothing to do with low level interrupts, timers or high level code. It is a HW CONFLICT)
This is a quote from the attached pdf "Demystifying the TLC5940"
There are a multitude of ways you can interface with a piece of hardware. The datasheet
for your device should specify the communication protocol(s) it supports. The TLC5940
uses SPI (Serial Peripheral Interface) to communicate with a microcontroller.
SPECIFICALLY, , PINS 10 11 &13.
Why not pin-12 ? Because pin-12 is MISO (Master IN , Slave OUT). The arduino is not reading from the chip so it doesn't need that.
Pin -10 is SS (chip select ) is the chip's BLANK signal, when it goes LOW, OUTn are controlled by PWM signal.
pin-9: Level triggered latch signal. When XLAT = high, the TLC5940 writes data from the input shift register to either GS register (VPRG = low) or DC register (VPRG = high). When XLAT = low, the data in GS or DC register is held constant.
Pin-3 is the chip's GSCLK (Reference clock for grayscale PWM control)
pin-11: is the chip's SIN signal (Serial data input)
BUT WAIT ! NO ! THAT CAN'T BE POSSIBLE, BECAUSE PIN -11 IS USED BY IR REMOTE (SEE ATTACHED IR REMOTE EXAMPLE)
CODE FROM IR REMOTE example
#include <IRremote.h>
[b]int RECV_PIN = 11;[/b]
In fact THE FIRST 4 of the 8 example programs in the IR REMOTE library use pin 11 or 11 , 12 & 13. (see attached examples)
If the OP is running two libraries that are using the SAME pins, do you think that is going to work ?
@OP,
Try redefining the pins mentioned above in the IR REMOTE examples. See if it works with other pins not used by SPI.
Demystifying-the-TLC5940.pdf (628 KB)
tlc5940.pdf (1.3 MB)
IRrecvDemo.ino (545 Bytes)
IRrecord.ino (4.48 KB)