Índice:

Computação de intensidade de luz usando BH1715 e Arduino Nano: 5 etapas
Computação de intensidade de luz usando BH1715 e Arduino Nano: 5 etapas

Vídeo: Computação de intensidade de luz usando BH1715 e Arduino Nano: 5 etapas

Vídeo: Computação de intensidade de luz usando BH1715 e Arduino Nano: 5 etapas
Vídeo: 3 Coisas que Computadores Quânticos Vão Mudar Para Sempre 2024, Julho
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 Arduino Nano.

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

1. BH1715 - Sensor de luz ambiente

2. Arduino nano

3. Cabo I2C

4. Escudo I2C para Arduino Nano

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

3. Cabo I2C

4. Escudo I2C para Arduino nano

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 Arduino de medição de intensidade de luz:

Código Arduino de medição de intensidade de luz
Código Arduino de medição de intensidade de luz
Código Arduino de medição de intensidade de luz
Código Arduino de medição de intensidade de luz

Vamos começar com o código do Arduino agora.

Ao usar o módulo sensor com o Arduino, incluímos a biblioteca Wire.h. A biblioteca "Wire" contém as funções que facilitam a comunicação i2c entre o sensor e a placa Arduino.

Todo o código do Arduino é fornecido abaixo para a conveniência do usuário:

#incluir

// O endereço I2C do BH1715 é 0x23 (35) #define Addr 0x23 void setup () {// Inicialize a comunicação I2C como MASTER Wire.begin (); // Inicializar a comunicação serial, definir taxa de transmissão = 9600 Serial.begin (9600); // Iniciar I2C Transmission Wire.beginTransmission (Addr); // Envia o comando power on Wire.write (0x01); // Parar a transmissão I2C Wire.endTransmission (); // Iniciar I2C Transmission Wire.beginTransmission (Addr); // Enviar comando de medição contínua Wire.write (0x10); // Parar a transmissão I2C Wire.endTransmission (); atraso (300); } void loop () {dados internos não assinados [2]; // Solicita 2 bytes de dados Wire.requestFrom (Addr, 2); // Lê 2 bytes de dados // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); dados [1] = Wire.read (); } atraso (300); // converte a luminância do float de dados = ((data [0] * 256) + data [1]) / 1,20; // Saída de dados para o monitor serial Serial.print ("Ambient Light Luminance:"); Serial.print (luminância); Serial.println ("lux"); }

A parte seguinte do código inicia a comunicação i2c e a comunicação serial com o auxílio das funções Wire.begin () e Serial.begin ().

// Inicializar a comunicação I2C como MASTER

Wire.begin (); // Inicializar a comunicação serial, definir taxa de transmissão = 9600 Serial.begin (9600); // Iniciar I2C Transmission Wire.beginTransmission (Addr); // Envia o comando power on Wire.write (0x01); // Parar a transmissão I2C Wire.endTransmission (); // Iniciar I2C Transmission Wire.beginTransmission (Addr); // Enviar comando de medição contínua Wire.write (0x10); // Parar a transmissão I2C Wire.endTransmission (); atraso (300);

A intensidade da luz é medida na seção seguinte do código.

dados internos não assinados [2];

// Solicita 2 bytes de dados Wire.requestFrom (Addr, 2); // Lê 2 bytes de dados // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); dados [1] = Wire.read (); } atraso (300); // converte a luminância de flutuação de dados = ((data [0] * 256) + data [1]) / 1,20; // Saída de dados para o monitor serial Serial.print ("Ambient Light Luminance:"); Serial.print (luminância); Serial.println ("lux");

Tudo que você precisa fazer é gravar o código no arduino e verificar suas leituras na porta serial. A saída é mostrada na imagem acima também para sua referência.

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: