Ljus intensitet uträkning med hjälp av BH1715 och partikel Photon (4 / 5 steg)
Steg 4: Ljusintensiteten mätning partikel kod:
Kan börja med partikel koden nu.
När du använder modulen sensor med arduino, inkluderar vi application.h och spark_wiring_i2c.h bibliotek. "application.h" och spark_wiring_i2c.h bibliotek innehåller funktioner som underlättar i2c kommunikationen mellan sensorn och partikeln.
Hela partikel koden ges nedan för att underlätta för användaren:
#include < application.h >
#include < spark_wiring_i2c.h >
BH1715 I2C adress är 0x23(35)
#define Addr 0x23
int luminans = 0;
void setup()
{
Variabeln
Particle.Variable("i2cdevice","BH1715");
Particle.Variable("Luminance",Luminance);
Initialisera I2C kommunikation som MASTER
Wire.BEGIN();
Initialisera seriell kommunikation, ange baudvärde = 9600
Serial.BEGIN(9600);
Starta I2C-överföring
Wire.beginTransmission(Addr);
Skicka ström på kommando
Wire.write(0x01);
Stoppa I2C sändningen
Wire.endTransmission();
Starta I2C-överföring
Wire.beginTransmission(Addr);
Skicka kommando för kontinuerlig mätning
Wire.write(0x10);
Stoppa I2C sändningen
Wire.endTransmission();
Delay(300);
}
void loop()
{
unsigned int data [2].
Begäran 2 byte data
Wire.requestFrom (Addr, 2);
Läs 2 byte data
ALS msb, ALS lsb
IF(Wire.available()==2)
{
data [0] = Wire.read();
data [1] = Wire.read();
}
Delay(300);
Konvertera data
Luminance = ((data [0] & 0xFF) * 256 + (data [1] & 0xFF)) / 1.20;
Utdata till dashboard
Particle.publish ("Ambient Light luminans:", String(luminance));
}