Paso 4: Intensidad de la luz medida partícula código:
Permite iniciar con el código de la partícula ahora.
Mientras que usa el módulo sensor con arduino, se incluye biblioteca de application.h y spark_wiring_i2c.h. Biblioteca "application.h" y spark_wiring_i2c.h contiene las funciones que facilitan la comunicación i2c entre el sensor y la partícula.
El código de toda partícula se da a continuación para mayor comodidad del usuario:
#include<application.h>#include<spark_wiring_i2c.h>// BH1715 I2C address is 0x23(35)#define Addr 0x23 int luminance = 0;void setup(){ // Set variable Particle.variable("i2cdevice","BH1715"); Particle.variable("luminance",luminance); // Initialise I2C communication as MASTER Wire.begin(); // Initialise serial communication, set baud rate = 9600 Serial.begin(9600); // Start I2C Transmission Wire.beginTransmission(Addr); // Send power on command Wire.write(0x01); // Stop I2C Transmission Wire.endTransmission(); // Start I2C Transmission Wire.beginTransmission(Addr); // Send continuous measurement command Wire.write(0x10); // Stop I2C Transmission Wire.endTransmission(); delay(300); } void loop(){ unsigned int data[2]; // Request 2 byte of data Wire.requestFrom(Addr, 2);// Read 2 bytes of data // ALS msb, ALS lsb if(Wire.available()==2) { data[0] = Wire.read(); data[1] = Wire.read(); } delay(300); // Convert the data luminance = ((data[0] & 0xFF) * 256 + (data[1] & 0xFF)) / 1.20; // Output data to dashboard Particle.publish("Ambient Light Luminance :", String(luminance));}