mirror of
https://github.com/amperka/TroykaMQ.git
synced 2025-03-15 12:37:46 +03:00
31 lines
511 B
C++
31 lines
511 B
C++
![]() |
#include "MQ2.h"
|
||
|
|
||
|
MQ2::MQ2(uint8_t pin)
|
||
|
: BaseMQ(pin) {
|
||
|
}
|
||
|
|
||
|
MQ2::MQ2(uint8_t pin, uint8_t pinHeater)
|
||
|
: BaseMQ(pin, pinHeater) {
|
||
|
}
|
||
|
|
||
|
unsigned long MQ2::readLPG() {
|
||
|
return readPpm(-0.45, 2.95);
|
||
|
}
|
||
|
|
||
|
unsigned long MQ2::readMethane() {
|
||
|
return readPpm(-0.38, 3.21);
|
||
|
}
|
||
|
|
||
|
unsigned long MQ2::readSmoke() {
|
||
|
return readPpm(-0.42, 3.54);
|
||
|
}
|
||
|
|
||
|
unsigned long MQ2::readHydrogen() {
|
||
|
return readPpm(-0.48, 3.32);
|
||
|
}
|
||
|
|
||
|
int MQ2::readPpm(float a, float b) {
|
||
|
float ratio = readRs()/_ro;
|
||
|
return pow(M_E, (log(ratio)-b)/a);
|
||
|
}
|