Étape 3: Code :
Le code de particules de BH1715 peut être téléchargé depuis notre dépôt github-ControlEverythingCommunity
Voici le lien pour la même chose :
https://github.com/ControlEverythingCommunity/BH17...
Le datasheet du BH1715 peut être trouvé ici :
https://S3.amazonaws.com/controleverything.Media/c...
Nous avons utilisé les deux bibliothèques de code de particules, qui sont application.h et spark_wiring_i2c.h. Spark_wiring_i2c bibliothèque est nécessaire pour faciliter la communication I2C avec le capteur.
Vous pouvez également copier le code d’ici, il est affecté comme suit :
Distribué avec une licence libre-arbitre.
Utilisez-le toute façon vous voulez, Profitez ou libre, autant il s’intègre dans les licences de ses ouvrages connexes.
BH1715
Copiez le code suivant est conçu pour fonctionner avec le Module BH1715_I2CS I2C Mini, disponible de ControlEverything.com.
https://www.controleverything.com/content/Light?s...
#include < application.h >
#include < spark_wiring_i2c.h >
I2C BH1715 adresse est 0x23(35)
#define Addr 0 x 23
luminance int = 0 ;
void setup()
{
Définissez la variable
Particle.variable("i2cdevice","BH1715") ;
Particle.variable("luminance",luminance) ;
Initialiser la communication I2C maître
Wire.Begin() ;
Initialiser la communication série, réglée en bauds = 9600
Serial.Begin(9600) ;
Démarrer la Transmission I2C
Wire.beginTransmission(Addr) ;
Envoyer la puissance sur commande
Wire.Write(0x01) ;
Interrompre la Transmission I2C
Wire.endTransmission() ;
Démarrer la Transmission I2C
Wire.beginTransmission(Addr) ;
Envoyer la commande de mesure en continu
Wire.Write(0x10) ;
Interrompre la Transmission I2C
Wire.endTransmission() ;
Delay(300) ;
}
void loop()
{
unsigned int données [2] ;
Demande 2 octets de données
Wire.requestFrom (Addr, 2) ;
Lire les 2 octets de données
ALS msb, ALS lsb
if(Wire.available()==2)
{
Data [0] = Wire.read() ;
données [1] = Wire.read() ;
}
Delay(300) ;
Convertir les données
luminance = ((data [0] & 0xFF) * 256 + (données [1] & 0xFF)) / 1,20 ;
Données de sortie au tableau de bord
Particle.Publish ("luminosité lumière ambiante:", String(luminance)) ;
}