Índice:

Medição da intensidade da luz usando BH1715 e Raspberry Pi: 5 etapas
Medição da intensidade da luz usando BH1715 e Raspberry Pi: 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 Raspberry pi, usando Java como linguagem de programação.

Os hardwares de que você vai precisar para essa finalidade são os seguintes:

1. BH1715 - Sensor de luz ambiente

2. Raspberryy Pi

3. Cabo I2C

4. Escudo I2C para Raspberry Pi

5. Cabo Ethernet

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

3. Cabo I2C

4. Escudo I2C para Raspberry Pi

5. Cabo Ethernet

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: Medição da intensidade da luz usando código Java:

Medição da intensidade da luz usando código Java
Medição da intensidade da luz usando código Java
Medição da intensidade da luz usando código Java
Medição da intensidade da luz usando código Java

A vantagem de usar raspberry pi é que proporciona a flexibilidade da linguagem de programação em que se deseja programar a placa para fazer a interface do sensor com ela. Aproveitando essa vantagem desta placa, estamos demonstrando aqui sua programação em Java. O código Java para BH1715 pode ser baixado de nossa comunidade GitHub que é Dcube Store.

Além da facilidade dos usuários, também explicamos o código aqui:

Como primeira etapa da codificação, você precisa baixar a biblioteca pi4j no caso do java, porque esta biblioteca suporta as funções usadas no código. Portanto, para baixar a biblioteca você pode visitar o seguinte link:

pi4j.com/install.html

Você também pode copiar o código Java de trabalho para este sensor aqui:

// Distribuído com uma licença de livre arbítrio.

// Use-o como quiser, com ou sem lucro, desde que se enquadre nas licenças das suas obras associadas.

// BH1715

// Este código foi desenvolvido para funcionar com o Mini Módulo BH1715_I2CS I2C disponível em 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 pública BH1715

{

public static void main (String args ) lança exceção

{

// Criar barramento I2C

Barramento I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);

// Obter dispositivo I2C, endereço BH1715 I2C é 0x23 (35)

Dispositivo I2CDevice = bus.getDevice (0x23);

// Envie o comando de ativação

device.write ((byte) 0x01);

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

device.write ((byte) 0x10);

Thread.sleep (500);

// Lê 2 bytes de dados

// luminância msb, luminância lsb

byte dados = novo byte [2];

device.read (data, 0, 2);

// Converter dados

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

// Dados de saída para a tela

System.out.printf ("Luminância da luz ambiente:%.2f lux% n", luminância);

}

}

A biblioteca que facilita a comunicação i2c entre o sensor e a placa é a pi4j, seus vários pacotes I2CBus, I2CDevice e I2CFactory ajudam a estabelecer a conexão.

import com.pi4j.io.i2c. I2CBus; import com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; import java.io. IOException;

Esta parte do código faz com que o sensor opere para medição de intensidade de luz, escrevendo os respectivos comandos usando a função write () e, em seguida, os dados são lidos usando a função read ().

device.write ((byte) 0x01); // comando liga

device.write ((byte) 0x10); // comando de medição contínua

byte dados = novo byte [2]; // Lê 2 bytes de dados

device.read (data, 0, 2);

Os dados recebidos do sensor são convertidos para o formato apropriado usando o seguinte:

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

A saída é impressa usando a função System.out.println (), no formato a seguir.

System.out.printf ("Luminância da luz ambiente:%.2f lux% n", luminância);

A saída do sensor é mostrada na imagem acima.

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: