fix library

This commit is contained in:
Igor
2018-10-30 12:46:20 +03:00
parent 849d4d6aa1
commit 2d33995615
23 changed files with 60 additions and 66 deletions

View File

@@ -23,6 +23,7 @@ BaseMQ::BaseMQ(uint8_t pin, uint8_t pinHeater) {
// фиксированая калибровка датчика
// при знании сопративления датчика на чистом воздухе
void BaseMQ::calibrate(float ro) {
Serial.println(OPERATING_VOLTAGE);
_ro = ro;
_stateCalibrate = true;
}

View File

@@ -31,7 +31,7 @@
#if defined(__AVR__)
#define OPERATING_VOLTAGE 5.0
#elif defined(__SAM3X8E__) || defined(__SAM3A8C__) || defined(__SAM3A4C__) || defined(__SAMD21G18A__) || defined(ARDUINO_ARCH_ESP8266) || defined(ARDUINO_ARCH_ESP32) || defined(__arm__)
#else
#define OPERATING_VOLTAGE 3.3
#endif
@@ -49,17 +49,13 @@ public:
bool heatingCompleted() const;
bool coolanceCompleted() const;
float readRatio() const;
inline bool isCalibrated() const {
return _stateCalibrate;
};
inline float getRo() const {
return _ro;
};
inline bool isCalibrated() const { return _stateCalibrate; };
inline float getRo() const { return _ro; };
protected:
float readScaled(float a, float b) const;
virtual float getRoInCleanAir() const = 0;
virtual int getRL() const = 0;
virtual float getRL() const = 0;
private:
bool _heater = false;

View File

@@ -4,7 +4,7 @@
#include "BaseMQ.h"
// резистор установленный на плату (кОм)
#define MQ135_RL_BOARD 10
#define MQ135_RL_BOARD 10.0
// концентрация углекислого газа в сухом воздухе
#define PPM_CO2_IN_CLEAR_AIR 397.13
@@ -15,12 +15,8 @@ public:
MQ135(uint8_t pin, uint8_t pinHeater);
unsigned long readCO2();
private:
virtual int getRL() const {
return MQ135_RL_BOARD;
}
virtual float getRoInCleanAir() const {
return exp((log(PPM_CO2_IN_CLEAR_AIR) * -0.42) + 1.92);
}
virtual float getRL() const { return MQ135_RL_BOARD; }
virtual float getRoInCleanAir() const { return exp((log(PPM_CO2_IN_CLEAR_AIR) * -0.42) + 1.92); }
};
#endif // MQ135_H_

View File

@@ -4,7 +4,7 @@
#include "BaseMQ.h"
// резистор установленный на плату (кОм)
#define MQ2_RL_BOARD 5
#define MQ2_RL_BOARD 5.0
// коефициент чистого воздуха из графика
#define MQ2_RO_IN_CLEAR_AIR 9.83
@@ -17,7 +17,7 @@ public:
unsigned long readSmoke();
unsigned long readHydrogen();
private:
virtual int getRL() const { return MQ2_RL_BOARD; }
virtual float getRL() const { return MQ2_RL_BOARD; }
virtual float getRoInCleanAir() const { return MQ2_RO_IN_CLEAR_AIR; }
};

View File

@@ -4,9 +4,9 @@
#include "BaseMQ.h"
// резистор установленный на плату (кОм)
#define MQ3_RL_BOARD 200
#define MQ3_RL_BOARD 200.0
// коефициент чистого воздуха из графика
#define MQ3_RO_IN_CLEAR_AIR 60
#define MQ3_RO_IN_CLEAR_AIR 60.0
class MQ3 : public BaseMQ {
public:
@@ -15,7 +15,7 @@ public:
float readAlcoholMgL();
float readAlcoholPpm();
private:
virtual int getRL() const { return MQ3_RL_BOARD; }
virtual float getRL() const { return MQ3_RL_BOARD; }
virtual float getRoInCleanAir() const { return MQ3_RO_IN_CLEAR_AIR; }
};

View File

@@ -4,7 +4,7 @@
#include "BaseMQ.h"
// резистор установленный на плату (кОм)
#define MQ4_RL_BOARD 20
#define MQ4_RL_BOARD 20.0
// коефициент чистого воздуха из графика
#define MQ4_RO_IN_CLEAR_AIR 4.4
@@ -14,7 +14,7 @@ public:
MQ4(uint8_t pin, uint8_t pinHeater);
unsigned long readMethane();
private:
virtual int getRL() const { return MQ4_RL_BOARD ; }
virtual float getRL() const { return MQ4_RL_BOARD ; }
virtual float getRoInCleanAir() const { return MQ4_RO_IN_CLEAR_AIR; }
};

View File

@@ -4,7 +4,7 @@
#include "BaseMQ.h"
// резистор установленный на плату (кОм)
#define MQ5_RL_BOARD 20
#define MQ5_RL_BOARD 20.0
// коефициент чистого воздуха из графика
#define MQ5_RO_IN_CLEAR_AIR 6.5
@@ -15,7 +15,7 @@ public:
unsigned long readLPG();
unsigned long readMethane();
private:
virtual int getRL() const { return MQ5_RL_BOARD; }
virtual float getRL() const { return MQ5_RL_BOARD; }
virtual float getRoInCleanAir() const { return MQ5_RO_IN_CLEAR_AIR; }
};

View File

@@ -4,9 +4,9 @@
#include "BaseMQ.h"
// резистор установленный на плату (кОм)
#define MQ6_RL_BOARD 20
#define MQ6_RL_BOARD 20.0
// коефициент чистого воздуха из графика
#define MQ6_RO_IN_CLEAR_AIR 10
#define MQ6_RO_IN_CLEAR_AIR 10.0
class MQ6 : public BaseMQ {
public:
@@ -14,7 +14,7 @@ public:
MQ6(uint8_t pin, uint8_t pinHeater);
unsigned long readLPG();
private:
virtual int getRL() const { return MQ6_RL_BOARD ; }
virtual float getRL() const { return MQ6_RL_BOARD ; }
virtual float getRoInCleanAir() const { return MQ6_RO_IN_CLEAR_AIR; }
};

View File

@@ -4,9 +4,9 @@
#include "BaseMQ.h"
// резистор установленный на плату (кОм)
#define MQ7_RL_BOARD 10
#define MQ7_RL_BOARD 10.0
// коефициент чистого воздуха из графика
#define MQ7_RO_IN_CLEAR_AIR 27
#define MQ7_RO_IN_CLEAR_AIR 27.0
class MQ7 : public BaseMQ {
public:
@@ -14,7 +14,7 @@ public:
MQ7(uint8_t pin, uint8_t pinHeater);
unsigned long readCarbonMonoxide();
private:
virtual int getRL() const { return MQ7_RL_BOARD; }
virtual float getRL() const { return MQ7_RL_BOARD; }
virtual float getRoInCleanAir() const { return MQ7_RO_IN_CLEAR_AIR; }
};

View File

@@ -4,9 +4,9 @@
#include "BaseMQ.h"
// резистор установленный на плату (кОм)
#define MQ8_RL_BOARD 10
#define MQ8_RL_BOARD 10.0
// коефициент чистого воздуха из графика
#define MQ8_RO_IN_CLEAR_AIR 27
#define MQ8_RO_IN_CLEAR_AIR 27.0
class MQ8 : public BaseMQ {
public:
@@ -14,7 +14,7 @@ public:
MQ8(uint8_t pin, uint8_t pinHeater);
unsigned long readHydrogen();
private:
virtual int getRL() const { return MQ8_RL_BOARD; }
virtual float getRL() const { return MQ8_RL_BOARD; }
virtual float getRoInCleanAir() const { return MQ8_RO_IN_CLEAR_AIR ; }
};

View File

@@ -4,7 +4,7 @@
#include "BaseMQ.h"
// резистор установленный на плату (кОм)
#define MQ9_RL_BOARD 10
#define MQ9_RL_BOARD 10.0
// коефициент чистого воздуха из графика
#define MQ9_RO_IN_CLEAR_AIR 9.8
@@ -17,7 +17,7 @@ public:
unsigned long readCarbonMonoxide();
private:
// Резистор установленный на плату (кОм)
virtual int getRL() const { return MQ9_RL_BOARD; }
virtual float getRL() const { return MQ9_RL_BOARD; }
// коефициент чистого воздуха
virtual float getRoInCleanAir() const { return MQ9_RO_IN_CLEAR_AIR; }
};