Sensore Adafruit TSL2561 – Letture di luce direttamente in Lux

tsl2561_1

Stimolato dal fatto che alle schede ESP8266 non stanno proprio simpatici i sensori di luce analogici ho ricercato qualcosa di digitale in grado di svolgere lo stesso compito, magari dotato di una libreria in grado di fornire i valori di uscita già calibrati in Lux senza dover giocherellare con formule variabili da modello a modello di fotoresistore. Ho trovato quindi questo TSL2561, prodotto dalla NewYorkese Adafruit, che ovviamente offre come valore aggiunto rispetto ad un fotoresistore del tipo GL5539 (di cui comunque ne ho una bustina piena) la lettura direttamente in Lux sulla banda del visibile, sull’infrarosso e su una banda più estesa definita “broadband”. Secondo fonte Adafruit inoltre la precisione dovrebbe essere migliore di un sensore fotografico CdS. In poche parole potremmo costruirci attorno un buon luxmetro o eventualmente un esposimetro.

Stiamo parlando di un sensore del costo di circa 6-7$; è chiaro che con la stessa cifra si possono acquistare non meno di una sessantina di GL5539, ma se vogliamo la qualità Adafruit e questo tipo di accuratezza nelle letture mi pare che siamo ancora a cifre accettabili. Poi ovviamente si può scegliere di usare uno o l’altro in base al contesto che ci interessa.

Informazioni molto dettagliate sull’impiego di questo sensore posso essere trovate sul sito Adafruit a questi indirizzi:

https://learn.adafruit.com/tsl2561/overview

https://www.adafruit.com/datasheets/TSL2561.pdf

Le librerie da scaricare sono due: una generica in comune ai sensori Adafruit ed una specifica per il TSL2561. Ho provato lo sketch di esempio anche su ESP8266 (con le dovute modifiche) e ha funzionato correttamente. Vengono prodotti dei warnings in compilazione la prima volta ma poi spariscono del tutto nelle compilazioni successive. Ricordarsi di definire nella Wire.begin i due pin associati al colloquio I2C, a differenza degli Arduino. Questo sensore è dotato poi di un pin “address” che permette di definire 3 indirizzi I2C (scollegato, a massa, a +Vcc) quindi può convivere tranquillamente con altri sensori che sfruttano lo stesso bus.

Per comodità riporto lo sketch di test Adafruit per Arduino leggermente modificato così da mostrare tutte e 3 le letture insieme e con un refuso corretto riguardante il metodo getLuminosity che nell’originale non funziona. Come si può vedere c’è una funzione configureSensor() che permette di regolare la sensibilità e la precisione del sensore, altra cosa che può rivelarsi utile.

 

SKETCH DI TEST:

Lascia un commento