Il problema e' che, anche pilotando un led RGB in modo lineare e non pulsato, hai una miscela di 3 bande di colore, che l'occhio percepisce come altri colori, ma che un sensore percepira' sempre come miscela (percentuali) di solo quei tre colori ... anche perche' un colorimetro e', appunto, un sensore che ha al suo interno, di solito, SOLO sensori per rosso, verde e blu, non un sensore lineare che e' in grado di dirti quale lunghezza d'onda e' quella che vedi (per quello servirebbe un monocromatore, o un sensore a riga con un filtro a diffrazione) ...
Quello che potresti invece fare, e' fare come fanno attualmente alcuni degli scanner a colori in commercio ... illuminano ogni riga alternativamente con solo rosso, solo verde e solo blu (che a te sembra bianco solo perche' la frequenza e' alta), leggendo la percentuale di riflessione per ogni singolo colore, e poi calcolando il colore del punto in base alle percentuali ... ovviamente non hai IR o UV, ma sono dispositivi per colori visibili, quindi agiscono nell'ambito della luce visibile ... altro limite e' che l'oggetto non deve essere colpito da fonti di luce esterne, che falserebbero la lettura ...
Se invece ti serve leggere un colore di un'oggetto ad una certa distanza, senza poterci appoggiare sopra il sensore, ci sono sistemi che usano camerine a bassa risoluzione ed illuminatori a led bianchi o alogeni ... ma non credo siano utilizzabili con arduino ...