Project Digora IOT

Dependencies:   libmDot-dev-mbed5

Committer:
Niiippoooo
Date:
Fri May 19 09:26:49 2017 +0000
Revision:
0:522ad8e780f6
project Digora IOT

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Niiippoooo 0:522ad8e780f6 1 #ifndef LUM_SENSOR_H
Niiippoooo 0:522ad8e780f6 2 #define LUM_SENSOR_H
Niiippoooo 0:522ad8e780f6 3
Niiippoooo 0:522ad8e780f6 4 #include "mbed.h"
Niiippoooo 0:522ad8e780f6 5
Niiippoooo 0:522ad8e780f6 6 #define TSL_SLAVE_ADDRESS 0x29 //addresse du capteur
Niiippoooo 0:522ad8e780f6 7 #define TSL_CONTROL 0x00 //registre pour allumer et éteindre le capteur
Niiippoooo 0:522ad8e780f6 8 #define TSL_TIMING 0x01 //registre contenant les informations sur le gain et le temps d'intégration
Niiippoooo 0:522ad8e780f6 9 #define TSL_THRESHLOWLOW 0x02
Niiippoooo 0:522ad8e780f6 10 #define TSL_THRESHHIGHLOW 0x04
Niiippoooo 0:522ad8e780f6 11 #define TSL_INTERRUPT 0x06
Niiippoooo 0:522ad8e780f6 12 #define TSL_ID 0x0A
Niiippoooo 0:522ad8e780f6 13 #define TSL_DATA0LOW 0x0C
Niiippoooo 0:522ad8e780f6 14 #define TSL_DATA1LOW 0x0E
Niiippoooo 0:522ad8e780f6 15
Niiippoooo 0:522ad8e780f6 16 class Capt_Lum
Niiippoooo 0:522ad8e780f6 17 {
Niiippoooo 0:522ad8e780f6 18 private:
Niiippoooo 0:522ad8e780f6 19 I2C i2c; //pins I2C initialisés par le constructeur
Niiippoooo 0:522ad8e780f6 20 float lux; //variable dans laquelle on stocke la luminosité mesurée
Niiippoooo 0:522ad8e780f6 21
Niiippoooo 0:522ad8e780f6 22 public:
Niiippoooo 0:522ad8e780f6 23 Capt_Lum(); //Constructeur
Niiippoooo 0:522ad8e780f6 24 int enablePower(); //allume le capteur
Niiippoooo 0:522ad8e780f6 25 int disablePower(); //éteint le capteur
Niiippoooo 0:522ad8e780f6 26 int writeSingleRegister( char A, char B); //écrit le mot B à l'addresse A
Niiippoooo 0:522ad8e780f6 27 int readMultipleRegisters( char A, char* B, int N); //recopie N mots lus dans le registre d'addresse A dans le tableau d'adresse B
Niiippoooo 0:522ad8e780f6 28 int getVisibleAndIR(); //mesure la luminosité du visible et des infrarouges
Niiippoooo 0:522ad8e780f6 29 int getIROnly(); //mesure uniquement la luminosité infrarouge
Niiippoooo 0:522ad8e780f6 30 float getLux(); //convertit les donnée ent lux
Niiippoooo 0:522ad8e780f6 31 float readIntegrationTime(); //calcule le temps d'intégration necessaire pour une mesure correcte
Niiippoooo 0:522ad8e780f6 32 int readGain(); //calcule le gain necessaire pour une mesure correcte
Niiippoooo 0:522ad8e780f6 33 char readSingleRegister( char A); //retourne un mot lu dans le registre d'addresse A
Niiippoooo 0:522ad8e780f6 34 float obtenirLuminosite(); //calcule, affiche et retourne la luminosité
Niiippoooo 0:522ad8e780f6 35
Niiippoooo 0:522ad8e780f6 36 };
Niiippoooo 0:522ad8e780f6 37
Niiippoooo 0:522ad8e780f6 38
Niiippoooo 0:522ad8e780f6 39
Niiippoooo 0:522ad8e780f6 40
Niiippoooo 0:522ad8e780f6 41
Niiippoooo 0:522ad8e780f6 42 #endif