In some microcontroller projects you may want to detect colors. Ones used in industry level are way too expensive for hobby projects so there should be a simpler solution for this. Fjordcarver built a simple project that is pretty good at detecting colors.
His setup uses an Arduino, RGB LED and Cds photocell as color sensor. The idea behind this is simple. It is known that photocell color response is similar to human eye. As photocell can give only one reading Aruino cycles through all three RGB LED lights and Cds reads all three reflections. Then it is up to software to determine the color out of reflections values. As one of commenters says – this should be enough for detecting when your tomatoes are ripe in greenhouse.