Computação de intensidade de luz usando BH1715 e partícula de fóton: 5 etapas
Computação de intensidade de luz usando BH1715 e partícula de fóton: 5 etapas
Anonim
Image
Image

Ontem estávamos trabalhando em monitores LCD e, ao trabalhar neles, percebemos a importância do cálculo da intensidade da luz. A intensidade da luz não é apenas importante no domínio físico deste mundo, mas também tem seu papel bem dito no domínio biológico. A estimativa precisa da intensidade da luz desempenha um papel fundamental em nosso ecossistema, no crescimento das plantas, etc. Portanto, para atender a esse propósito, estudamos este sensor BH1715, que é um sensor de luz ambiente do tipo de saída serial de 16 bits.

Neste tutorial, vamos demonstrar o funcionamento do BH1715 com o Particle Photon. Particle Photon é aquela placa que pode de fato facilitar o controle de qualquer dispositivo pela internet.

O hardware de que você vai precisar para essa finalidade é o seguinte:

1. BH1715 - Sensor de luz ambiente

2. Partícula de fóton

3. Cabo I2C

4. Escudo I2C para partícula de fóton

Etapa 1: Visão geral do BH1715:

O que você precisa..!!
O que você precisa..!!

Em primeiro lugar, gostaríamos de familiarizá-lo com as características básicas do módulo sensor que é BH1715 e o protocolo de comunicação no qual ele funciona.

O BH1715 é um sensor de luz ambiente digital com uma interface de barramento I²C. O BH1715 é comumente usado para obter os dados da luz ambiente para ajustar a energia da luz de fundo do LCD e do teclado para dispositivos móveis. Este dispositivo oferece uma resolução de 16 bits e uma faixa de medição ajustável, permitindo a detecção de 0,23 a 100.000 lux.

O protocolo de comunicação no qual o sensor funciona é I2C. I2C significa circuito inter-integrado. É um protocolo de comunicação no qual a comunicação ocorre através das linhas SDA (serial data) e SCL (serial clock). Ele permite conectar vários dispositivos ao mesmo tempo. É um dos protocolos de comunicação mais simples e eficientes.

Etapa 2: O que você precisa..

O que você precisa..!!
O que você precisa..!!
O que você precisa..!!
O que você precisa..!!
O que você precisa..!!
O que você precisa..!!

Os materiais de que precisamos para cumprir nosso objetivo incluem os seguintes componentes de hardware:

1. BH1715 - Sensor de luz ambiente

2. Partícula de fóton

3. Cabo I2C

4. Escudo I2C para Fóton de Partículas

Etapa 3: Conexão de Hardware:

Conexão de hardware
Conexão de hardware
Conexão de hardware
Conexão de hardware

A seção de conexão de hardware explica basicamente as conexões de fiação necessárias entre o sensor e o raspberry pi. Garantir as conexões corretas é a necessidade básica ao trabalhar em qualquer sistema para a saída desejada. Portanto, as conexões necessárias são as seguintes:

O BH1715 funcionará sobre I2C. Aqui está o diagrama de fiação de exemplo, demonstrando como conectar cada interface do sensor.

Fora da caixa, a placa é configurada para uma interface I2C, como tal, recomendamos usar esta conexão se você for agnóstico. Você só precisa de quatro fios!

São necessárias apenas quatro conexões dos pinos Vcc, Gnd, SCL e SDA e estes são conectados com a ajuda do cabo I2C.

Essas conexões são demonstradas nas fotos acima.

Etapa 4: Código de partícula de medição de intensidade de luz:

Código de partícula de medição de intensidade de luz
Código de partícula de medição de intensidade de luz
Código de partícula de medição de intensidade de luz
Código de partícula de medição de intensidade de luz

Vamos começar com o código da partícula agora.

Ao usar o módulo sensor com o arduino, incluímos as bibliotecas application.h e spark_wiring_i2c.h. A biblioteca "application.h" e spark_wiring_i2c.h contém as funções que facilitam a comunicação i2c entre o sensor e a partícula.

Todo o código da partícula é fornecido abaixo para a conveniência do usuário:

#incluir

#incluir

// O endereço BH1715 I2C é 0x23 (35)

#define Addr 0x23

luminância interna = 0;

void setup ()

{

// Definir variável

Particle.variable ("i2cdevice", "BH1715");

Partícula.variable ("luminância", luminância);

// Inicializar a comunicação I2C como MASTER

Wire.begin ();

// Inicialize a comunicação serial, defina a taxa de transmissão = 9600

Serial.begin (9600);

// Iniciar a transmissão I2C

Wire.beginTransmission (Addr);

// Envie o comando de ativação

Wire.write (0x01);

// Pare a transmissão I2C

Wire.endTransmission ();

// Iniciar a transmissão I2C

Wire.beginTransmission (Addr);

// Enviar comando de medição contínua

Wire.write (0x10);

// Pare a transmissão I2C

Wire.endTransmission ();

atraso (300);

}

void loop ()

{

dados internos não assinados [2];

// Solicitar 2 bytes de dados

Wire.requestFrom (Addr, 2);

// Lê 2 bytes de dados

// ALS msb, ALS lsb

if (Wire.available () == 2)

{

dados [0] = Wire.read ();

dados [1] = Wire.read ();

}

atraso (300);

// Converta os dados

luminância = ((dados [0] e 0xFF) * 256 + (dados [1] e 0xFF)) / 1,20;

// Saída de dados para o painel

Particle.publish ("Ambient Light Luminance:", String (luminance));

}

Etapa 5: Aplicativos:

Formulários
Formulários

O BH1715 é um sensor de luz ambiente de saída digital que pode ser incorporado em um telefone celular, TV LCD, PC de nota, etc. Ele também pode ser empregado em uma máquina de jogos portátil, câmera digital, câmera de vídeo digital, PDA, display LCD e muitos outros dispositivos que requerem aplicações eficientes de detecção de luz.

Recomendado: