Sommario:

Misuratore di luce Arduino fai da te con sensore BH1750: 6 passaggi (con immagini)
Misuratore di luce Arduino fai da te con sensore BH1750: 6 passaggi (con immagini)

Video: Misuratore di luce Arduino fai da te con sensore BH1750: 6 passaggi (con immagini)

Video: Misuratore di luce Arduino fai da te con sensore BH1750: 6 passaggi (con immagini)
Video: Misurare il livello di LUCE con Arduino (**TUTORIAL**) - Ricette da Maker 2024, Dicembre
Anonim
Image
Image
Misuratore di luce Arduino fai da te con sensore BH1750
Misuratore di luce Arduino fai da te con sensore BH1750

In questo Instructable ti mostrerò come costruire un esposimetro con un grande display LCD Nokia 5110 usando Arduino.

Costruire un esposimetro è una grande esperienza di apprendimento. Quando avrai finito di costruire questo progetto avrai una migliore comprensione di come funzionano i misuratori di luce e vedrai in azione quanto potente può essere la piattaforma Arduino. Con questo progetto come base e l'esperienza acquisita, sarai in grado di costruire facilmente progetti più complessi in futuro. Puoi utilizzare questo progetto per monitorare le condizioni di illuminazione del tuo ambiente di lavoro, delle tue piante e così via. Senza ulteriori indugi, iniziamo!

Passaggio 1: ottenere tutte le parti

Ottieni tutte le parti
Ottieni tutte le parti

Le parti necessarie per realizzare questo progetto sono queste:

  • Arduino Uno ▶
  • BH1750 ▶
  • LCD Nokia 5110 ▶
  • Tagliere piccolo ▶
  • Fili ▶

Il costo del progetto è di circa $ 12.

Passaggio 2: il sensore di luce BH1750

Il sensore di luce BH1750
Il sensore di luce BH1750

Il sensore di intensità della luce BH1750 è un sensore eccezionale e molto facile da usare. Questa breakout board è dotata di un convertitore AD a 16 bit integrato che può emettere direttamente un segnale digitale, non sono necessari calcoli complicati.

Questa scheda è migliore di una LDR che emette solo una tensione. Con il sensore di luce BH1750 l'intensità può essere misurata direttamente dal luxmetro, senza bisogno di fare calcoli. I dati emessi da questo sensore vengono emessi direttamente in Lux (Lx).

Il sensore utilizza l'interfaccia I2C, quindi è molto facile da usare con Arduino. Hai solo bisogno di collegare 2 fili.

Anche il prezzo del sensore è molto contenuto, si aggira intorno ai 2$.

Puoi ottenerlo qui: ▶

Passaggio 3: LCD Nokia 5110

Image
Image
Costruire l'esposimetro
Costruire l'esposimetro

Il Nokia 5110 è il mio display preferito per i miei progetti Arduino.

Il Nokia 5110 è uno schermo LCD grafico di base originariamente concepito come schermo di un telefono cellulare. Utilizza il controller PCD8544 che è un controller/driver LCD CMOS a bassa potenza. Per questo motivo questo display ha un consumo energetico impressionante. Usa solo 0,4 mA quando è acceso ma la retroilluminazione è disabilitata. Usa meno di 0,06 mA in modalità di sospensione! Questo è uno dei motivi che rendono questo display il mio preferito. Il PCD8544 si interfaccia ai microcontrollori tramite un'interfaccia bus seriale. Ciò rende il display molto facile da usare con Arduino.

Hai solo bisogno di collegare 8 fili e utilizzare la seguente libreria:

Questa impressionante libreria è stata sviluppata da Henning Karlsen che ha fatto un enorme sforzo per aiutare la comunità Arduino ad andare avanti con le sue librerie.

Ho preparato un tutorial dettagliato su come utilizzare il display LCD del Nokia 5110 con Arduino. Ho allegato quel video in questo Instructable, fornirà informazioni utili sul display, quindi ti incoraggio a guardarlo attentamente.

Il costo del display è di circa $4.

Puoi ottenerlo qui: ▶

Passaggio 4: costruire l'esposimetro

Costruire l'esposimetro
Costruire l'esposimetro

Ora colleghiamo tutte le parti insieme.

All'inizio colleghiamo il modulo sensore di luce BH1750. Ha solo 5 pin ma ne collegheremo 4.

Collegamento del sensore di tensione

Vcc Pin va a 5V. di Arduino

Il pin GND va a GND di Arduino

Il pin SCL va al pin analogico 5 di Arduino Uno

Il pin SDA va al pin analogico 4 di Arduino Uno

Il pin dell'indirizzo non è connesso

Il passaggio successivo consiste nel collegare il display LCD del Nokia 5110.

Collegamento del display LCD del Nokia 5110

RST va al Pin digitale 12 di Arduino

CE va al Digital Pin 11 di Arduino

DC va al Pin 10 digitale di Arduino

Il DIN va al Pin digitale 9 di Arduino

CLK va al Pin digitale 8 di Arduino

VCC va su Arduino 3.3V LIGHT va su Arduino GND (retroilluminazione accesa)

GND va a Arduino GND

Ora che abbiamo collegato tutte le parti insieme, tutto ciò che dobbiamo fare è caricare il codice. Viene visualizzata una schermata iniziale per un paio di secondi e quindi possiamo iniziare a misurare l'intensità della luce in tempo reale!

Step 5: Il Codice del Progetto

Image
Image
Testare il progetto
Testare il progetto

Il codice del progetto è composto da 3 file.

splash.cui.c

ui.c

BH1750 LightMeter.ino

Codice - Immagine schermata iniziale

Nel primo file splash.c, ci sono i valori binari della schermata iniziale che viene visualizzata sul display LCD del Nokia 5110 all'avvio del progetto. Guarda il video allegato che ho preparato per vedere come caricare la tua grafica personalizzata nel tuo progetto Arduino.

Codice ui.c - L'interfaccia utente

Nel file ui.c, ci sono i valori binari dell'interfaccia utente che appare dopo che il progetto mostra la schermata iniziale. Guarda il video allegato che ho preparato per vedere come caricare la tua grafica personalizzata nel tuo progetto Arduino.

Codice UVMeter.ino - Programma principale

Il codice principale del progetto è molto semplice. Dobbiamo includere la libreria Nokia 5110. Successivamente dichiariamo alcune variabili. Inizializziamo il display e mostriamo la schermata iniziale per 3 secondi. Successivamente, stampiamo l'icona dell'interfaccia utente una volta e leggiamo il valore dal sensore 150 millisecondi. Tutta la magia avviene nella funzione loop:

void loop() { int stringLength=0; uint16_t lux = lightSensor.readLightLevel(); // Legge la luce del sensore = String(lux); //Conversione in stringa stringLength = light.length(); //Dobbiamo conoscere la lunghezza della stringa lcd.clrScr(); lcd.drawBitmap(0, 0, ui, 84, 48); printLight(stringLength); //Stampa la stringa sul display lcd.update(); ritardo(150); }

Ho allegato il codice a questo Instructable. Per scaricare l'ultima versione del codice è possibile visitare la pagina web del progetto:

Passaggio 6: test del progetto

Testare il progetto
Testare il progetto
Testare il progetto
Testare il progetto

Ora che il codice è stato caricato, possiamo testare il misuratore di luce all'interno e all'esterno. Lo provo in una soleggiata giornata primaverile qui in Grecia. Il risultato è fantastico. Possiamo misurare con precisione l'intensità della luce con un progetto facile da costruire.

Come puoi vedere nelle foto allegate, il Light Meter funziona bene. Questo progetto è una grande dimostrazione di ciò di cui sono capaci hardware e software open source. In pochi minuti si può costruire un progetto così impressionante! Questo progetto è l'ideale per i principianti e, come ho detto all'inizio, questo progetto è una grande esperienza di apprendimento. Mi piacerebbe sentire la tua opinione su questo progetto. Lo trovi utile? Ci sono miglioramenti che possono essere implementati in questo progetto? Si prega di inviare i vostri commenti o idee nella sezione commenti qui sotto!

Consigliato: