Wednesday, November 10, 2010
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 the green and blue. The Colour Tricorder measures the intensity of the light reflected from an object for each coloured LED light source. I used a photo resistor as a detector but a photo transistor will work as well. A green object will have a high reflectivity in green light but a low reflectivity in red and blue light. We can use these differences to teach our microprocessor to detect colours. The sensor shown was used to detect colour lines below the Mark III so the range is just 1 to 2 cm.
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.