update library

This commit is contained in:
Igor
2018-01-19 21:37:03 +03:00
parent 61dc0f9349
commit 4c7567255b
51 changed files with 690 additions and 392 deletions

View File

@ -0,0 +1,36 @@
// библиотека для работы с датчиками MQ (Troyka-модуль)
#include <TroykaMQ.h>
// имя для пина, к которому подключен датчик
#define PIN_MQ135 A0
// создаём объект для работы с датчиком и передаём ему номер пина
MQ135 mq135(PIN_MQ135);
void setup()
{
// открываем последовательный порт
Serial.begin(9600);
// перед калибровкой датчика прогрейте его 60 секунд
// выполняем калибровку датчика на чистом воздухе
mq135.calibrate();
// при знании сопративления датчика на чистом воздухе
// можно его указать вручную, допустим 160
// mq135.calibrate(160);
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
Serial.print("Ro = ");
Serial.println(mq135.getRo());
}
void loop()
{
// выводим отношения текущего сопротивление датчика
// к сопротивлению датчика в чистом воздухе (Rs/Ro)
Serial.print("Ratio: ");
Serial.print(mq135.readRatio());
// выводим значения газов в ppm
Serial.print("\tCO2: ");
Serial.print(mq135.readCO2());
Serial.println(" ppm");
delay(100);
}

View File

@ -0,0 +1,49 @@
// библиотека для работы с датчиками MQ (Troyka-модуль)
#include <TroykaMQ.h>
// имя для пина, к которому подключен датчик
#define PIN_MQ135 A0
// имя для пина, к которому подключен нагреватель датчика
#define PIN_MQ135_HEATER 11
// создаём объект для работы с датчиком
// и передаём ему номер пина выходного сигнала и нагревателя
MQ135 mq135(PIN_MQ135);
void setup()
{
// открываем последовательный порт
Serial.begin(9600);
// включаем нагреватель
mq135.heaterPwrHigh();
Serial.println("Heated sensor");
}
void loop()
{
// если прошёл интервал нагрева датчика
// и калибровка не была совершена
if (!mq135.isCalibrated() && mq135.heatingCompleted()) {
// выполняем калибровку датчика на чистом воздухе
mq135.calibrate();
// при знании сопративления датчика на чистом воздухе
// можно его указать вручную, допустим 160
// mq135.calibrate(160);
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
Serial.print("Ro = ");
Serial.println(mq135.getRo());
}
// если прошёл интевал нагрева датчика
// и калибровка была совершена
if (mq135.isCalibrated() && mq135.heatingCompleted()) {
// выводим отношения текущего сопротивление датчика
// к сопротивлению датчика в чистом воздухе (Rs/Ro)
Serial.print("Ratio: ");
Serial.print(mq135.readRatio());
// выводим значения газов в ppm
Serial.print("\tCO2: ");
Serial.print(mq135.readCO2());
Serial.println(" ppm");
delay(100);
}
}

View File

@ -13,6 +13,9 @@ void setup()
// перед калибровкой датчика прогрейте его 60 секунд
// выполняем калибровку датчика на чистом воздухе
mq2.calibrate();
// при знании сопративления датчика на чистом воздухе
// можно его указать вручную, допустим 3.2
// mq2.calibrate(3.2);
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
Serial.print("Ro = ");
Serial.println(mq2.getRo());
@ -25,18 +28,18 @@ void loop()
Serial.print("Ratio: ");
Serial.print(mq2.readRatio());
// выводим значения газов в ppm
Serial.print("LPG: ");
Serial.print("\tLPG: ");
Serial.print(mq2.readLPG());
Serial.print(" ppm ");
Serial.print(" Methane: ");
Serial.print(" ppm");
Serial.print("\tMethane: ");
Serial.print(mq2.readMethane());
Serial.print(" ppm ");
Serial.print(" Smoke: ");
Serial.print(" ppm");
Serial.print("\tSmoke: ");
Serial.print(mq2.readSmoke());
Serial.print(" ppm ");
Serial.print(" Hydrogen: ");
Serial.print(" ppm");
Serial.print("\tHydrogen: ");
Serial.print(mq2.readHydrogen());
Serial.println(" ppm ");
Serial.println(" ppm");
delay(100);
}

View File

@ -26,6 +26,9 @@ void loop()
if (!mq2.isCalibrated() && mq2.heatingCompleted()) {
// выполняем калибровку датчика на чистом воздухе
mq2.calibrate();
// при знании сопративления датчика на чистом воздухе
// можно его указать вручную, допустим 3.2
// mq2.calibrate(3.2);
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
Serial.print("Ro = ");
Serial.println(mq2.getRo());
@ -38,18 +41,18 @@ void loop()
Serial.print("Ratio: ");
Serial.print(mq2.readRatio());
// выводим значения газов в ppm
Serial.print("LPG: ");
Serial.print("\tLPG: ");
Serial.print(mq2.readLPG());
Serial.print(" ppm ");
Serial.print(" Methane: ");
Serial.print(" ppm");
Serial.print("\tMethane: ");
Serial.print(mq2.readMethane());
Serial.print(" ppm ");
Serial.print(" Smoke: ");
Serial.print(" ppm");
Serial.print("\tSmoke: ");
Serial.print(mq2.readSmoke());
Serial.print(" ppm ");
Serial.print(" Hydrogen: ");
Serial.print(" ppm");
Serial.print("\tHydrogen: ");
Serial.print(mq2.readHydrogen());
Serial.println(" ppm ");
Serial.println(" ppm");
delay(100);
}
}

View File

@ -13,6 +13,9 @@ void setup()
// перед калибровкой датчика прогрейте его 60 секунд
// выполняем калибровку датчика на чистом воздухе
mq3.calibrate();
// при знании сопративления датчика на чистом воздухе
// можно его указать вручную, допустим 6.3
// mq3.calibrate(6.3);
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
Serial.print("Ro = ");
Serial.println(mq3.getRo());

View File

@ -26,6 +26,9 @@ void loop()
if (!mq3.isCalibrated() && mq3.heatingCompleted()) {
// выполняем калибровку датчика на чистом воздухе
mq3.calibrate();
// при знании сопративления датчика на чистом воздухе
// можно его указать вручную, допустим 6.3
// mq3.calibrate(6.3);
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
Serial.print("Ro = ");
Serial.println(mq3.getRo());

View File

@ -13,6 +13,9 @@ void setup()
// перед калибровкой датчика прогрейте его 60 секунд
// выполняем калибровку датчика на чистом воздухе
mq4.calibrate();
// при знании сопративления датчика на чистом воздухе
// можно его указать вручную, допустим 7.1
// mq4.calibrate(7.1);
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
Serial.print("Ro = ");
Serial.println(mq4.getRo());

View File

@ -26,6 +26,9 @@ void loop()
if (!mq4.isCalibrated() && mq4.heatingCompleted()) {
// выполняем калибровку датчика на чистом воздухе
mq4.calibrate();
// при знании сопративления датчика на чистом воздухе
// можно его указать вручную, допустим 7.1
// mq4.calibrate(7.1);
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
Serial.print("Ro = ");
Serial.println(mq4.getRo());

View File

@ -13,6 +13,9 @@ void setup()
// перед калибровкой датчика прогрейте его 60 секунд
// выполняем калибровку датчика на чистом воздухе
mq5.calibrate();
// при знании сопративления датчика на чистом воздухе
// можно его указать вручную, допустим 4.7
// mq5.calibrate(4.7);
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
Serial.print("Ro = ");
Serial.println(mq5.getRo());

View File

@ -26,6 +26,9 @@ void loop()
if (!mq5.isCalibrated() && mq5.heatingCompleted()) {
// выполняем калибровку датчика на чистом воздухе
mq5.calibrate();
// при знании сопративления датчика на чистом воздухе
// можно его указать вручную, допустим 4.7
// mq5.calibrate(4.7);
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
Serial.print("Ro = ");
Serial.println(mq5.getRo());

View File

@ -13,6 +13,9 @@ void setup()
// перед калибровкой датчика прогрейте его 60 секунд
// выполняем калибровку датчика на чистом воздухе
mq6.calibrate();
// при знании сопративления датчика на чистом воздухе
// можно его указать вручную, допустим 8.2
// mq6.calibrate(8.2);
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
Serial.print("Ro = ");
Serial.println(mq6.getRo());

View File

@ -26,6 +26,9 @@ void loop()
if (!mq6.isCalibrated() && mq6.heatingCompleted()) {
// выполняем калибровку датчика на чистом воздухе
mq6.calibrate();
// при знании сопративления датчика на чистом воздухе
// можно его указать вручную, допустим 8.2
// mq6.calibrate(8.2);
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
Serial.print("Ro = ");
Serial.println(mq6.getRo());

View File

@ -1,52 +1,55 @@
// библиотека для работы с датчиками MQ (Troyka-модуль)
#include <TroykaMQ.h>
// имя для пина, к которому подключен датчик
#define PIN_MQ7 A0
// имя для пина, к которому подключен нагреватель датчика
#define PIN_MQ7_HEATER 11
// создаём объект для работы с датчиком
// и передаём ему номер пина выходного сигнала и нагревателя
MQ7 mq7(PIN_MQ7, PIN_MQ7_HEATER);
void setup()
{
// открываем последовательный порт
Serial.begin(9600);
// запускаем термоцикл
// в течении 60 секунд на нагревательный элемент подаётся 5 вольт
// в течении 90 секунд — 1,5 вольта
mq7.cycleHeat();
}
void loop()
{
// если прошёл интервал нагрева датчика
// и калибровка не была совершена
if (!mq7.isCalibrated() && mq7.atHeatCycleEnd()) {
// выполняем калибровку датчика на чистом воздухе
mq7.calibrate();
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
Serial.print("Ro = ");
Serial.println(mq7.getRo());
// запускаем термоцикл
mq7.cycleHeat();
}
// если прошёл интевал нагрева датчика
// и калибровка была совершена
if (mq7.isCalibrated() && mq7.atHeatCycleEnd()) {
// выводим отношения текущего сопротивление датчика
// к сопротивлению датчика в чистом воздухе (Rs/Ro)
Serial.print("Ratio: ");
Serial.print(mq7.readRatio());
// выводим значения газов в ppm
Serial.print(" CarbonMonoxide: ");
Serial.print(mq7.readCarbonMonoxide());
Serial.println(" ppm ");
delay(100);
// запускаем термоцикл
mq7.cycleHeat();
}
}
// библиотека для работы с датчиками MQ (Troyka-модуль)
#include <TroykaMQ.h>
// имя для пина, к которому подключен датчик
#define PIN_MQ7 A0
// имя для пина, к которому подключен нагреватель датчика
#define PIN_MQ7_HEATER 11
// создаём объект для работы с датчиком
// и передаём ему номер пина выходного сигнала и нагревателя
MQ7 mq7(PIN_MQ7, PIN_MQ7_HEATER);
void setup()
{
// открываем последовательный порт
Serial.begin(9600);
// запускаем термоцикл
// в течении 60 секунд на нагревательный элемент подаётся 5 вольт
// в течении 90 секунд — 1,5 вольта
mq7.cycleHeat();
}
void loop()
{
// если прошёл интервал нагрева датчика
// и калибровка не была совершена
if (!mq7.isCalibrated() && mq7.atHeatCycleEnd()) {
// выполняем калибровку датчика на чистом воздухе
mq7.calibrate();
// при знании сопративления датчика на чистом воздухе
// можно его указать вручную, допустим 7.2
// mq7.calibrate(7.2);
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
Serial.print("Ro = ");
Serial.println(mq7.getRo());
// запускаем термоцикл
mq7.cycleHeat();
}
// если прошёл интевал нагрева датчика
// и калибровка была совершена
if (mq7.isCalibrated() && mq7.atHeatCycleEnd()) {
// выводим отношения текущего сопротивление датчика
// к сопротивлению датчика в чистом воздухе (Rs/Ro)
Serial.print("Ratio: ");
Serial.print(mq7.readRatio());
// выводим значения газов в ppm
Serial.print(" CarbonMonoxide: ");
Serial.print(mq7.readCarbonMonoxide());
Serial.println(" ppm ");
delay(100);
// запускаем термоцикл
mq7.cycleHeat();
}
}

View File

@ -13,6 +13,9 @@ void setup()
// перед калибровкой датчика прогрейте его 60 секунд
// выполняем калибровку датчика на чистом воздухе
mq8.calibrate();
// при знании сопративления датчика на чистом воздухе
// можно его указать вручную, допустим 6.1
// mq8.calibrate(6.1);
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
Serial.print("Ro = ");
Serial.println(mq8.getRo());

View File

@ -26,6 +26,9 @@ void loop()
if (!mq8.isCalibrated() && mq8.heatingCompleted()) {
// выполняем калибровку датчика на чистом воздухе
mq8.calibrate();
// при знании сопративления датчика на чистом воздухе
// можно его указать вручную, допустим 6.1
// mq8.calibrate(6.1);
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
Serial.print("Ro = ");
Serial.println(mq8.getRo());

View File

@ -27,6 +27,9 @@ void loop()
if (!mq9.isCalibrated() && mq9.atHeatCycleEnd()) {
// выполняем калибровку датчика на чистом воздухе
mq9.calibrate();
// при знании сопративления датчика на чистом воздухе
// можно его указать вручную, допустим 7.2
// mq9.calibrate(7.2);
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
Serial.print("Ro = ");
Serial.println(mq9.getRo());