Medición de la intensidad de la luz mediante BH1715 y Raspberry Pi: 5 pasos
Medición de la intensidad de la luz mediante BH1715 y Raspberry Pi: 5 pasos
Anonim
Image
Image

Ayer estuvimos trabajando en pantallas LCD y, mientras las revisábamos, nos dimos cuenta de la importancia del cálculo de la intensidad de la luz. La intensidad de la luz no solo es importante en el dominio físico de este mundo, sino que también tiene un papel bien dicho en el dominio biológico. La estimación precisa de la intensidad de la luz juega un papel fundamental en nuestro ecosistema, en el crecimiento de las plantas, etc. Entonces, para cumplir este propósito, estudiamos este sensor BH1715, que es un sensor de luz ambiental del tipo de salida en serie de 16 bits.

En este tutorial, vamos a demostrar el funcionamiento de BH1715 con Raspberry pi, utilizando Java como lenguaje de programación.

El hardware que va a necesitar para este fin es el siguiente:

1. BH1715 - Sensor de luz ambiental

2. Raspberryy Pi

3. Cable I2C

4. Escudo I2C para Raspberry Pi

5. Cable Ethernet

Paso 1: Descripción general del BH1715:

Que necesitas..!!
Que necesitas..!!

En primer lugar, nos gustaría familiarizarlo con las características básicas del módulo sensor que es BH1715 y el protocolo de comunicación en el que funciona.

BH1715 es un sensor de luz ambiental digital con una interfaz de bus I²C. El BH1715 se usa comúnmente para obtener los datos de luz ambiental para ajustar la potencia de la retroiluminación de la pantalla LCD y el teclado para dispositivos móviles. Este dispositivo ofrece una resolución de 16 bits y un rango de medición ajustable, lo que permite la detección de.23 a 100, 000 lux.

El protocolo de comunicación sobre el que trabaja el sensor es I2C. I2C significa circuito interintegrado. Es un protocolo de comunicación en el que la comunicación se realiza a través de líneas SDA (datos en serie) y SCL (reloj en serie). Permite conectar varios dispositivos al mismo tiempo. Es uno de los protocolos de comunicación más simples y eficientes.

Paso 2: ¡¡Lo que necesitas …

Que necesitas..!!
Que necesitas..!!
Que necesitas..!!
Que necesitas..!!
Que necesitas..!!
Que necesitas..!!

Los materiales que necesitamos para lograr nuestro objetivo incluyen los siguientes componentes de hardware:

1. BH1715 - Sensor de luz ambiental

2. Raspberry Pi

3. Cable I2C

4. Escudo I2C para Raspberry Pi

5. Cable Ethernet

Paso 3: Conexión de hardware:

Conexión de hardware
Conexión de hardware
Conexión de hardware
Conexión de hardware

La sección de conexión de hardware básicamente explica las conexiones de cableado necesarias entre el sensor y la Raspberry Pi. Asegurar las conexiones correctas es la necesidad básica al trabajar en cualquier sistema para obtener la salida deseada. Entonces, las conexiones requeridas son las siguientes:

El BH1715 funcionará sobre I2C. Aquí está el diagrama de cableado de ejemplo, que demuestra cómo cablear cada interfaz del sensor.

Fuera de la caja, la placa está configurada para una interfaz I2C, por lo que recomendamos usar esta conexión si, por lo demás, es agnóstico. ¡Todo lo que necesitas son cuatro cables!

Solo se requieren cuatro conexiones Vcc, Gnd, SCL y pines SDA y estos se conectan con la ayuda del cable I2C.

Estas conexiones se muestran en las imágenes de arriba.

Paso 4: Medición de la intensidad de la luz mediante código Java:

Medición de la intensidad de la luz mediante código Java
Medición de la intensidad de la luz mediante código Java
Medición de la intensidad de la luz mediante código Java
Medición de la intensidad de la luz mediante código Java

La ventaja de usar raspberry pi es que le brinda la flexibilidad del lenguaje de programación en el que desea programar la placa para conectar el sensor con ella. Aprovechando esta ventaja de esta placa, estamos demostrando aquí su programación en Java. El código Java para BH1715 se puede descargar de nuestra comunidad de GitHub que es Dcube Store.

Además de para la facilidad de los usuarios, aquí también explicamos el código:

Como primer paso de la codificación, debe descargar la biblioteca pi4j en el caso de Java, porque esta biblioteca admite las funciones utilizadas en el código. Entonces, para descargar la biblioteca puede visitar el siguiente enlace:

pi4j.com/install.html

También puede copiar el código Java de trabajo para este sensor desde aquí:

// Distribuido con licencia de libre albedrío.

// Úselo de la forma que desee, lucrativa o gratuita, siempre que encaje en las licencias de sus obras asociadas.

// BH1715

// Este código está diseñado para funcionar con el mini módulo BH1715_I2CS I2C disponible en ControlEverything.com.

//

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

clase pública BH1715

{

public static void main (String args ) arroja una excepción

{

// Crear bus I2C

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

// Obtener dispositivo I2C, la dirección BH1715 I2C es 0x23 (35)

I2CDevice device = bus.getDevice (0x23);

// Enviar comando de encendido

device.write ((byte) 0x01);

// Enviar comando de medición continua

device.write ((byte) 0x10);

Hilo.sueño (500);

// Leer 2 bytes de datos

// luminancia msb, luminancia lsb

byte datos = nuevo byte [2];

device.read (datos, 0, 2);

// Convertir datos

luminancia doble = ((datos [0] y 0xFF) * 256 + (datos [1] y 0xFF)) / 1.20;

// Salida de datos a la pantalla

System.out.printf ("Luminancia de luz ambiental:%.2f lux% n", luminancia);

}

}

La biblioteca que facilita la comunicación i2c entre el sensor y la placa es pi4j, sus diversos paquetes I2CBus, I2CDevice e I2CFactory ayudan a establecer la conexión.

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

Esta parte del código hace que el sensor funcione para la medición de la intensidad de la luz escribiendo los comandos respectivos usando la función write () y luego los datos se leen usando la función read ().

device.write ((byte) 0x01); // poder en el comando

device.write ((byte) 0x10); // comando de medición continua

byte datos = nuevo byte [2]; // Leer 2 bytes de datos

device.read (datos, 0, 2);

Los datos recibidos del sensor se convierten al formato apropiado usando lo siguiente:

luminancia doble = ((datos [0] y 0xFF) * 256 + (datos [1] y 0xFF)) / 1.20;

La salida se imprime utilizando la función System.out.println (), en el siguiente formato.

System.out.printf ("Luminancia de luz ambiental:%.2f lux% n", luminancia);

La salida del sensor se muestra en la imagen de arriba.

Paso 5: Aplicaciones:

Aplicaciones
Aplicaciones

BH1715 es un sensor de luz ambiental de salida digital que se puede incorporar en teléfonos móviles, televisores LCD, PC de NOTA, etc. También se puede emplear en máquinas de juegos portátiles, cámaras digitales, cámaras de video digitales, PDA, pantallas LCD y muchos más dispositivos que requieran aplicaciones de detección de luz eficientes.

Recomendado: