18 #ifndef _AVRIO_MQ135_H_ 19 #define _AVRIO_MQ135_H_ 21 #include <avrio/defs.h> 22 #include <avrio/adc_sensor.h> 141 # if defined(__DOXYGEN__) 157 #define MQ135_CALIBRATION(rload,rzero,atmoco2) 266 #define MQ135_CALIBRATION(_rload,_rzero,_atmoco2) { \ 267 .dRLoad=(_rload), .dRZero=(_rzero), .dAtmoCO2=(_atmoco2), \ 268 .dTemp=NAN, .dHum=NAN } 276 pSetting->xNlin.
dCoeff = (
double *) pCalibration;
284 pCalibration->
dTemp = dTemp;
292 pCalibration->
dTemp = dTemp;
293 pCalibration->
dHum = dHum;
301 return pCalibration->
dTemp;
309 pCalibration->
dHum = dHum;
317 return pCalibration->
dHum;
325 return pCalibration->
dRZero;
333 return pCalibration->
dRLoad;
static void dMq135Temp(xAdcSensor *pSensor)
Lecture de la température utilisée pour la correction interne de la mesure.
double dMq135CalibrateRZero(xAdcSensor *pSensor)
Mesure de la résistance Ro.
static void dMq135RZero(xAdcSensor *pSensor)
Lecture de la résistance d'étalonnage.
double dAtmoCO2
Teneur en CO² standard.
double dRZero
Résistance correspondant à la teneur de CO² standard en kilo Ohms.
static void dMq135RLoad(xAdcSensor *pSensor)
Lecture de la résistance de charge.
static void vMq135SetCorrection(xAdcSensor *pSensor, double dTemp, double dHum)
Modifie la température et l'humidité utilisée pour la correction interne de la mesure.
double dMq135CorrectionFactor(double dTemp, double dHum)
Calcul du facteur de correction de la résistance.
double dMq135RawToPPM(xAdcSensor *pSensor, uint16_t usRaw)
Convertit une valeur ADC en teneur en gaz en ppm.
double dHum
Humidité relative en % pour la correction.
double dMq135RawToCorrectedPPM(xAdcSensor *pSensor, uint16_t usRaw, double dTemp, double dHum)
Convertit une valeur ADC en teneur en gaz en ppm avec correction.
double dMq135RawToCorrectedResistance(xAdcSensor *pSensor, uint16_t usRaw, double dTemp, double dHum)
Convertit une valeur ADC en résistance Rs avec correction.
static void dMq135Humidity(xAdcSensor *pSensor)
Lecture de l'humidité utilisée pour la correction interne de la mesure.
static void vMq135SetTemp(xAdcSensor *pSensor, double dTemp)
Modifie la température utilisée pour la correction interne de la mesure.
xAdcSensorSetting * pSetting
Repère d'étalonnage.
static void dMq135AtmoCO2(xAdcSensor *pSensor)
Lecture de la teneur en CO² d'étalonnage.
double dTemp
Température en °C pour la correction.
static void vMq135SetHumidity(xAdcSensor *pSensor, double dHum)
Modifie l'humidité utilisée pour la correction interne de la mesure.
struct xMq135Calibration xMq135Calibration
double dMq135RawToResistance(xAdcSensor *pSensor, uint16_t usRaw)
Convertit une valeur ADC en résistance Rs.
static void vMq135Init(xAdcSensorSetting *pSetting, xMq135Calibration *pCalibration)
Initialise le capteur à partir de l'étalonnage.
double * dCoeff
Tableau de coefficients pour la conversion.
double dRLoad
Résistance de charge en sortie en kilo Ohms.
dAdcSensorConvert dRawToValue
Fonction de conversion non linéaire.