Il TCS3200 è un particolare sensore costituito da un array di 8×8 fotodiodi che convertono la luce in frequenza. Più precisamente, il sensore è composto da 16 fotodiodi con filtri blu, 16 con filtri verdi, 16 con filtri rossi e 16 non filtrati. Tutti i fotodiodi dello stesso colore sono collegati in parallelo.

Quando un oggetto è posto frontalmente ad esso, questo viene illuminato dai 4 led bianchi e la luce riflessa andrà a colpire la parte frontale del fotodiodo, ottenendo così in uscita un’onda quadra con duty cycle del 50% e frequenza direttamente proporzionale all’intensità della luce assorbita. La frequenza a fondo scala in uscita può essere regolata su uno dei tre valori preimpostati disponibili tramite due piedini dell’ingresso di controllo.

I piedini S2 e S3 sono usati per selezionare quale gruppo di fotodiodi (rosso, verde, blu, chiaro) sono attivi. Il sensore va alimentato con tensione singola compresa tra i 2.7 a 5 V.

Come si intuisce dalla figura in basso, il sensore è costituito da due blocchi principali:

  • Il primo blocco è costituito dalla matrice di fotodiodi, che sfruttando l’effetto fotovoltaico riesce a riconoscere una determinata lunghezza d’onda della luce incidente e trasforma questo evento in un segnale elettrico proporzionale in corrente.
  • Il secondo blocco invece, attraverso un convertitore corrente-frequenza adatta e semplifica la lettura del segnale, che in questo caso è stato acquisito attraverso la scheda Olimexino-328.

Riporto i pinout del TCS3200:

Il grafico tratto dal datasheet ci mostra la risposta del fotodiodo in base alla lunghezza d’onda compresa nel range dello spettro del visibile.

Per ulteriori informazioni allego il link del datasheet:

https://www.mouser.com/catalog/specsheets/TCS3200-E11.pdf

Passiamo ora alle connessioni hardware. Per sfruttare al meglio il sensore ho voluto realizzare un piccolo dispositivo capace di pilotare un led RGB che assume il colore dell’oggetto che gli si pone avanti. Ho utilizzato la scheda di sviluppo Olimexino-328 per l’acquisizione dati ed il controllo del led RGB.

Ecco una piccola dimostrazione del funzionamento:

Valerio Conicella