lib_SHT11
Dependents: lib_SHT11_example libs_YSI_example
lib_SHT11.h@0:6b657f74b4e4, 2017-06-06 (annotated)
- Committer:
- YSI
- Date:
- Tue Jun 06 14:08:27 2017 +0000
- Revision:
- 0:6b657f74b4e4
lib_SHT11
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
YSI | 0:6b657f74b4e4 | 1 | /** SHT11 class |
YSI | 0:6b657f74b4e4 | 2 | * |
YSI | 0:6b657f74b4e4 | 3 | * @purpose library for SHT11 humidity and temperature sensor |
YSI | 0:6b657f74b4e4 | 4 | * |
YSI | 0:6b657f74b4e4 | 5 | * Utilisée pour mesurer la temperature et l'humidite |
YSI | 0:6b657f74b4e4 | 6 | * |
YSI | 0:6b657f74b4e4 | 7 | * https://www.sensirion.com/products/humidity-sensor/ |
YSI | 0:6b657f74b4e4 | 8 | * |
YSI | 0:6b657f74b4e4 | 9 | * Copyright (c) 2012, cstyles (http://mbed.org) |
YSI | 0:6b657f74b4e4 | 10 | * |
YSI | 0:6b657f74b4e4 | 11 | * Exemple: |
YSI | 0:6b657f74b4e4 | 12 | * @code |
YSI | 0:6b657f74b4e4 | 13 | * #include "mbed.h" |
YSI | 0:6b657f74b4e4 | 14 | * #include "lib_SHT11.h" |
YSI | 0:6b657f74b4e4 | 15 | * |
YSI | 0:6b657f74b4e4 | 16 | * SHT11 capteur_HT; |
YSI | 0:6b657f74b4e4 | 17 | * //SHT11 capteur_HT(p30, p29, 2.0); //data, sck, periode_cycle_mesure |
YSI | 0:6b657f74b4e4 | 18 | * Serial pc(USBTX, USBRX); |
YSI | 0:6b657f74b4e4 | 19 | * |
YSI | 0:6b657f74b4e4 | 20 | * int main() |
YSI | 0:6b657f74b4e4 | 21 | * { |
YSI | 0:6b657f74b4e4 | 22 | * float Temperature_mesuree=0.0, Humidite_mesuree=0.0; |
YSI | 0:6b657f74b4e4 | 23 | * |
YSI | 0:6b657f74b4e4 | 24 | * while(1) |
YSI | 0:6b657f74b4e4 | 25 | * { |
YSI | 0:6b657f74b4e4 | 26 | * if((Temperature_mesuree != capteur_HT.lire_T()) || (Humidite_mesuree != capteur_HT.lire_H())) |
YSI | 0:6b657f74b4e4 | 27 | * { |
YSI | 0:6b657f74b4e4 | 28 | * capteur_HT.lire_T_H(&Temperature_mesuree, &Humidite_mesuree); |
YSI | 0:6b657f74b4e4 | 29 | * pc.printf("T=%f\tH=%f\r\n", Temperature_mesuree, Humidite_mesuree); |
YSI | 0:6b657f74b4e4 | 30 | * } |
YSI | 0:6b657f74b4e4 | 31 | * } |
YSI | 0:6b657f74b4e4 | 32 | * } |
YSI | 0:6b657f74b4e4 | 33 | * @endcode |
YSI | 0:6b657f74b4e4 | 34 | * @file lib_SHT11.h |
YSI | 0:6b657f74b4e4 | 35 | * @date Jun 2012 |
YSI | 0:6b657f74b4e4 | 36 | * @author Yannic Simon |
YSI | 0:6b657f74b4e4 | 37 | */ |
YSI | 0:6b657f74b4e4 | 38 | |
YSI | 0:6b657f74b4e4 | 39 | #ifndef DEF_lib_SHT11_H |
YSI | 0:6b657f74b4e4 | 40 | #define DEF_lib_SHT11_H |
YSI | 0:6b657f74b4e4 | 41 | |
YSI | 0:6b657f74b4e4 | 42 | #include "mbed.h" |
YSI | 0:6b657f74b4e4 | 43 | |
YSI | 0:6b657f74b4e4 | 44 | /** SHT11 class |
YSI | 0:6b657f74b4e4 | 45 | */ |
YSI | 0:6b657f74b4e4 | 46 | class SHT11 : public Ticker |
YSI | 0:6b657f74b4e4 | 47 | { |
YSI | 0:6b657f74b4e4 | 48 | public: |
YSI | 0:6b657f74b4e4 | 49 | /** Creer une instance SHT11 |
YSI | 0:6b657f74b4e4 | 50 | * sur les pins data, sck avec une periode de mesure de minimum 2sec |
YSI | 0:6b657f74b4e4 | 51 | * |
YSI | 0:6b657f74b4e4 | 52 | * @param pin_DATA par defaut p30 |
YSI | 0:6b657f74b4e4 | 53 | * @param pin_SCK par defaut p29 |
YSI | 0:6b657f74b4e4 | 54 | * @param T_C_mesure par defaut 2.0 |
YSI | 0:6b657f74b4e4 | 55 | */ |
YSI | 0:6b657f74b4e4 | 56 | SHT11(PinName pin_DATA = p30, PinName pin_SCK = p29, float T_C_mesure = 2.0); |
YSI | 0:6b657f74b4e4 | 57 | |
YSI | 0:6b657f74b4e4 | 58 | /** renvoie la derniere temperature mesuree |
YSI | 0:6b657f74b4e4 | 59 | * |
YSI | 0:6b657f74b4e4 | 60 | * @param aucun |
YSI | 0:6b657f74b4e4 | 61 | * @returns la temperature en degres Celsius |
YSI | 0:6b657f74b4e4 | 62 | */ |
YSI | 0:6b657f74b4e4 | 63 | float lire_T(void); |
YSI | 0:6b657f74b4e4 | 64 | |
YSI | 0:6b657f74b4e4 | 65 | /** renvoie la derniere humidite mesuree |
YSI | 0:6b657f74b4e4 | 66 | * |
YSI | 0:6b657f74b4e4 | 67 | * @param aucun |
YSI | 0:6b657f74b4e4 | 68 | * @returns l'humidite relative |
YSI | 0:6b657f74b4e4 | 69 | */ |
YSI | 0:6b657f74b4e4 | 70 | float lire_H(void); |
YSI | 0:6b657f74b4e4 | 71 | |
YSI | 0:6b657f74b4e4 | 72 | /** donne les derniere humidite et temperature mesuree |
YSI | 0:6b657f74b4e4 | 73 | * |
YSI | 0:6b657f74b4e4 | 74 | * @param T variable qui sera actualisee avec la temperature |
YSI | 0:6b657f74b4e4 | 75 | * @param H variable qui sera actualisee avec l'humidite |
YSI | 0:6b657f74b4e4 | 76 | * @returns aucun |
YSI | 0:6b657f74b4e4 | 77 | */ |
YSI | 0:6b657f74b4e4 | 78 | void lire_T_H(float *T, float *H); |
YSI | 0:6b657f74b4e4 | 79 | |
YSI | 0:6b657f74b4e4 | 80 | /** change la periode de mesure du capteur |
YSI | 0:6b657f74b4e4 | 81 | * |
YSI | 0:6b657f74b4e4 | 82 | * @param new_Temps_cycle_mesure (minimum 2sec) |
YSI | 0:6b657f74b4e4 | 83 | * @returns aucun |
YSI | 0:6b657f74b4e4 | 84 | */ |
YSI | 0:6b657f74b4e4 | 85 | void changer_timer_cycle(float new_Temps_cycle_mesure); |
YSI | 0:6b657f74b4e4 | 86 | |
YSI | 0:6b657f74b4e4 | 87 | /** initialisation du capteur |
YSI | 0:6b657f74b4e4 | 88 | * |
YSI | 0:6b657f74b4e4 | 89 | * @param aucun |
YSI | 0:6b657f74b4e4 | 90 | * @returns aucun |
YSI | 0:6b657f74b4e4 | 91 | */ |
YSI | 0:6b657f74b4e4 | 92 | void init(void); |
YSI | 0:6b657f74b4e4 | 93 | |
YSI | 0:6b657f74b4e4 | 94 | /** desactivation de la mesure du capteur |
YSI | 0:6b657f74b4e4 | 95 | * |
YSI | 0:6b657f74b4e4 | 96 | * @param aucun |
YSI | 0:6b657f74b4e4 | 97 | * @returns aucun |
YSI | 0:6b657f74b4e4 | 98 | */ |
YSI | 0:6b657f74b4e4 | 99 | void desactiver(void); |
YSI | 0:6b657f74b4e4 | 100 | |
YSI | 0:6b657f74b4e4 | 101 | private: |
YSI | 0:6b657f74b4e4 | 102 | |
YSI | 0:6b657f74b4e4 | 103 | void start(void); |
YSI | 0:6b657f74b4e4 | 104 | void gestion_HT(void); |
YSI | 0:6b657f74b4e4 | 105 | void demande_mesure(short octet_de_commande); |
YSI | 0:6b657f74b4e4 | 106 | void mesure_T(void); |
YSI | 0:6b657f74b4e4 | 107 | void mesure_H(void); |
YSI | 0:6b657f74b4e4 | 108 | void mesure_T_H(void); |
YSI | 0:6b657f74b4e4 | 109 | void reception_mesure_T(void); |
YSI | 0:6b657f74b4e4 | 110 | void reception_mesure_H(void); |
YSI | 0:6b657f74b4e4 | 111 | void calcul_Temperature_Humidite(void); |
YSI | 0:6b657f74b4e4 | 112 | |
YSI | 0:6b657f74b4e4 | 113 | DigitalInOut DATA_HT; |
YSI | 0:6b657f74b4e4 | 114 | DigitalOut SCK_HT; |
YSI | 0:6b657f74b4e4 | 115 | Ticker Timer_cycle_mesure; |
YSI | 0:6b657f74b4e4 | 116 | |
YSI | 0:6b657f74b4e4 | 117 | unsigned int Temperature; |
YSI | 0:6b657f74b4e4 | 118 | unsigned int Humidite; |
YSI | 0:6b657f74b4e4 | 119 | unsigned int etat_sht11; |
YSI | 0:6b657f74b4e4 | 120 | unsigned int etat_cycle; |
YSI | 0:6b657f74b4e4 | 121 | float Temperature_mesuree; |
YSI | 0:6b657f74b4e4 | 122 | float Humidite_mesuree; |
YSI | 0:6b657f74b4e4 | 123 | float Temps_cycle_mesure; |
YSI | 0:6b657f74b4e4 | 124 | }; |
YSI | 0:6b657f74b4e4 | 125 | |
YSI | 0:6b657f74b4e4 | 126 | #endif |