
I built this project around the OOPIC Mark III but it should work with any microcontroller. The idea behind the famous Star Trek Tricorder was simple. Record the energy emissions from an object at 3 different frequencies. The ratio between the 3 frequencies will be unique to that object. The specific frequencies can tell us about the object's properties.
The Colour Tricorder uses 3 coloured LEDs, one at a time, to shine different frequencies of light onto an object. Going back to our high school physics we will recall that an object's colour is the result of the frequencies absorbed vs the frequencies reflected. RGB white light falling onto a red object will be reflected in the red part of the spectrum and absorbed in t


The schematic diagram is shown to the right. I will post some OOPic code later but the basic idea is to measure the analog value at i/o 1 three times, once while i/o 2 (green) is ON, once when i/o3 (red) is ON and once when i/o 4 (blue) is ON.
I tried out the sensor on several pieces of coloured paper and got mixed results. Blue and red detection was better than green, probably because the green LED used coloured plastic to produce green light. The red and blue LEDs were the clear type. I suspect that the bandwidth from blue and clear diodes is much tighter than from green and red coloured plastic LEDs.