AirQualityClick on A0 on Nucleo-F411RE

Dependents:   AirQuality

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?

UserRevisionLine numberNew 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