Taula de continguts:
- Pas 1: Visió general del BH1715:
- Pas 2: el que necessiteu..
- Pas 3: connexió de maquinari:
- Pas 4: mesurament de la intensitat de llum mitjançant el codi Java:
- Pas 5: aplicacions:
Vídeo: Mesura de la intensitat de llum mitjançant BH1715 i Raspberry Pi: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
Ahir vam estar treballant en pantalles LCD i, mentre treballàvem sobre elles, ens vam adonar de la importància del càlcul de la intensitat de la llum. La intensitat de la llum no només és important en el domini físic d’aquest món, sinó que també té un paper ben dit en el domini biològic. L’estimació precisa de la intensitat de la llum juga un paper fonamental en el nostre ecosistema, en el creixement de les plantes, etc.
En aquest tutorial, demostrarem el funcionament de BH1715 amb Raspberry pi, utilitzant Java com a llenguatge de programació.
El maquinari que necessiteu per a aquest propòsit és el següent:
1. BH1715 - Sensor de llum ambiental
2. Raspberryy Pi
3. Cable I2C
4. Escut I2C per a Raspberry Pi
5. Cable Ethernet
Pas 1: Visió general del BH1715:
En primer lloc, ens agradaria familiaritzar-vos amb les funcions bàsiques del mòdul de sensor que és BH1715 i el protocol de comunicació en què funciona.
BH1715 és un sensor de llum ambiental digital amb una interfície de bus I²C. El BH1715 s'utilitza habitualment per obtenir les dades de llum ambiental per ajustar la llum de fons del LCD i del teclat per a dispositius mòbils. Aquest dispositiu ofereix una resolució de 16 bits i un rang de mesura ajustable, que permet la detecció de.23 a 100.000 lux.
El protocol de comunicació en què funciona el sensor és I2C. I2C significa el circuit inter-integrat. És un protocol de comunicació en què la comunicació té lloc a través de línies SDA (dades de sèrie) i SCL (rellotge de sèrie). Permet connectar diversos dispositius alhora. És un dels protocols de comunicació més senzills i eficients.
Pas 2: el que necessiteu..
Els materials que necessitem per assolir el nostre objectiu inclouen els components de maquinari següents:
1. BH1715 - Sensor de llum ambiental
2. Raspberry Pi
3. Cable I2C
4. Escut I2C per a Raspberry Pi
5. Cable Ethernet
Pas 3: connexió de maquinari:
La secció de connexió de maquinari explica bàsicament les connexions de cablejat necessàries entre el sensor i el raspberry pi. Garantir connexions correctes és la necessitat bàsica mentre es treballa en qualsevol sistema per a la sortida desitjada. Per tant, les connexions necessàries són les següents:
El BH1715 funcionarà sobre I2C. Aquí teniu un exemple de diagrama de cablejat, que demostra com connectar cada interfície del sensor.
Fora de la caixa, el tauler està configurat per a una interfície I2C, per tant, us recomanem que utilitzeu aquesta connexió si no sou agnòstic. Tot el que necessiteu són quatre cables.
Només es necessiten quatre connexions pins Vcc, Gnd, SCL i SDA i es connecten amb l'ajut del cable I2C.
Aquestes connexions es mostren a les imatges anteriors.
Pas 4: mesurament de la intensitat de llum mitjançant el codi Java:
L’avantatge d’utilitzar el raspberry pi és que us proporciona la flexibilitat del llenguatge de programació en què voleu programar la placa per tal d’interfocar el sensor amb ella. Aprofitant aquest avantatge d’aquest tauler, demostrem aquí que està programant a Java. El codi Java de BH1715 es pot descarregar de la nostra comunitat GitHub que és Dcube Store.
A més de la facilitat dels usuaris, aquí també expliquem el codi:
Com a primer pas de codificació, heu de descarregar la biblioteca pi4j en cas de Java, perquè aquesta biblioteca admet les funcions utilitzades al codi. Per tant, per descarregar la biblioteca podeu visitar el següent enllaç:
pi4j.com/install.html
Podeu copiar el codi Java de treball d’aquest sensor també des d’aquí:
// Distribuïda amb llicència de lliure voluntat.
// Utilitzeu-lo de la manera que vulgueu, sense ànim de lucre o de franc, sempre que encaixi en les llicències de les obres associades.
// BH1715
// Aquest codi està dissenyat per funcionar amb el mini mòdul BH1715_I2CS I2C disponible a ControlEverything.com.
//
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
importació java.io. IOException;
classe pública BH1715
{
public static void main (String args ) llança Excepció
{
// Crea un bus I2C
Bus I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// Obteniu un dispositiu I2C, l'adreça I2C BH1715 és 0x23 (35)
I2CDevice device = bus.getDevice (0x23);
// Envia l’ordre d’encesa
device.write ((byte) 0x01);
// Envia una ordre de mesura contínua
device.write ((byte) 0x10);
Thread.sleep (500);
// Llegiu 2 bytes de dades
// luminància msb, luminància lsb
byte dades = byte nou [2];
device.read (dades, 0, 2);
// Converteix dades
doble lluminositat = ((dades [0] i 0xFF) * 256 + (dades [1] i 0xFF)) / 1,20;
// Sortiu les dades a la pantalla
System.out.printf ("Lluminància de la llum ambiental:%.2f lux% n", lluminància);
}
}
La biblioteca que facilita la comunicació i2c entre el sensor i la placa és pi4j, els seus diversos paquets I2CBus, I2CDevice i I2CFactory ajuden a establir la connexió.
importar com.pi4j.io.i2c. I2CBus; importar com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; importació java.io. IOException;
Aquesta part del codi fa que el sensor funcioni per mesurar la intensitat de la llum escrivint les ordres respectives mitjançant la funció write () i després es llegeixen les dades mitjançant la funció read ().
device.write ((byte) 0x01); // encendre el comandament
device.write ((byte) 0x10); // ordre de mesura contínua
byte dades = byte nou [2]; // Llegiu 2 bytes de dades
device.read (dades, 0, 2);
Les dades rebudes del sensor es converteixen al format adequat mitjançant el següent:
doble lluminositat = ((dades [0] i 0xFF) * 256 + (dades [1] i 0xFF)) / 1,20;
La sortida s’imprimeix mitjançant la funció System.out.println (), en el format següent.
System.out.printf ("Lluminància de la llum ambiental:%.2f lux% n", lluminància);
La sortida del sensor es mostra a la imatge superior.
Pas 5: aplicacions:
BH1715 és un sensor de llum ambiental de sortida digital que es pot incorporar a telèfons mòbils, TV LCD, NOTE PC, etc. També es pot utilitzar en màquines de jocs portàtils, càmeres digitals, càmeres de vídeo digitals, PDA, pantalla LCD i molts altres dispositius que requereixen aplicacions eficients de detecció de llum.
Recomanat:
Llum d'intensitat de llum Arduino: 3 passos
Llum d'intensitat de llum Arduino: aquest circuit es pot utilitzar com a llum real, projecte escolar i un repte divertit. Aquest circuit és fàcil d'utilitzar i fàcil de fer, però si no heu utilitzat tinker cad abans és possible que vulgueu provar-ho primer
Llum d'intensitat de llum Arduino: 6 passos
Llum Intensity Light Arduino: us donem la benvinguda al meu tutorial sobre com construir i codificar un llum Intensity Light amb un Arduino. Necessitareu aquests components per construir-lo. * LDR * Microcontrolador Arduino * Bombeta * Relé * Una font d’energia * Taula de pa * Resistència d’1 k-ohm Esperem que
Llum d'intensitat de llum amb Arduino: 3 passos
Llum d'intensitat de llum amb Arduino: en aquest projecte, exploro com utilitzar l'arduino per crear una làmpada que canviï segons l'hora del dia. A petició de l'usuari, la làmpada canviarà la seva brillantor quan quantifiqui o redueixi la resistència de la llum LDR que detecta res
Càlcul de la intensitat de llum mitjançant BH1715 i Arduino Nano: 5 passos
Càlcul de la intensitat de llum mitjançant BH1715 i Arduino Nano: Ahir treballàvem en pantalles LCD i, mentre treballàvem sobre elles, ens vam adonar de la importància del càlcul de la intensitat de la llum. La intensitat de la llum no només és important en el domini físic d’aquest món, sinó que té un paper ben dit en la biologia
Càlcul de la intensitat de llum mitjançant BH1715 i fotó de partícules: 5 passos
Càlcul de la intensitat de llum mitjançant BH1715 i el fotó de partícules: ahir vam estar treballant en pantalles LCD i, mentre treballàvem sobre elles, ens vam adonar de la importància del càlcul de la intensitat de llum. La intensitat de la llum no només és important en el domini físic d’aquest món, sinó que té un paper ben dit en la biologia