mirror of
https://github.com/amperka/TroykaMQ.git
synced 2025-03-14 20:17:35 +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()
|
||||
{
|
||||
|
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)
|
||||
#######################################
|
||||
|
||||
MQ2 KEYWORD1 MQ2
|
||||
MQ3 KEYWORD1 MQ3
|
||||
MQ4 KEYWORD1 MQ4
|
||||
MQ5 KEYWORD1 MQ5
|
||||
MQ6 KEYWORD1 MQ6
|
||||
MQ7 KEYWORD1 MQ7
|
||||
MQ8 KEYWORD1 MQ8
|
||||
MQ9 KEYWORD1 MQ9
|
||||
MQ135 KEYWORD1 MQ135
|
||||
MQ2 KEYWORD1 MQ2
|
||||
MQ3 KEYWORD1 MQ3
|
||||
MQ4 KEYWORD1 MQ4
|
||||
MQ5 KEYWORD1 MQ5
|
||||
MQ6 KEYWORD1 MQ6
|
||||
MQ7 KEYWORD1 MQ7
|
||||
MQ8 KEYWORD1 MQ8
|
||||
MQ9 KEYWORD1 MQ9
|
||||
MQ135 KEYWORD1 MQ135
|
||||
|
||||
#######################################
|
||||
# Methods and Functions (KEYWORD2)
|
||||
#######################################
|
||||
calibrate KEYWORD2
|
||||
heaterPwrHigh KEYWORD2
|
||||
heaterPwrLow KEYWORD2
|
||||
heaterPwrOff KEYWORD2
|
||||
cycleHeat KEYWORD2
|
||||
atHeatCycleEnd KEYWORD2
|
||||
heatingCompleted KEYWORD2
|
||||
coolanceCompleted KEYWORD2
|
||||
readRatio KEYWORD2
|
||||
isCalibrated KEYWORD2
|
||||
getRo KEYWORD2
|
||||
readLPG KEYWORD2
|
||||
readMethane KEYWORD2
|
||||
readSmoke KEYWORD2
|
||||
readHydrogen KEYWORD2
|
||||
readAlcoholMgL KEYWORD2
|
||||
readAlcoholPpm KEYWORD2
|
||||
readCarbonMonoxide KEYWORD2
|
||||
readCO2 KEYWORD2
|
||||
calibrate KEYWORD2
|
||||
heaterPwrHigh KEYWORD2
|
||||
heaterPwrLow KEYWORD2
|
||||
heaterPwrOff KEYWORD2
|
||||
cycleHeat KEYWORD2
|
||||
atHeatCycleEnd KEYWORD2
|
||||
heatingCompleted KEYWORD2
|
||||
coolanceCompleted KEYWORD2
|
||||
readRatio KEYWORD2
|
||||
isCalibrated KEYWORD2
|
||||
getRo KEYWORD2
|
||||
readLPG KEYWORD2
|
||||
readMethane KEYWORD2
|
||||
readSmoke KEYWORD2
|
||||
readHydrogen KEYWORD2
|
||||
readAlcoholMgL KEYWORD2
|
||||
readAlcoholPpm KEYWORD2
|
||||
readCarbonMonoxide KEYWORD2
|
||||
readCO2 KEYWORD2
|
||||
getYear KEYWORD2
|
@ -1,9 +1,9 @@
|
||||
name=TroykaMQ
|
||||
version=1.1
|
||||
version=1.0.0
|
||||
author=Igor Dementiev, Amperka
|
||||
maintainer=Amperka <amperka.ru>
|
||||
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.
|
||||
category=Sensors
|
||||
url=https://github.com/amperka/TroykaMQ
|
||||
architectures=*
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
12
src/BaseMQ.h
12
src/BaseMQ.h
@ -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;
|
||||
|
10
src/MQ135.h
10
src/MQ135.h
@ -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_
|
||||
|
@ -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; }
|
||||
};
|
||||
|
||||
|
@ -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; }
|
||||
};
|
||||
|
||||
|
@ -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; }
|
||||
};
|
||||
|
||||
|
@ -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; }
|
||||
};
|
||||
|
||||
|
@ -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; }
|
||||
};
|
||||
|
||||
|
@ -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; }
|
||||
};
|
||||
|
||||
|
@ -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 ; }
|
||||
};
|
||||
|
||||
|
@ -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; }
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user