Paso 3: código:
El código de partículas BH1715 se puede descargar desde nuestro repositorio de github-ControlEverythingCommunity
Aquí está el enlace para el mismo:
https://github.com/ControlEverythingCommunity/BH17...
La hoja de datos de BH1715 se puede encontrar aquí:
https://S3.amazonaws.com/controleverything.Media/c...
Hemos utilizado dos bibliotecas para el código de la partícula, que son application.h y spark_wiring_i2c.h. Biblioteca de Spark_wiring_i2c es necesaria para facilitar la comunicación I2C con el sensor.
También puede copiar el código desde aquí, se da como sigue:
Distribuido con una licencia de libre albedrío.
Se usa cualquier forma desea, beneficio o libre, siempre cabe en las licencias de sus obras anexas.
BH1715
Este código está diseñado para trabajar con el módulo de Mini de I2C BH1715_I2CS de ControlEverything.com.
https://www.controleverything.com/content/Light?s...
#include < application.h >
#include < spark_wiring_i2c.h >
Dirección I2C BH1715 es 0x23(35)
#define Addr 0x23
luminancia de int = 0;
void setup()
{
Establecer variable
Particle.variable("i2cdevice","BH1715");
Particle.variable("Luminance",Luminance);
Inicializar la comunicación I2C como maestro
Wire.Begin();
Inicializar la comunicación serial, juego velocidad en baudios = 9600
Serial.Begin(9600);
Iniciar transmisión I2C
Wire.beginTransmission(Addr);
Enviar energía de comando
Wire.Write(0x01);
Detener la transmisión I2C
Wire.endTransmission();
Iniciar transmisión I2C
Wire.beginTransmission(Addr);
Envíe el comando de medición continua
Wire.Write(0x10);
Detener la transmisión I2C
Wire.endTransmission();
Delay(300);
}
void loop()
{
unsigned int datos [2];
Solicitud de 2 bytes de datos
Wire.requestFrom (Addr, 2);
Lee 2 bytes de datos
ALS msb, lsb de ALS
if(Wire.Available()==2)
{
datos [0] = Wire.read();
datos [1] = Wire.read();
}
Delay(300);
Convertir los datos
luminancia = ((datos [0] & 0xFF) * 256 + (datos [1] & 0xFF)) / 1,20;
Datos de salida al tablero
Particle.Publish ("luminancia luz ambiente:", String(luminance));
}