Partikel Photon - BH1715 Digital Sensor för omgivande ljus handledning (3 / 4 steg)
Steg 3: kod:
Partikel koden för BH1715 kan hämtas från vår github repository-ControlEverythingCommunity
Här är länken för samma:
https://github.com/ControlEverythingCommunity/BH17...
Databladet för BH1715 kan hittas här:
https://s3.amazonaws.com/controleverything.Media/c...
Vi har använt två bibliotek för partikel-koden, som är application.h och spark_wiring_i2c.h. Spark_wiring_i2c bibliotek krävs för att underlätta I2C kommunikationen med sensor.
Du kan också kopiera koden från här, det ges enligt följande:
Distribueras med en fri vilja licens.
Använda det något sätt du vill, vinst eller gratis, förutsatt att den passar i licenser av dess tillhörande arbeten.
BH1715
Denna kod är utformad att fungera med BH1715_I2CS I2C Mini modulen tillgänglig från ControlEverything.com.
https://www.controleverything.com/content/Light?s...
#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));
}