Das Prinzip ist schon recht gut. Man sollte aber eventuell ein paar mehr (wenigstens 4 = blau,gruen,gelb,rot) LEDs nehmen, so das sich keine deutliche Lücke im Spektrum mehr ergibt. Die LEDs sollte man so ausrichten, das das Licht schräg einfällt und senkrecht gemessen wird. So wie das da dargestellt ist, kommt auch viel glänzend reflectieres Licht auf den Sensor. Als Sensor wäre eventuell auch ein Phototransistor oder eine Photodiode besser geeignet, da besser linear.
Ich habe gerade einen ähnlichen Sensor mit 10 LEDs aufgebaut, allerdings mit dem Ziel sehr feine Farbunterschiede zu erkennen. Funktioniert eigentlich schon ganz gut, man kann z.B. durchaus Vorder- und Rückseite von manchem weissen Papier unterscheiden. Es fehlt aber noch etwas Abgleich und Software.