lib_SHT11
Dependents: lib_SHT11_example libs_YSI_example
lib_SHT11.h
- Committer:
- YSI
- Date:
- 2017-06-06
- Revision:
- 0:6b657f74b4e4
File content as of revision 0:6b657f74b4e4:
/** SHT11 class
*
* @purpose library for SHT11 humidity and temperature sensor
*
* Utilisée pour mesurer la temperature et l'humidite
*
* https://www.sensirion.com/products/humidity-sensor/
*
* Copyright (c) 2012, cstyles (http://mbed.org)
*
* Exemple:
* @code
* #include "mbed.h"
* #include "lib_SHT11.h"
*
* SHT11 capteur_HT;
* //SHT11 capteur_HT(p30, p29, 2.0); //data, sck, periode_cycle_mesure
* Serial pc(USBTX, USBRX);
*
* int main()
* {
* float Temperature_mesuree=0.0, Humidite_mesuree=0.0;
*
* while(1)
* {
* if((Temperature_mesuree != capteur_HT.lire_T()) || (Humidite_mesuree != capteur_HT.lire_H()))
* {
* capteur_HT.lire_T_H(&Temperature_mesuree, &Humidite_mesuree);
* pc.printf("T=%f\tH=%f\r\n", Temperature_mesuree, Humidite_mesuree);
* }
* }
* }
* @endcode
* @file lib_SHT11.h
* @date Jun 2012
* @author Yannic Simon
*/
#ifndef DEF_lib_SHT11_H
#define DEF_lib_SHT11_H
#include "mbed.h"
/** SHT11 class
*/
class SHT11 : public Ticker
{
public:
/** Creer une instance SHT11
* sur les pins data, sck avec une periode de mesure de minimum 2sec
*
* @param pin_DATA par defaut p30
* @param pin_SCK par defaut p29
* @param T_C_mesure par defaut 2.0
*/
SHT11(PinName pin_DATA = p30, PinName pin_SCK = p29, float T_C_mesure = 2.0);
/** renvoie la derniere temperature mesuree
*
* @param aucun
* @returns la temperature en degres Celsius
*/
float lire_T(void);
/** renvoie la derniere humidite mesuree
*
* @param aucun
* @returns l'humidite relative
*/
float lire_H(void);
/** donne les derniere humidite et temperature mesuree
*
* @param T variable qui sera actualisee avec la temperature
* @param H variable qui sera actualisee avec l'humidite
* @returns aucun
*/
void lire_T_H(float *T, float *H);
/** change la periode de mesure du capteur
*
* @param new_Temps_cycle_mesure (minimum 2sec)
* @returns aucun
*/
void changer_timer_cycle(float new_Temps_cycle_mesure);
/** initialisation du capteur
*
* @param aucun
* @returns aucun
*/
void init(void);
/** desactivation de la mesure du capteur
*
* @param aucun
* @returns aucun
*/
void desactiver(void);
private:
void start(void);
void gestion_HT(void);
void demande_mesure(short octet_de_commande);
void mesure_T(void);
void mesure_H(void);
void mesure_T_H(void);
void reception_mesure_T(void);
void reception_mesure_H(void);
void calcul_Temperature_Humidite(void);
DigitalInOut DATA_HT;
DigitalOut SCK_HT;
Ticker Timer_cycle_mesure;
unsigned int Temperature;
unsigned int Humidite;
unsigned int etat_sht11;
unsigned int etat_cycle;
float Temperature_mesuree;
float Humidite_mesuree;
float Temps_cycle_mesure;
};
#endif
Y SI