mirror of
https://github.com/amperka/TroykaMQ.git
synced 2025-03-15 04:27:34 +03:00
fix library
This commit is contained in:
parent
849d4d6aa1
commit
2d33995615
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
// создаём объект для работы с датчиком
|
// создаём объект для работы с датчиком
|
||||||
// и передаём ему номер пина выходного сигнала и нагревателя
|
// и передаём ему номер пина выходного сигнала и нагревателя
|
||||||
MQ135 mq135(PIN_MQ135, PIN_MQ135_HEATER);
|
MQ135 mq135(PIN_MQ135);
|
||||||
|
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
|
BIN
extras/mq135_graph_factors.zip
Normal file
BIN
extras/mq135_graph_factors.zip
Normal file
Binary file not shown.
BIN
extras/mq2_graph_factors.zip
Normal file
BIN
extras/mq2_graph_factors.zip
Normal file
Binary file not shown.
BIN
extras/mq3_graph_factors.zip
Normal file
BIN
extras/mq3_graph_factors.zip
Normal file
Binary file not shown.
BIN
extras/mq4_graph_factorsl.zip
Normal file
BIN
extras/mq4_graph_factorsl.zip
Normal file
Binary file not shown.
BIN
extras/mq5_graph_factors.zip
Normal file
BIN
extras/mq5_graph_factors.zip
Normal file
Binary file not shown.
BIN
extras/mq6_graph_factors.zip
Normal file
BIN
extras/mq6_graph_factors.zip
Normal file
Binary file not shown.
BIN
extras/mq7_graph_factors.zip
Normal file
BIN
extras/mq7_graph_factors.zip
Normal file
Binary file not shown.
BIN
extras/mq8_graph_factors.zip
Normal file
BIN
extras/mq8_graph_factors.zip
Normal file
Binary file not shown.
BIN
extras/mq9_graph_factors.zip
Normal file
BIN
extras/mq9_graph_factors.zip
Normal file
Binary file not shown.
57
keywords.txt
57
keywords.txt
@ -6,35 +6,36 @@
|
|||||||
# Datatypes (KEYWORD1)
|
# Datatypes (KEYWORD1)
|
||||||
#######################################
|
#######################################
|
||||||
|
|
||||||
MQ2 KEYWORD1 MQ2
|
MQ2 KEYWORD1 MQ2
|
||||||
MQ3 KEYWORD1 MQ3
|
MQ3 KEYWORD1 MQ3
|
||||||
MQ4 KEYWORD1 MQ4
|
MQ4 KEYWORD1 MQ4
|
||||||
MQ5 KEYWORD1 MQ5
|
MQ5 KEYWORD1 MQ5
|
||||||
MQ6 KEYWORD1 MQ6
|
MQ6 KEYWORD1 MQ6
|
||||||
MQ7 KEYWORD1 MQ7
|
MQ7 KEYWORD1 MQ7
|
||||||
MQ8 KEYWORD1 MQ8
|
MQ8 KEYWORD1 MQ8
|
||||||
MQ9 KEYWORD1 MQ9
|
MQ9 KEYWORD1 MQ9
|
||||||
MQ135 KEYWORD1 MQ135
|
MQ135 KEYWORD1 MQ135
|
||||||
|
|
||||||
#######################################
|
#######################################
|
||||||
# Methods and Functions (KEYWORD2)
|
# Methods and Functions (KEYWORD2)
|
||||||
#######################################
|
#######################################
|
||||||
calibrate KEYWORD2
|
calibrate KEYWORD2
|
||||||
heaterPwrHigh KEYWORD2
|
heaterPwrHigh KEYWORD2
|
||||||
heaterPwrLow KEYWORD2
|
heaterPwrLow KEYWORD2
|
||||||
heaterPwrOff KEYWORD2
|
heaterPwrOff KEYWORD2
|
||||||
cycleHeat KEYWORD2
|
cycleHeat KEYWORD2
|
||||||
atHeatCycleEnd KEYWORD2
|
atHeatCycleEnd KEYWORD2
|
||||||
heatingCompleted KEYWORD2
|
heatingCompleted KEYWORD2
|
||||||
coolanceCompleted KEYWORD2
|
coolanceCompleted KEYWORD2
|
||||||
readRatio KEYWORD2
|
readRatio KEYWORD2
|
||||||
isCalibrated KEYWORD2
|
isCalibrated KEYWORD2
|
||||||
getRo KEYWORD2
|
getRo KEYWORD2
|
||||||
readLPG KEYWORD2
|
readLPG KEYWORD2
|
||||||
readMethane KEYWORD2
|
readMethane KEYWORD2
|
||||||
readSmoke KEYWORD2
|
readSmoke KEYWORD2
|
||||||
readHydrogen KEYWORD2
|
readHydrogen KEYWORD2
|
||||||
readAlcoholMgL KEYWORD2
|
readAlcoholMgL KEYWORD2
|
||||||
readAlcoholPpm KEYWORD2
|
readAlcoholPpm KEYWORD2
|
||||||
readCarbonMonoxide KEYWORD2
|
readCarbonMonoxide KEYWORD2
|
||||||
readCO2 KEYWORD2
|
readCO2 KEYWORD2
|
||||||
|
getYear KEYWORD2
|
@ -1,9 +1,9 @@
|
|||||||
name=TroykaMQ
|
name=TroykaMQ
|
||||||
version=1.1
|
version=1.0.0
|
||||||
author=Igor Dementiev, Amperka
|
author=Igor Dementiev, Amperka
|
||||||
maintainer=Amperka <amperka.ru>
|
maintainer=Amperka <amperka.ru>
|
||||||
sentence=Allows to read data from gas sensors of the MQx series in ppm.
|
sentence=Allows to read data from gas sensors of the MQx series in ppm.
|
||||||
paragraph=This library reads data from the MQx series sensors and displays the readings in ppm. Before reading the indicators, the sensor must be calibrated in clean air.
|
paragraph=This library reads data from the MQx series sensors and displays the readings in ppm. Before reading the indicators, the sensor must be calibrated in clean air.
|
||||||
category=Sensors
|
category=Sensors
|
||||||
url=https://github.com/amperka/TroykaMQ
|
url=https://github.com/amperka/TroykaMQ
|
||||||
architectures=*
|
|
||||||
|
@ -23,6 +23,7 @@ BaseMQ::BaseMQ(uint8_t pin, uint8_t pinHeater) {
|
|||||||
// фиксированая калибровка датчика
|
// фиксированая калибровка датчика
|
||||||
// при знании сопративления датчика на чистом воздухе
|
// при знании сопративления датчика на чистом воздухе
|
||||||
void BaseMQ::calibrate(float ro) {
|
void BaseMQ::calibrate(float ro) {
|
||||||
|
Serial.println(OPERATING_VOLTAGE);
|
||||||
_ro = ro;
|
_ro = ro;
|
||||||
_stateCalibrate = true;
|
_stateCalibrate = true;
|
||||||
}
|
}
|
||||||
|
12
src/BaseMQ.h
12
src/BaseMQ.h
@ -31,7 +31,7 @@
|
|||||||
#if defined(__AVR__)
|
#if defined(__AVR__)
|
||||||
#define OPERATING_VOLTAGE 5.0
|
#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
|
#define OPERATING_VOLTAGE 3.3
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -49,17 +49,13 @@ public:
|
|||||||
bool heatingCompleted() const;
|
bool heatingCompleted() const;
|
||||||
bool coolanceCompleted() const;
|
bool coolanceCompleted() const;
|
||||||
float readRatio() const;
|
float readRatio() const;
|
||||||
inline bool isCalibrated() const {
|
inline bool isCalibrated() const { return _stateCalibrate; };
|
||||||
return _stateCalibrate;
|
inline float getRo() const { return _ro; };
|
||||||
};
|
|
||||||
inline float getRo() const {
|
|
||||||
return _ro;
|
|
||||||
};
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
float readScaled(float a, float b) const;
|
float readScaled(float a, float b) const;
|
||||||
virtual float getRoInCleanAir() const = 0;
|
virtual float getRoInCleanAir() const = 0;
|
||||||
virtual int getRL() const = 0;
|
virtual float getRL() const = 0;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool _heater = false;
|
bool _heater = false;
|
||||||
|
10
src/MQ135.h
10
src/MQ135.h
@ -4,7 +4,7 @@
|
|||||||
#include "BaseMQ.h"
|
#include "BaseMQ.h"
|
||||||
|
|
||||||
// резистор установленный на плату (кОм)
|
// резистор установленный на плату (кОм)
|
||||||
#define MQ135_RL_BOARD 10
|
#define MQ135_RL_BOARD 10.0
|
||||||
|
|
||||||
// концентрация углекислого газа в сухом воздухе
|
// концентрация углекислого газа в сухом воздухе
|
||||||
#define PPM_CO2_IN_CLEAR_AIR 397.13
|
#define PPM_CO2_IN_CLEAR_AIR 397.13
|
||||||
@ -15,12 +15,8 @@ public:
|
|||||||
MQ135(uint8_t pin, uint8_t pinHeater);
|
MQ135(uint8_t pin, uint8_t pinHeater);
|
||||||
unsigned long readCO2();
|
unsigned long readCO2();
|
||||||
private:
|
private:
|
||||||
virtual int getRL() const {
|
virtual float getRL() const { return MQ135_RL_BOARD; }
|
||||||
return MQ135_RL_BOARD;
|
virtual float getRoInCleanAir() const { return exp((log(PPM_CO2_IN_CLEAR_AIR) * -0.42) + 1.92); }
|
||||||
}
|
|
||||||
virtual float getRoInCleanAir() const {
|
|
||||||
return exp((log(PPM_CO2_IN_CLEAR_AIR) * -0.42) + 1.92);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // MQ135_H_
|
#endif // MQ135_H_
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#include "BaseMQ.h"
|
#include "BaseMQ.h"
|
||||||
|
|
||||||
// резистор установленный на плату (кОм)
|
// резистор установленный на плату (кОм)
|
||||||
#define MQ2_RL_BOARD 5
|
#define MQ2_RL_BOARD 5.0
|
||||||
// коефициент чистого воздуха из графика
|
// коефициент чистого воздуха из графика
|
||||||
#define MQ2_RO_IN_CLEAR_AIR 9.83
|
#define MQ2_RO_IN_CLEAR_AIR 9.83
|
||||||
|
|
||||||
@ -17,7 +17,7 @@ public:
|
|||||||
unsigned long readSmoke();
|
unsigned long readSmoke();
|
||||||
unsigned long readHydrogen();
|
unsigned long readHydrogen();
|
||||||
private:
|
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; }
|
virtual float getRoInCleanAir() const { return MQ2_RO_IN_CLEAR_AIR; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -4,9 +4,9 @@
|
|||||||
#include "BaseMQ.h"
|
#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 {
|
class MQ3 : public BaseMQ {
|
||||||
public:
|
public:
|
||||||
@ -15,7 +15,7 @@ public:
|
|||||||
float readAlcoholMgL();
|
float readAlcoholMgL();
|
||||||
float readAlcoholPpm();
|
float readAlcoholPpm();
|
||||||
private:
|
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; }
|
virtual float getRoInCleanAir() const { return MQ3_RO_IN_CLEAR_AIR; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#include "BaseMQ.h"
|
#include "BaseMQ.h"
|
||||||
|
|
||||||
// резистор установленный на плату (кОм)
|
// резистор установленный на плату (кОм)
|
||||||
#define MQ4_RL_BOARD 20
|
#define MQ4_RL_BOARD 20.0
|
||||||
// коефициент чистого воздуха из графика
|
// коефициент чистого воздуха из графика
|
||||||
#define MQ4_RO_IN_CLEAR_AIR 4.4
|
#define MQ4_RO_IN_CLEAR_AIR 4.4
|
||||||
|
|
||||||
@ -14,7 +14,7 @@ public:
|
|||||||
MQ4(uint8_t pin, uint8_t pinHeater);
|
MQ4(uint8_t pin, uint8_t pinHeater);
|
||||||
unsigned long readMethane();
|
unsigned long readMethane();
|
||||||
private:
|
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; }
|
virtual float getRoInCleanAir() const { return MQ4_RO_IN_CLEAR_AIR; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#include "BaseMQ.h"
|
#include "BaseMQ.h"
|
||||||
|
|
||||||
// резистор установленный на плату (кОм)
|
// резистор установленный на плату (кОм)
|
||||||
#define MQ5_RL_BOARD 20
|
#define MQ5_RL_BOARD 20.0
|
||||||
// коефициент чистого воздуха из графика
|
// коефициент чистого воздуха из графика
|
||||||
#define MQ5_RO_IN_CLEAR_AIR 6.5
|
#define MQ5_RO_IN_CLEAR_AIR 6.5
|
||||||
|
|
||||||
@ -15,7 +15,7 @@ public:
|
|||||||
unsigned long readLPG();
|
unsigned long readLPG();
|
||||||
unsigned long readMethane();
|
unsigned long readMethane();
|
||||||
private:
|
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; }
|
virtual float getRoInCleanAir() const { return MQ5_RO_IN_CLEAR_AIR; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -4,9 +4,9 @@
|
|||||||
#include "BaseMQ.h"
|
#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 {
|
class MQ6 : public BaseMQ {
|
||||||
public:
|
public:
|
||||||
@ -14,7 +14,7 @@ public:
|
|||||||
MQ6(uint8_t pin, uint8_t pinHeater);
|
MQ6(uint8_t pin, uint8_t pinHeater);
|
||||||
unsigned long readLPG();
|
unsigned long readLPG();
|
||||||
private:
|
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; }
|
virtual float getRoInCleanAir() const { return MQ6_RO_IN_CLEAR_AIR; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -4,9 +4,9 @@
|
|||||||
#include "BaseMQ.h"
|
#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 {
|
class MQ7 : public BaseMQ {
|
||||||
public:
|
public:
|
||||||
@ -14,7 +14,7 @@ public:
|
|||||||
MQ7(uint8_t pin, uint8_t pinHeater);
|
MQ7(uint8_t pin, uint8_t pinHeater);
|
||||||
unsigned long readCarbonMonoxide();
|
unsigned long readCarbonMonoxide();
|
||||||
private:
|
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; }
|
virtual float getRoInCleanAir() const { return MQ7_RO_IN_CLEAR_AIR; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -4,9 +4,9 @@
|
|||||||
#include "BaseMQ.h"
|
#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 {
|
class MQ8 : public BaseMQ {
|
||||||
public:
|
public:
|
||||||
@ -14,7 +14,7 @@ public:
|
|||||||
MQ8(uint8_t pin, uint8_t pinHeater);
|
MQ8(uint8_t pin, uint8_t pinHeater);
|
||||||
unsigned long readHydrogen();
|
unsigned long readHydrogen();
|
||||||
private:
|
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 ; }
|
virtual float getRoInCleanAir() const { return MQ8_RO_IN_CLEAR_AIR ; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#include "BaseMQ.h"
|
#include "BaseMQ.h"
|
||||||
|
|
||||||
// резистор установленный на плату (кОм)
|
// резистор установленный на плату (кОм)
|
||||||
#define MQ9_RL_BOARD 10
|
#define MQ9_RL_BOARD 10.0
|
||||||
// коефициент чистого воздуха из графика
|
// коефициент чистого воздуха из графика
|
||||||
#define MQ9_RO_IN_CLEAR_AIR 9.8
|
#define MQ9_RO_IN_CLEAR_AIR 9.8
|
||||||
|
|
||||||
@ -17,7 +17,7 @@ public:
|
|||||||
unsigned long readCarbonMonoxide();
|
unsigned long readCarbonMonoxide();
|
||||||
private:
|
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; }
|
virtual float getRoInCleanAir() const { return MQ9_RO_IN_CLEAR_AIR; }
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user