Étape 3: Code :
Le code de l’arduino pour TSL45315 peut être téléchargé depuis notre dépôt github-ControlEverythingCommunity
Voici le lien pour la même chose :
https://github.com/ControlEverythingCommunity/TSL4...
Le datasheet du TSL45315 peut être trouvé ici :
https://S3.amazonaws.com/controleverything.Media/c...
Nous incluons la bibliothèque Wire.h de faciliter la communication I2c du capteur avec la carte Arduino.
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.
TSL45315
Copiez le code suivant est conçu pour fonctionner avec le Module TSl45315_I2CS I2C Mini, disponible de ControlEverything.com.
https://www.controleverything.com/content/Light?s...
#include < Wire.h >
I2C TSL45315 adresse est 0x29(41)
#define Addr 0 x 29
void setup()
{
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) ;
Registre de contrôle Select
Wire.Write(0x80) ;
Fonctionnement normal
Wire.Write(0x03) ;
Interrompre la transmission I2C
Wire.endTransmission() ;
Démarrer la Transmission I2C
Wire.beginTransmission(Addr) ;
Sélectionnez configuration de Registre
Wire.Write(0x81) ;
Multiplicateur de 1 x, teinte : 400ms
Wire.Write(0x00) ;
Interrompre la transmission I2C
Wire.endTransmission() ;
Delay(300) ;
}
void loop()
{
unsigned int données [2] ;
Démarrer la Transmission I2C
Wire.beginTransmission(Addr) ;
Sélectionner des données de Registre
Wire.Write(0x84) ;
Interrompre la transmission I2C
Wire.endTransmission() ;
Demande 2 octets de données
Wire.requestFrom (Addr, 2) ;
Lire les 2 octets de données
luminance lsb, luminance msb
if(Wire.available() == 2)
{
Data [0] = Wire.read() ;
données [1] = Wire.read() ;
}
Convertir les données
flotteur de luminance = données [1] * 256 + data [0] ;
Données de sortie à Serial Monitor
Serial.Print ("luminosité lumière ambiante:") ;
Serial.Print(luminance) ;
Serial.println ("lux") ;
Delay(300) ;
}