Sommario:
- Fase 1: Panoramica del BH1715:
- Passaggio 2: cosa ti serve.
- Passaggio 3: collegamento hardware:
- Passaggio 4: misurazione dell'intensità della luce utilizzando il codice Java:
- Passaggio 5: applicazioni:
Video: Misurazione dell'intensità della luce utilizzando BH1715 e Raspberry Pi: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
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 Raspberry pi, utilizzando Java come linguaggio di programmazione.
L'hardware di cui avrai bisogno per questo scopo è il seguente:
1. BH1715 - Sensore di luce ambientale
2. Pi lampone
3. Cavo I2C
4. Scudo I2C per Raspberry Pi
5. Cavo Ethernet
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. Raspberry Pi
3. Cavo I2C
4. Scudo I2C per Raspberry Pi
5. Cavo Ethernet
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 utilizzando il codice Java:
Il vantaggio di utilizzare raspberry pi è che ti offre la flessibilità del linguaggio di programmazione in cui desideri programmare la scheda per interfacciare il sensore con essa. Sfruttando questo vantaggio di questa scheda, stiamo dimostrando qui che è la programmazione in Java. Il codice Java per BH1715 può essere scaricato dalla nostra comunità GitHub che è Dcube Store.
Oltre che per la facilità degli utenti, spieghiamo anche qui il codice:
Come primo passo della codifica, devi scaricare la libreria pi4j in caso di java, perché questa libreria supporta le funzioni utilizzate nel codice. Quindi, per scaricare la libreria puoi visitare il seguente link:
pi4j.com/install.html
Puoi copiare il codice Java funzionante per questo sensore anche da qui:
// Distribuito con una licenza libera.
// Usalo come vuoi, a scopo di lucro o gratuito, a condizione che rientri nelle licenze delle opere associate.
// BH1715
// Questo codice è progettato per funzionare con il mini modulo BH1715_I2CS I2C disponibile su ControlEverything.com.
//
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
classe pubblica BH1715
{
public static void main(String args) genera un'eccezione
{
// Crea bus I2C
I2CBus bus = I2CFactory.getInstance(I2CBus. BUS_1);
// Ottieni il dispositivo I2C, l'indirizzo I2C BH1715 è 0x23(35)
I2CDevice device = bus.getDevice(0x23);
// Invia il comando di accensione
device.write((byte)0x01);
// Invia il comando di misurazione continua
device.write((byte)0x10);
Thread.sleep(500);
// Legge 2 byte di dati
// luminanza msb, luminanza lsb
byte dati = nuovo byte[2];
device.read(data, 0, 2);
// Converti dati
doppia luminanza = ((data[0] & 0xFF) * 256 + (data[1] & 0xFF)) / 1.20;
// Invia i dati allo schermo
System.out.printf("Luminanza luce ambiente: %.2f lux %n", luminanza);
}
}
La libreria che facilita la comunicazione i2c tra il sensore e la scheda è pi4j, i suoi vari pacchetti I2CBus, I2CDevice e I2CFactory aiutano a stabilire la connessione.
import com.pi4j.io.i2c. I2CBus;import com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; import java.io. IOException;
Questa parte del codice fa funzionare il sensore per la misurazione dell'intensità della luce scrivendo i rispettivi comandi utilizzando la funzione write() e quindi i dati vengono letti utilizzando la funzione read().
device.write((byte)0x01); // comando di accensione
device.write((byte)0x10); // comando di misurazione continua
byte dati = nuovo byte[2]; // Legge 2 byte di dati
device.read(data, 0, 2);
I dati ricevuti dal sensore vengono convertiti nel formato appropriato utilizzando quanto segue:
doppia luminanza = ((data[0] & 0xFF) * 256 + (data[1] & 0xFF)) / 1.20;
L'output viene stampato utilizzando la funzione System.out.println(), nel formato seguente.
System.out.printf("Luminanza luce ambiente: %.2f lux %n", luminanza);
L'uscita del sensore è mostrata nell'immagine sopra.
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
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 Arduino Nano: 5 passaggi
Calcolo dell'intensità della luce utilizzando BH1715 e Arduino Nano: 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
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