This is a library for the MQ9 gas sensor module.

Dependencies:   mbed

Committer:
NXP_Rr
Date:
Tue May 01 20:36:47 2018 +0000
Revision:
2:c366191f8865
Parent:
0:7712450a546d
Added documentation.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
NXP_Rr 0:7712450a546d 1 #include "MQ9.h"
NXP_Rr 0:7712450a546d 2
NXP_Rr 0:7712450a546d 3 MQ9::MQ9 (PinName const &p) : _pin(p)
NXP_Rr 0:7712450a546d 4 {
NXP_Rr 0:7712450a546d 5 _LPG_ppm = 0.0;
NXP_Rr 0:7712450a546d 6 _CO_ppm = 0.0;
NXP_Rr 0:7712450a546d 7 _Methane_ppm = 0.0;
NXP_Rr 0:7712450a546d 8 }
NXP_Rr 0:7712450a546d 9
NXP_Rr 0:7712450a546d 10 int MQ9::read()
NXP_Rr 0:7712450a546d 11 {
NXP_Rr 0:7712450a546d 12 float sensorDat = _pin.read();
NXP_Rr 0:7712450a546d 13 float sensorVolt = sensorDat * 3.3 / 4095;
NXP_Rr 0:7712450a546d 14
NXP_Rr 0:7712450a546d 15 _LPG_ppm = 26.572*exp(1.2894*sensorVolt);
NXP_Rr 0:7712450a546d 16 _CO_ppm = 10.938*exp(1.7742*sensorVolt);
NXP_Rr 0:7712450a546d 17 _Methane_ppm = 3.027*exp(1.0698*sensorVolt);
NXP_Rr 0:7712450a546d 18
NXP_Rr 0:7712450a546d 19 return MQ9_STATUS_PASS;
NXP_Rr 0:7712450a546d 20 }
NXP_Rr 0:7712450a546d 21
NXP_Rr 0:7712450a546d 22 float MQ9::getLPG_ppm()
NXP_Rr 0:7712450a546d 23 {
NXP_Rr 0:7712450a546d 24 return _LPG_ppm;
NXP_Rr 0:7712450a546d 25 }
NXP_Rr 0:7712450a546d 26
NXP_Rr 0:7712450a546d 27 float MQ9::getCO_ppm()
NXP_Rr 0:7712450a546d 28 {
NXP_Rr 0:7712450a546d 29 return _CO_ppm;
NXP_Rr 0:7712450a546d 30 }
NXP_Rr 0:7712450a546d 31
NXP_Rr 0:7712450a546d 32 float MQ9::getMethane_ppm()
NXP_Rr 0:7712450a546d 33 {
NXP_Rr 0:7712450a546d 34 return _Methane_ppm;
NXP_Rr 0:7712450a546d 35 }