AirQualityClick on A0 on Nucleo-F411RE
Air.h@0:964a928b323e, 2015-04-14 (annotated)
- Committer:
- Guillaume31
- Date:
- Tue Apr 14 11:36:17 2015 +0000
- Revision:
- 0:964a928b323e
AirQualityClick on A0 on Nucleo-F411RE
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Guillaume31 | 0:964a928b323e | 1 | #ifndef AIR |
Guillaume31 | 0:964a928b323e | 2 | #define AIR |
Guillaume31 | 0:964a928b323e | 3 | |
Guillaume31 | 0:964a928b323e | 4 | #include "mbed.h" |
Guillaume31 | 0:964a928b323e | 5 | |
Guillaume31 | 0:964a928b323e | 6 | /// The load resistance on the board |
Guillaume31 | 0:964a928b323e | 7 | #define RLOAD 10.0 |
Guillaume31 | 0:964a928b323e | 8 | /// Calibration resistance at atmospheric CO2 level |
Guillaume31 | 0:964a928b323e | 9 | #define RZERO 76.63 |
Guillaume31 | 0:964a928b323e | 10 | /// Parameters for calculating ppm of CO2 from sensor resistance |
Guillaume31 | 0:964a928b323e | 11 | #define PARA 116.6020682 |
Guillaume31 | 0:964a928b323e | 12 | #define PARB 2.769034857 |
Guillaume31 | 0:964a928b323e | 13 | |
Guillaume31 | 0:964a928b323e | 14 | /// Parameters to model temperature and humidity dependence |
Guillaume31 | 0:964a928b323e | 15 | #define CORA 0.00035 |
Guillaume31 | 0:964a928b323e | 16 | #define CORB 0.02718 |
Guillaume31 | 0:964a928b323e | 17 | #define CORC 1.39538 |
Guillaume31 | 0:964a928b323e | 18 | #define CORD 0.0018 |
Guillaume31 | 0:964a928b323e | 19 | |
Guillaume31 | 0:964a928b323e | 20 | /// Atmospheric CO2 level for calibration purposes |
Guillaume31 | 0:964a928b323e | 21 | #define ATMOCO2 397.13 |
Guillaume31 | 0:964a928b323e | 22 | |
Guillaume31 | 0:964a928b323e | 23 | class Air { |
Guillaume31 | 0:964a928b323e | 24 | private: |
Guillaume31 | 0:964a928b323e | 25 | AnalogIn _pin; |
Guillaume31 | 0:964a928b323e | 26 | public: |
Guillaume31 | 0:964a928b323e | 27 | Air (PinName pin); |
Guillaume31 | 0:964a928b323e | 28 | float getCorrectionFactor(float t, float h); |
Guillaume31 | 0:964a928b323e | 29 | float getResistance(); |
Guillaume31 | 0:964a928b323e | 30 | float getCorrectedResistance(float t, float h); |
Guillaume31 | 0:964a928b323e | 31 | float getPPM(); |
Guillaume31 | 0:964a928b323e | 32 | float getCorrectedPPM(float t, float h); |
Guillaume31 | 0:964a928b323e | 33 | float getRZero(); |
Guillaume31 | 0:964a928b323e | 34 | float getCorrectedRZero(float t, float h); |
Guillaume31 | 0:964a928b323e | 35 | }; |
Guillaume31 | 0:964a928b323e | 36 | #endif |