Reading Voltage

Hello, I am using this colour sensor for a project TCS34725 Colour Sensor more specifically within a grove I2C colour sensor module. Would it be possible to get a voltage reading of each channel i.e. RGBC in order to calculate current. At present it outputs 16bit values due to the ADC and was wondering if it's possible to reverse that for an analogue reading or if that's unfeasible and additional components (I saw that there are current sensors but from my understanding they won't give me the current of each channel), technical equipment are needed instead. Or if it's not possible in general.

Could you explain your goal in more detail? Why do you need a raw current data from the color channels?

I'd like to plot my own spectral responsivity curve for each channel (for a project) and from what I've found responsivity of a photodiode is the ratio of current to power incident to the diode (I have also just found that it can also be represented as volts/W so either voltage or current would suffice). I plan on using a monochromator to change the wavelength of light on the diode. I'm just not sure if it's actually feasible to get these readings off the channels.

To be honest, I'm not an expert in this. But from general considerations I doubt that this is possible. Most likely, the data received from the sensor are not raw current integrals, but most likely already calibrated according to the spectral characteristics of specific color sensors.

Ahhh alright, thank you! I'll put that idea to the side then. But quick question when you say calibrated for spectral characteristics is that something that happens within the ADC?

Perhaps you are over-thinking this.
The sensor reads the photodiode current, and presents it on the I2C bus.
SO you can read the data in a digital form.
How would you process it if it was an analog value?

Why would you want a voltage reading then somehow convert it to current?

Just read the data from the cdata registers. You COULD then apply a correction based on the spectral responsivity as shown in the data sheet.

Interesting I guess I hyperfixated on the current/voltage aspect and thought I'd get the incorrect responsivity with the digital readings. So are you saying that if I instead do the ratio of digital value to power it's still an accurate representation of responsivity?

How would you process an analog value? With an arduino - which is NOT an analog computer?

Not sure what you are trying to do. The values returned are the integrated current of the photo diodes.

Did you see page 13 in the datasheet?

TCS34725 datasheet

If you wanted a reading like say, parts per thousand, you could write something like:

unsigned long value = reading * 1000UL + 5 / 65536;

The question doesn't make much sense. You can read only the values in certain registers that the sensor makes available to you, and the meaning of those values is clearly described in the data sheet.

It is important to note that the values are characterized in terms of specific illumination, given in the footnotes to the "Optical Characteristics" table.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.