13 de maig 2015

Sensor de color



El sensor de color TCS34725 ens permet conèixer el color de la llum que arriba al sensor sense que calgui il·luminació exterior ja que també incorpora un led blanc. Té un diàmetre d'uns 16 mm (com una moneda d'un cèntim) i un gruix d'uns 2 mm. Això facilita el seu us incorporant-los a elements tèxtils.

Avís: En el moment d'escriure aquesta pàgina no es podien compilar les llibreries d'aquest sensor en les plaques Gemma.

Aquest sensor es connecta amb la placa del microcontrolador fent servir una comunicació i2c que ens permet transferir la informació fent servir només dos fils (més els dos d'alimentació). Cada placa de microcontrolador només pot tenir connectat un sensor TSL2561 però sí admet altres elements i2c coexistint amb ell. Per això, la placa del sensor té duplicades les connexions i2c de manera que sigui fàcil encadenar els dispositius.
TCS34725


Per a fer servir aquest sensor cal connectar el born 3V (inferior a la foto) al born 3,3 V de la placa del microcontrolador (ATENCIÓ: No al born VBATT), el born gnd (superior a la foto) al negatiu de l'alimentació i els borns SDA i SCL amb els del mateix nom de la placa del microcontrolador. A la placa del sensor aquests dos borns hi apareixen dos cops de manera que podem triar la disposició que ens sigui més còmoda.

Per a fer servir el sensor ens caldrà la Adafruit TSL2561 Light Sensor Driver. Un cop ja tinguem la llibreria, podem fer els nostres programes. A la part inicial, hem de carregar les llibreries connesponents. A la part de declaració de variables, hem de crear un objecte Adafruit_TCS34725. En aquest cas l'objecte s'anomena tcs.

En la inicialització del programa, cal inicialitzar el sensor. D'aquesta manera el nostre microcontrolador hi estableix connexió i convé preveure que la connexió no sigui possible.

Podem encendre el llum que porta incorporat el sensor amb:
            tcs.setInterrupt(false);      // Encén el led
i apagar-lo amb:
            tcs.setInterrupt(true);      // Apaga el led

Per llegir els valors del sensor, cal cridar a la funció tcs.getRawData posant com a paràmetres les variables on volem que ens guardi els quatre valors llegits. El signe & indica que el que posem no és un paràmetre de la funció sinó la variable on ha de guardar els resultats. Els quart valor inclou la lluminositat que rep el sensor en longituds d'ona no visibles a l'ull humà.

La llibretia del sensor inclou també una funció que calcula la lluminositat rebuda (en lux) i una que calcula la temperatura de color de la radiació rebuda (en K).

A continuació hi ha un programa de prova. En aquest cas, obrim també un canal sèrie que ens permeti veure si la connexió ha anat bé i les lectures del sensor al monitor sèrie. El nostre programa de prova llegirà els valors llegits pel sensor i el mostrarà. El paràmetre DEC indica que volem mostrar els resultats en format decimal.

Programa

Cap comentari:

Publica un comentari a l'entrada

Deixa el teu comentari