Taula de continguts:

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: 5 passos

Vídeo: Càlcul de la intensitat de llum mitjançant BH1715 i Arduino Nano: 5 passos

Vídeo: Càlcul de la intensitat de llum mitjançant BH1715 i Arduino Nano: 5 passos
Vídeo: Как сделать самодельный инкубатор для яиц пошагово 2024, Juliol
Anonim
Image
Image

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 Arduino Nano.

El maquinari que necessiteu per a aquest propòsit és el següent:

1. BH1715 - Sensor de llum ambiental

2. Arduino nano

3. Cable I2C

4. Escut I2C per a Arduino Nano

Pas 1: Visió general del BH1715:

Què necessites..!!
Què necessites..!!

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..

Què necessites..!!
Què necessites..!!
Què necessites..!!
Què necessites..!!
Què necessites..!!
Què necessites..!!

Els materials que necessitem per assolir el nostre objectiu inclouen els components de maquinari següents:

1. BH1715 - Sensor de llum ambiental

2. Arduino Nano

3. Cable I2C

4. Escut I2C per a Arduino nano

Pas 3: connexió de maquinari:

Connexió de maquinari
Connexió de maquinari
Connexió de maquinari
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: mesura de la intensitat de llum Codi Arduino:

Mesura de la intensitat de llum Codi Arduino
Mesura de la intensitat de llum Codi Arduino
Mesura de la intensitat de llum Codi Arduino
Mesura de la intensitat de llum Codi Arduino

Comencem ara amb el codi Arduino.

Mentre s’utilitza el mòdul de sensor amb l’Arduino, incloem la biblioteca Wire.h. La biblioteca "Wire" conté les funcions que faciliten la comunicació i2c entre el sensor i la placa Arduino.

A continuació es proporciona tot el codi Arduino per a la comoditat de l’usuari:

#incloure

// BH1715 L'adreça I2C és 0x23 (35) #define Addr 0x23 void setup () {// Inicialitza la comunicació I2C com a MASTER Wire.begin (); // Inicialitzar la comunicació en sèrie, establir la velocitat de transmissió = 9600 Serial.begin (9600); // Inicia la transmissió I2C Wire.beginTransmission (Addr); // Envia l’ordre d’encesa Wire.write (0x01); // Atura la transmissió I2C Wire.endTransmission (); // Inicia la transmissió I2C Wire.beginTransmission (Addr); // Envia una ordre de mesura contínua Wire.write (0x10); // Atura la transmissió I2C Wire.endTransmission (); retard (300); } void loop () {dades sense signar int [2]; // Sol·liciteu 2 bytes de dades Wire.requestFrom (Addr, 2); // Llegiu 2 bytes de dades // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); dades [1] = Wire.read (); } retard (300); // converteix la luminància flotant de dades = ((dades [0] * 256) + dades [1]) / 1,20; // Dades de sortida al monitor sèrie Serial.print ("Lluminància de llum ambiental:"); Serial.print (luminància); Serial.println ("lux"); }

La següent part del codi inicia la comunicació i2c i la comunicació serial amb l'ajut de la funció Wire.begin () i Serial.begin ().

// Inicialitzar la comunicació I2C com a MASTER

Wire.begin (); // Inicialitzar la comunicació en sèrie, establir la velocitat de transmissió = 9600 Serial.begin (9600); // Inicia la transmissió I2C Wire.beginTransmission (Addr); // Envia l’ordre d’encesa Wire.write (0x01); // Atura la transmissió I2C Wire.endTransmission (); // Inicia la transmissió I2C Wire.beginTransmission (Addr); // Envia una ordre de mesura contínua Wire.write (0x10); // Atura la transmissió I2C Wire.endTransmission (); retard (300);

La intensitat de la llum es mesura a la secció següent del codi.

dades int sense signar [2];

// Sol·liciteu 2 bytes de dades Wire.requestFrom (Addr, 2); // Llegiu 2 bytes de dades // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); dades [1] = Wire.read (); } retard (300); // converteix la luminància flotant de dades = ((dades [0] * 256) + dades [1]) / 1,20; // Dades de sortida al monitor sèrie Serial.print ("Lluminància de llum ambiental:"); Serial.print (luminància); Serial.println ("lux");

Tot el que heu de fer és gravar el codi en arduino i comprovar les vostres lectures al port sèrie. La sortida es mostra a la imatge superior també per a la vostra referència.

Pas 5: aplicacions:

Aplicacions
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: