Ramana R
/
MQ9
This is a library for the MQ9 gas sensor module.
MQ9.cpp@2:c366191f8865, 2018-05-01 (annotated)
- 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?
User | Revision | Line number | New 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 | } |