Suponho que isto seja para a prova do RobotCup Rescue, certo ? Sem saber detalhes do setup, assumo que o led receptor é um transistor em que a corrente de base é proporcional à intensidade de luz infra-vermelha recebida.
Um método simples. Colocar os dois leds lado a lado, de forma a que o receptor só consiga ver a luz de infra-vermelho reflectida e não directamente do emissor. Depois:
1º) Colocar a cor "verde" em frente aos dois leds e medir a corrente que passa no led receptor. Seja esta corrente Iv
2º) Colocar a cor "alumínio" e medir novamente a corrente, corrente Ia
3º) Colocar a cor "branco" e medir novamente a corrente, corrente Ib
Estes três passos devem ser repetidos até se encontrar um conjunto de intervalos tais que se a corrente medida estiver num destes intervalos, então a cor é conhecida.
Por exemplo, assume que a cor aluminio dá o intervalo [Ia_1, Ia_2], a cor verde [Iv_1, Iv_2] e a cor branco [Ib_1, Ib_2]. Assume que a corrente medida é Im. Então é a cor aluminio se: Ia_1 <= Im <= Ia_2. Ou é a cor verde se Iv_1 <= Im <= Iv_2
Claro que para isto funcionar, os intervalos não se podem intersectar. Mas isso depende da precisão da medida, da proximidade do par emissor/receptor à cor e ao ruído de fundo. O Sol, por exemplo, emite radiação infra-vermelha que pode corromper a medida. Pode, por exemplo, acontecer que as medidas feitas de manhã sejam muito diferentes das medidas feitas ao meio-dia.
Se isto for feito com luz artificial, depende do tipo de luz. Mas se esta for constante, não deve de influenciar muito.