Has anyone used the TCS3200 (or TCS3210, TCS230) with an Arduino Zero (Or any 3v3 systems)?
I have a working system using a TCS3200 on an arduino uno with the pulseIn() function, but I wanted to switch it to a zero.
Now the problem is the TCS3200 outputs a 4-5V digital high signal. Additionally, a multimeter can't keep up with the rate that the output signal switches at so it returns an average signal (2.5v because its a 50% duty cycle square wave).
Originally, I planned to just use a voltage divider, but when I wired one up that should have attenuated it to the 3v3 range I got results lower then that. I believe the divider is wired up correctly and there is just something basic I don't understand about a divider when its used in conjunction with a digital signal that has a high switching rate.
Here's my trouble shooting for the divider.
I measured the signal using the analog input. It returned results lower then expected. After that I confirmed they were too low of a voltage by using the pulseIn on a digital channel. Instead of the usual output from the sensor it was unable to detect any switching.
Now, I've tested the divider circuit with a logic trainer and multimeter; and using digitalWrite through the divider to analog input. Both returned 3v3 ranges. Finally, I already accounted for the TCS3200 possibly outputting a 4 volt signal, and that wasn't the problem.
So any thoughts on what I am missing?
Alternative solutions I've considered are:
Empirically adjusting the voltage divider to get the output signal to the 3v3 range without understanding why it doesn't seem to follow the formula.
A ti level shifter, which means I have to fine one that will work properly with the TCS3200. So something that can keep up with the output frequency of the sensor.
Thanks in advance!