http://www.ti.com/lit/ds/symlink/opt101.pdfLa curva es correcta, pero no es tan facil como leer el voltaje y obtener la longitud de onda. Por que el voltaje varia con la intensidad de luz que le llega.
Supongamos un led y que le llega 10uW al sensor de color rojo 600nm , entonces tendrias 4V.
Si por ejemplo se desenfoco el mismo led y esta ves apunto a otro lado y la potencia que llega es de 1uW, tendrias 0.4V.
Hay un ejemplo en el datasheet en el que usa 3 leds RGB, los cuales su luz no incide sobre el sensor, y lo unico que afecta al sensor es la luz reflejada.
Activando 1 por 1 los leds puede determinar que color se refleja mas, para determinar el color de lo que esta intentado medir.
Pero esto hay que calibrarlo, o mejor dicho normalizarlo. Deberias poner una superficie blanca ( neutra, que refleje los colores por igual ), de tal forma que todos reflejen y obtener un valor maximo para cada luz, entonces mientras mas se aproxima a estos "maximos" significa que el color es mas predominante. Esta explicado el proceso en el datasheet
En ese ejemplo hace mucho incapie en que ningun otro rayo afecte al sensor mientras.
Si supongamos que tengo esta ves 3 leds. Verde, Azul, Rojo. A una distancia FIJA, con una corriente FIJA para que no varie el brillo, y que unicamente incida sobre el sensor la luz de estos leds, y que los leds esten apuntando al sensor obviamente. Y por si fuera poco que no se muevan los leds!, es decir siempre apunten al mismo lugar
Si se cumple todo eso y quisieras saber cual se activo, como no conoces la potencia de cada led, lo que podes hacer es activar cada led y tomar el voltaje,, y luego usar ese valor como punto de comparacion para cuando se enciendan nuevamente.