Using a photocell to detect light colour.

Right, so I had an idea for a fun little project I would like to detect the colour of light using a photocell.

So before I do this I have a few worries, first is a photocell sensitive enough to achieve this?

Also, since the frequency of visible light is 400–790 THz what would be the best way to get the amplitude of each frequency in the light spectrum?

Also any advice is greatly appreciated. :stuck_out_tongue:

You're going to need optical filters

If you want a spectrogram (intensity at various wavelengths) you will need some way to split the light into a spectrum. If you just want to determine the 'color' you could use several sensors with different color filters and determine the relative intensity of those colors.

Someone had a project here not far back that used a module with white LEDs to light up the object below it, and 3 color sensors that did that color filtering. The module had to be mounted on standoffs so many mm above the object being color sensed.

I could split the light into three photocells, but I could also take the signal one photocell recieves and use an FFT (for example) on it right...? I spose using three photocells and a prism or something to that effect would be more accurate but i'd like to split the signal from one photocell if possible?

but I could also take the signal once photocell recieves and use an FFT on it right

Wrong. Very very wrong, by several terahertz.

Edit Yikes! Make that several hundred terahetz - green light at 520nm represents a frequency of 576 THz!

So what, that's out of the quantization range of any general purpose ADC's such as a sound card?

Could I not just take the light signal while it's still analog and put it though an analog pitch scaling filter to make those THz frequencies into the Hz range and the put the signal into a DAC and it would be within quanization range of a standard 44.1KHz 16bit sound card?

That would work, surly. There must be a way to do this with just one photocell. Also, what would be more accurate to use than a photocell?

Check this thread out - I think this is what you really want, the right hardware for the job

http://arduino.cc/forum/index.php/topic,60615.0.html

Thanks that looks cool but I'm trying to keep this very raw so that I understand 100% of the process, I'm not after a magic black box to do it all for me so to say :wink:

Ok ,that' fine, but how about at least starting with the right sensor to give your self a chance?

whereas a photocell is only to be a variable resistance based solely on brightness:

Could I not just take the light signal while it's still analog and put it though an analog pitch scaling filter to make those THz frequencies into the Hz range

I think you need to understand the photoelectric effect and the immensity of terahertz-range frequencies.
When you start to grasp these concepts, you'll understand that what you're asking is simply ridiculous.