Índice:
- Etapa 1: Visão geral do BH1715:
- Etapa 2: O que você precisa..
- Etapa 3: Conexão de Hardware:
- Etapa 4: Código Arduino de medição de intensidade de luz:
- Etapa 5: Aplicativos:
Vídeo: Computação de intensidade de luz usando BH1715 e Arduino Nano: 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
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:
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..
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:
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:
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:
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:
Medição da intensidade da luz usando BH1715 e Raspberry Pi: 5 etapas
Medição da intensidade da luz usando BH1715 e Raspberry Pi: 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 tem seu papel bem dito no biológico
Plotagem de intensidade de luz usando Arduino e a biblioteca mestre de Arduino do Python: 5 etapas
Plotagem de intensidade de luz usando Arduino e a biblioteca mestre de Arduino do Python: Arduino sendo uma ferramenta econômica, mas altamente eficiente e funcional, programá-lo em Embedded C torna o processo de criação de projetos tedioso! O módulo Arduino_Master do Python simplifica isso e nos permite realizar cálculos, remover valores de lixo
Computação de intensidade de luz usando BH1715 e partícula de fóton: 5 etapas
Computação da intensidade da luz usando BH1715 e partícula de fóton: Ontem estávamos trabalhando em monitores LCD e, enquanto trabalhamos 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 tem seu papel bem dito no biológico
Computação de base IOT usando Nodemcu e Micropython: 11 etapas
IOT Base Computing Usando Nodemcu e Micropython: Neste tutorial, vou usar NodeMcu, micropython e conexão Mqtt para conectar o servidor. usando linguagem de programação micropython
Economizador de energia de intensidade de luz usando fotocélulas e termistores: 6 etapas
Economizador de energia de intensidade de luz usando fotocélulas e termistores: Este instrutível é projetado para ensiná-lo a economizar energia alterando a intensidade da luz usando fotocélulas e termistores. Mostraremos como construir o circuito e codificar o Arduino usando MATLAB