Sommario:
- Fase 1: Panoramica del BH1715:
- Passaggio 2: cosa ti serve.
- Passaggio 3: collegamento hardware:
- Passaggio 4: misurazione dell'intensità della luce Codice Arduino:
- Passaggio 5: applicazioni:
Video: Calcolo dell'intensità della luce utilizzando BH1715 e Arduino Nano: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Ieri stavamo lavorando su display LCD e mentre lavoravamo su di essi ci siamo resi conto dell'importanza del calcolo dell'intensità della luce. L'intensità della luce non è importante solo nel dominio fisico di questo mondo, ma ha anche il suo ruolo ben noto nel dominio biologico. La stima accurata dell'intensità della luce gioca un ruolo fondamentale nel nostro ecosistema, nella crescita delle piante, ecc. Quindi, per questo scopo abbiamo studiato questo sensore BH1715, che è un sensore di luce ambientale del tipo a uscita seriale a 16 bit.
In questo tutorial, dimostreremo il funzionamento di BH1715 con Arduino Nano.
L'hardware di cui avrai bisogno per questo scopo è il seguente:
1. BH1715 - Sensore di luce ambientale
2. Arduino nano
3. Cavo I2C
4. Scudo I2C per Arduino Nano
Fase 1: Panoramica del BH1715:
Prima di tutto vorremmo familiarizzare con le caratteristiche di base del modulo sensore che è BH1715 e il protocollo di comunicazione su cui funziona.
BH1715 è un sensore di luce ambientale digitale con un'interfaccia bus I²C. Il BH1715 viene comunemente utilizzato per ottenere i dati sulla luce ambientale per regolare la potenza della retroilluminazione del display LCD e della tastiera per i dispositivi mobili. Questo dispositivo offre una risoluzione a 16 bit e un intervallo di misurazione regolabile, consentendo il rilevamento da 0,23 a 100.000 lux.
Il protocollo di comunicazione su cui funziona il sensore è I2C. I2C sta per il circuito inter-integrato. È un protocollo di comunicazione in cui la comunicazione avviene tramite le linee SDA (dati seriali) e SCL (orologio seriale). Consente di collegare più dispositivi contemporaneamente. È uno dei protocolli di comunicazione più semplici ed efficienti.
Passaggio 2: cosa ti serve.
I materiali di cui abbiamo bisogno per raggiungere il nostro obiettivo includono i seguenti componenti hardware:
1. BH1715 - Sensore di luce ambientale
2. Arduino Nano
3. Cavo I2C
4. Scudo I2C per Arduino nano
Passaggio 3: collegamento hardware:
La sezione relativa ai collegamenti hardware spiega sostanzialmente le connessioni di cablaggio necessarie tra il sensore e il Raspberry Pi. Garantire connessioni corrette è la necessità di base mentre si lavora su qualsiasi sistema per l'output desiderato. Quindi, i collegamenti necessari sono i seguenti:
Il BH1715 funzionerà su I2C. Ecco lo schema elettrico di esempio, che mostra come cablare ciascuna interfaccia del sensore.
Di default, la scheda è configurata per un'interfaccia I2C, quindi consigliamo di utilizzare questo collegamento se sei altrimenti agnostico. Tutto ciò di cui hai bisogno sono quattro fili!
Sono necessarie solo quattro connessioni pin Vcc, Gnd, SCL e SDA e questi sono collegati con l'aiuto del cavo I2C.
Queste connessioni sono mostrate nelle immagini sopra.
Passaggio 4: misurazione dell'intensità della luce Codice Arduino:
Iniziamo ora con il codice Arduino.
Durante l'utilizzo del modulo sensore con Arduino, includiamo la libreria Wire.h. La libreria "Wire" contiene le funzioni che facilitano la comunicazione i2c tra il sensore e la scheda Arduino.
L'intero codice Arduino è riportato di seguito per comodità dell'utente:
#includere
// BH1715 L'indirizzo I2C è 0x23(35) #define Addr 0x23 void setup() { // Inizializza la comunicazione I2C come MASTER Wire.begin(); // Inizializza la comunicazione seriale, imposta la velocità di trasmissione = 9600 Serial.begin(9600); // Avvia la trasmissione I2C Wire.beginTransmission(Addr); // Invia il comando di accensione Wire.write(0x01); // Arresta la trasmissione I2C Wire.endTransmission(); // Avvia la trasmissione I2C Wire.beginTransmission(Addr); // Invia il comando di misurazione continua Wire.write(0x10); // Arresta la trasmissione I2C Wire.endTransmission(); ritardo(300); } void loop() { unsigned int data[2]; // Richiedi 2 byte di dati Wire.requestFrom(Addr, 2); // Legge 2 byte di dati // ALS msb, ALS lsb if(Wire.available() == 2) { data[0] = Wire.read(); data[1] = Wire.read(); } ritardo(300); //converte la luminanza float dei dati = ((data[0] * 256) + data[1]) / 1.20; // Invia i dati al monitor seriale Serial.print("Ambient Light Luminance:"); Serial.print (luminanza); Serial.println("lux"); }
La parte seguente del codice avvia la comunicazione i2c e la comunicazione seriale con l'aiuto della funzione Wire.begin() e Serial.begin().
// Inizializza la comunicazione I2C come MASTER
Wire.begin(); // Inizializza la comunicazione seriale, imposta la velocità di trasmissione = 9600 Serial.begin(9600); // Avvia la trasmissione I2C Wire.beginTransmission(Addr); // Invia il comando di accensione Wire.write(0x01); // Arresta la trasmissione I2C Wire.endTransmission(); // Avvia la trasmissione I2C Wire.beginTransmission(Addr); // Invia il comando di misurazione continua Wire.write(0x10); // Arresta la trasmissione I2C Wire.endTransmission(); ritardo(300);
L'intensità della luce è misurata nella sezione seguente del codice.
dati int senza segno[2];
// Richiedi 2 byte di dati Wire.requestFrom(Addr, 2); // Legge 2 byte di dati // ALS msb, ALS lsb if(Wire.available() == 2) { data[0] = Wire.read(); data[1] = Wire.read(); } ritardo(300); //converte la luminanza float dei dati = ((data[0] * 256) + data[1]) / 1.20; // Invia i dati al monitor seriale Serial.print("Ambient Light Luminance:"); Serial.print (luminanza); Serial.println("lux");
Tutto quello che devi fare è masterizzare il codice in arduino e controllare le tue letture sulla porta seriale. L'output è mostrato nell'immagine sopra anche per riferimento.
Passaggio 5: applicazioni:
BH1715 è un sensore di luce ambientale con uscita digitale che può essere incorporato in telefoni cellulari, TV LCD, PC NOTE ecc. Può anche essere impiegato in macchine da gioco portatili, fotocamere digitali, videocamere digitali, PDA, display LCD e molti altri dispositivi che richiedono applicazioni di rilevamento della luce efficienti.
Consigliato:
Come effettuare la registrazione della temperatura e dell'intensità della luce - Simulazione Proteus - Fritzing - Liono Maker: 5 passaggi
Come effettuare la registrazione della temperatura e dell'intensità della luce | Simulazione Proteus | Fritzing | Liono Maker: Ciao, sono Liono Maker, questo è il mio canale YouTube ufficiale. Questo è un canale YouTube open source. Ecco il link: Canale YouTube di Liono Maker ecco il link del video: Temp & registrazione dell'intensità della luceIn questo tutorial impareremo come creare Temper
Misurazione dell'intensità della luce utilizzando BH1715 e Raspberry Pi: 5 passaggi
Misurazione dell'intensità della luce utilizzando BH1715 e Raspberry Pi: ieri stavamo lavorando su display LCD e mentre lavoravamo su di essi ci siamo resi conto dell'importanza del calcolo dell'intensità della luce. L'intensità della luce non è solo importante nel dominio fisico di questo mondo, ma ha il suo ruolo ben detto nel biologico
Grafico dell'intensità della luce utilizzando Arduino e la libreria master Arduino di Python: 5 passaggi
Grafico dell'intensità della luce utilizzando Arduino e la libreria master Arduino di Python: Arduino essendo uno strumento economico ma altamente efficiente e funzionale, la programmazione in Embedded C rende noioso il processo di creazione dei progetti! Il modulo Arduino_Master di Python semplifica questo e ci consente di eseguire calcoli, rimuovere valori spazzatura
Calcolo dell'intensità della luce utilizzando BH1715 e fotone particellare: 5 passaggi
Calcolo dell'intensità della luce utilizzando BH1715 e Particle Photon: ieri stavamo lavorando su display LCD e mentre lavoravamo su di essi ci siamo resi conto dell'importanza del calcolo dell'intensità della luce. L'intensità della luce non è solo importante nel dominio fisico di questo mondo, ma ha il suo ruolo ben detto nel biologico
Microcontrollore AVR. Modulazione dell'ampiezza dell'impulso. Сcontrollore del motore DC e intensità della luce LED.: 6 passaggi
Microcontrollore AVR. Modulazione dell'ampiezza dell'impulso. Controllore del motore CC e dell'intensità della luce LED.: Ciao a tutti! La modulazione di larghezza di impulso (PWM) è una tecnica molto comune nelle telecomunicazioni e nel controllo dell'alimentazione. è comunemente usato per controllare l'alimentazione di un dispositivo elettrico, sia esso un motore, un LED, altoparlanti, ecc. È fondamentalmente un modu