Il modulo GY-49 basato sul sensore di luce ambientale MAX44009 della Analogo Device in grado di trasformare l’intensità della luce, compresa in un range da 0,045 a 188.000 lux, in un segnale digitale disponibile tramite interfaccia I²C.
Per informazioni relative ad altri sensori di luce vedere l’articolo Panoramica dei moduli sensori di luce
Indice
Misurazione dell’illuminamento
Il sensore presentato in questo articolo, fornisce il valore in lux della luce che lo colpisce. Il lux (simbolo lx) è l’unità di misura per l’illuminamento.
Un lux è pari a un lumen su metro quadrato. Potremmo quindi definire il lux come il flusso luminoso per unità di superficie.
È un’unità di misura relativa alla luce visibile, e pertanto dipendente dalle caratteristiche dell’occhio umano, attraverso la curva di sensibilità dell’occhio alla radiazione luminosa.
Alcuni dati di illuminamento per dare un’idea di quanto vale un lux:
- la luce riflessa della Luna piena è pari a circa 1 lx;
- la luce del Sole mediamente varia tra i 32 000 lx e i 100 000 lx ;
- sotto i riflettori degli studi televisivi si hanno circa 1 000 lx ;
- in un campo di calcio (illuminazione notturna per riprese tv) tra i 500 lx e i 1200 lx;
- in un ufficio luminoso si hanno circa 400 lx;
- la luce di una stella luminosa è soltanto 0,00005 lx .
Descrizione del sensore MAX44009
Il sensore di luce ambientale MAX44009 (vedere datasheet) è dotato di un’uscita digitale I2C. Con una corrente operativa inferiore a 1 µA, è il sensore di luce ambientale a potenza più bassa del settore e presenta un intervallo dinamico ultra ampio a 22 bit da 0,045 lux a 188.000 lux.
La risposta spettrale del fotodiodo su chip è ottimizzata per imitare la percezione della luce ambientale da parte dell’occhio umano e incorpora capacità di blocco IR e UV.
Il blocco del guadagno adattivo seleziona automaticamente la gamma di lux corretta per ottimizzare i conteggi/lux.
L’IC è progettato per funzionare con un intervallo di tensione di alimentazione da 1,7 V a 3,6 V e consuma solo 0,65 µA a pieno regime. È disponibile in un piccolo package UTDFN-Opto da 2 mm x 2 mm x 0,6 mm.
Circuito elettrico del modulo sensore GY-49 MAX44009
Per facilitare l’utilizzo del sensore Sensore luce MAX44009 è disponibile uno specifico modulo Breakout denominato GY-49.
Nello schema, oltre al sensore U1 tipo MAX44009 U1 (datasheet), troviamo il regolatore U4 tipo CMOS a basso dropout tipo 662K (datasheet) con relativi condensatori che fornisce l’alimentazione a 3.3V, quando il modulo viene alimentato dal pin VCC magari con la tensione 5V fornita da Arduino.
Il regolatore può fornire una corrente di uscita di 250 mA e consentire una tensione di ingresso fino a 6,5 V.
Per traslare i livelli sulla linea I2C 3,3V-5V sono utilizzati due transistor FET contenuti all’interno di IC3.
Il sensore permette di modificare il suo indirizzo, collegando opportunamente il pin A0 (S1) . Se collegato a +3.3V l’indirizzo sarà 1001 011x, se collegato a GND l’indirizzo sarà 1001 010x.
Impostazione dell’indirizzo del sensore
Caratteristiche del sensore
Range di misura (Lux): da 0,045 a 188.000
Alimentazione: da 3 VDC a 5 VDC
Consumo: 1 μA
Temperatura di funzionamento: da -40°C a +85°C
Dimensioni (mm): 13×10,7×3,5 (connettori esclusi)
PINOUT del modulo sensore GY-49
- VIN: ingresso alimentazione 2,7-5,5 VDC
- GND: massa alimentazione
- SCL: pin clock I2cC
- SDA: pin DATA I2C
Dove trovare il sensore?
Il Breakout GY-49 con sensore MAX44009 può essere acquistato presso il sito FUTURA ELETTRONICA, il codice prodotto è 8300-YXB235.
Il suo costo, al momento della pubblicazione di questo articolo è di 3,90 €.
Libreria di gestione del sensore
Per facilitare l’uso del sensore luce GY-49 MAX44009 è disponibile un’apposita libreria; questa funzione in unione alla libreria Wire.h è già presente come libreria standard dell’IDE di Arduino che permette l’utilizzo del protocollo I2C.
Per il caricamento occorre aprire sotto il menù Sketch, #include libreria, “Gestione Librerie..”
Nel campo ricerca si inserirà “MAX44009”, trovata la libreria realizzata da Dan Tudose , premendo su “More info..” apparirà il tasto “Installa” cliccare il tasto, la libreria verrà installata
Per altre informazioni vedere anche l’articolo Arduino – Tutorial, come installare una libreria
Collegamento di base del sensore
Vediamo prima di tutto il collegamento di base del sensore, in questo caso leggeremo i valori forniti dal sensore tramite il monitor seriale dell’IDE.
Materiale occorrente
Il materiale per realizzare il nostro Luxmetro è formato da:
Programma/codice sorgente
Di seguito è riportato il codice sorgente di base per la lettura del sensore. I valori potranno essere letti tramite il monitor seriale dell’IDE. In questo caso dovreste visualizzare una schermata simile a questa.
Le misure sono riferite al sensore posto sotto una luce da tavolo, i valori più elevati sono dovuti all’accensione del led della torcia dello smartphone.
Mancato riconoscimento del sensore
Se ci fossero dei problemi di collegamento, invece, potreste vedere la schermata sotto. Provate a verificare se il modulo è correttamente collegato. Provare ad invertire i cavi SDA e SCL. Verificare se il ponticello di settaggio dell’indirizzo è presente.
Codice del programma
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include <Wire.h> #include <MAX44009.h> MAX44009 light; void setup() { Serial.begin(9600); Wire.begin(); delay(500); if (light.begin()) { Serial.println("Impossibile trovare sensore MAX44009, controllare il cablaggio!"); while (1); } } void loop() { Serial.print("Illuminamento (lux): "); Serial.println(light.get_lux()); delay(1000); } |