mirror of
https://github.com/amperka/TroykaMQ.git
synced 2025-07-23 20:11:07 +03:00
initial commit
This commit is contained in:
42
examples/mq2/mq2/mq2.ino
Normal file
42
examples/mq2/mq2/mq2.ino
Normal file
@ -0,0 +1,42 @@
|
||||
// библиотека для работы с датчиками MQ (Troyka-модуль)
|
||||
#include <TroykaMQ.h>
|
||||
|
||||
//имя для пина, к которому подключен датчик
|
||||
#define PIN_MQ2 A0
|
||||
// создаём объект для работы с датчиком и передаём ему номер пина
|
||||
MQ2 mq2(PIN_MQ2);
|
||||
|
||||
void setup()
|
||||
{
|
||||
// открываем последовательный порт
|
||||
Serial.begin(9600);
|
||||
// перед калибровкой датчика прогрейте его 60 секунд
|
||||
// выполняем калибровку датчика на чистом воздухе
|
||||
mq2.calibrate();
|
||||
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
|
||||
Serial.print("Ro = ");
|
||||
Serial.println(mq2.getRo());
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
// выводим отношения текущего сопротивление датчика
|
||||
// к сопротивлению датчика в чистом воздухе (Rs/Ro)
|
||||
Serial.print("Ratio: ");
|
||||
Serial.print(mq2.readRatio());
|
||||
// выводим значения газов в ppm
|
||||
Serial.print("LPG: ");
|
||||
Serial.print(mq2.readLPG());
|
||||
Serial.print(" ppm ");
|
||||
Serial.print(" Methane: ");
|
||||
Serial.print(mq2.readMethane());
|
||||
Serial.print(" ppm ");
|
||||
Serial.print(" Smoke: ");
|
||||
Serial.print(mq2.readSmoke());
|
||||
Serial.print(" ppm ");
|
||||
Serial.print(" Hydrogen: ");
|
||||
Serial.print(mq2.readHydrogen());
|
||||
Serial.println(" ppm ");
|
||||
delay(100);
|
||||
}
|
||||
|
55
examples/mq2/mq2Heater/mq2Heater.ino
Normal file
55
examples/mq2/mq2Heater/mq2Heater.ino
Normal file
@ -0,0 +1,55 @@
|
||||
// библиотека для работы с датчиками MQ (Troyka-модуль)
|
||||
#include <TroykaMQ.h>
|
||||
|
||||
// имя для пина, к которому подключен датчик
|
||||
#define PIN_MQ2 A0
|
||||
// имя для пина, к которому подключен нагреватель датчика
|
||||
#define PIN_MQ2_HEATER 11
|
||||
|
||||
// создаём объект для работы с датчиком
|
||||
// и передаём ему номер пина выходного сигнала и нагревателя
|
||||
MQ2 mq2(PIN_MQ2, PIN_MQ2_HEATER);
|
||||
|
||||
void setup()
|
||||
{
|
||||
// открываем последовательный порт
|
||||
Serial.begin(9600);
|
||||
// включаем нагреватель
|
||||
mq2.heaterPwrHigh();
|
||||
Serial.println("Heated sensor");
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
// если прошёл интервал нагрева датчика
|
||||
// и калибровка не была совершена
|
||||
if (!mq2.isCalibrated() && mq2.heatingCompleted()) {
|
||||
// выполняем калибровку датчика на чистом воздухе
|
||||
mq2.calibrate();
|
||||
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
|
||||
Serial.print("Ro = ");
|
||||
Serial.println(mq2.getRo());
|
||||
}
|
||||
// если прошёл интевал нагрева датчика
|
||||
// и калибровка была совершена
|
||||
if (mq2.isCalibrated() && mq2.heatingCompleted()) {
|
||||
// выводим отношения текущего сопротивление датчика
|
||||
// к сопротивлению датчика в чистом воздухе (Rs/Ro)
|
||||
Serial.print("Ratio: ");
|
||||
Serial.print(mq2.readRatio());
|
||||
// выводим значения газов в ppm
|
||||
Serial.print("LPG: ");
|
||||
Serial.print(mq2.readLPG());
|
||||
Serial.print(" ppm ");
|
||||
Serial.print(" Methane: ");
|
||||
Serial.print(mq2.readMethane());
|
||||
Serial.print(" ppm ");
|
||||
Serial.print(" Smoke: ");
|
||||
Serial.print(mq2.readSmoke());
|
||||
Serial.print(" ppm ");
|
||||
Serial.print(" Hydrogen: ");
|
||||
Serial.print(mq2.readHydrogen());
|
||||
Serial.println(" ppm ");
|
||||
delay(100);
|
||||
}
|
||||
}
|
33
examples/mq3/mq3/mq3.ino
Normal file
33
examples/mq3/mq3/mq3.ino
Normal file
@ -0,0 +1,33 @@
|
||||
// библиотека для работы с датчиками MQ (Troyka-модуль)
|
||||
#include <TroykaMQ.h>
|
||||
|
||||
//имя для пина, к которому подключен датчик
|
||||
#define PIN_MQ3 A0
|
||||
// создаём объект для работы с датчиком и передаём ему номер пина
|
||||
MQ3 mq3(PIN_MQ3);
|
||||
|
||||
void setup()
|
||||
{
|
||||
// открываем последовательный порт
|
||||
Serial.begin(9600);
|
||||
// перед калибровкой датчика прогрейте его 60 секунд
|
||||
// выполняем калибровку датчика на чистом воздухе
|
||||
mq3.calibrate();
|
||||
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
|
||||
Serial.print("Ro = ");
|
||||
Serial.println(mq3.getRo());
|
||||
}
|
||||
void loop()
|
||||
{
|
||||
// выводим отношения текущего сопротивление датчика
|
||||
// к сопротивление датчика в чистом воздухе (Rs/Ro)
|
||||
Serial.print("Ratio: ");
|
||||
Serial.print(mq3.readRatio());
|
||||
// выводим значения паров алкоголя
|
||||
Serial.print(" Alcohol: ");
|
||||
Serial.print(mq3.readAlcoholMgL());
|
||||
Serial.print(" mG/L ");
|
||||
Serial.print(mq3.readAlcoholPpm());
|
||||
Serial.println(" ppm ");
|
||||
delay(100);
|
||||
}
|
48
examples/mq3/mq3Heater/mq3Heater.ino
Normal file
48
examples/mq3/mq3Heater/mq3Heater.ino
Normal file
@ -0,0 +1,48 @@
|
||||
// библиотека для работы с датчиками MQ (Troyka-модуль)
|
||||
#include <TroykaMQ.h>
|
||||
|
||||
// имя для пина, к которому подключен датчик
|
||||
#define PIN_MQ3 A0
|
||||
// имя для пина, к которому подключен нагреватель датчика
|
||||
#define PIN_MQ3_HEATER 11
|
||||
|
||||
// создаём объект для работы с датчиком
|
||||
// и передаём ему номер пина выходного сигнала и нагревателя
|
||||
MQ3 mq3(PIN_MQ3, PIN_MQ3_HEATER);
|
||||
|
||||
void setup()
|
||||
{
|
||||
// открываем последовательный порт
|
||||
Serial.begin(9600);
|
||||
// включаем нагреватель
|
||||
mq3.heaterPwrHigh();
|
||||
Serial.println("Heated sensor");
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
// если прошёл интервал нагрева датчика
|
||||
// и калибровка не была совершена
|
||||
if (!mq3.isCalibrated() && mq3.heatingCompleted()) {
|
||||
// выполняем калибровку датчика на чистом воздухе
|
||||
mq3.calibrate();
|
||||
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
|
||||
Serial.print("Ro = ");
|
||||
Serial.println(mq3.getRo());
|
||||
}
|
||||
// если прошёл интервал нагрева датчика
|
||||
// и калибровка была совершена
|
||||
if (mq3.isCalibrated() && mq3.heatingCompleted()) {
|
||||
// выводим отношения текущего сопротивление датчика
|
||||
// к сопротивлению датчика в чистом воздухе (Rs/Ro)
|
||||
Serial.print("Ratio: ");
|
||||
Serial.print(mq3.readRatio());
|
||||
// выводим значения паров алкоголя
|
||||
Serial.print(" Alcohol: ");
|
||||
Serial.print(mq3.readAlcoholMgL());
|
||||
Serial.print(" mG/L ");
|
||||
Serial.print(mq3.readAlcoholPpm());
|
||||
Serial.println(" ppm ");
|
||||
delay(100);
|
||||
}
|
||||
}
|
32
examples/mq4/mq4/mq4.ino
Normal file
32
examples/mq4/mq4/mq4.ino
Normal file
@ -0,0 +1,32 @@
|
||||
// библиотека для работы с датчиками MQ (Troyka-модуль)
|
||||
#include <TroykaMQ.h>
|
||||
|
||||
//имя для пина, к которому подключен датчик
|
||||
#define PIN_MQ4 A0
|
||||
// создаём объект для работы с датчиком и передаём ему номер пина
|
||||
MQ4 mq4(PIN_MQ4);
|
||||
|
||||
void setup()
|
||||
{
|
||||
// открываем последовательный порт
|
||||
Serial.begin(9600);
|
||||
// перед калибровкой датчика прогрейте его 60 секунд
|
||||
// выполняем калибровку датчика на чистом воздухе
|
||||
mq4.calibrate();
|
||||
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
|
||||
Serial.print("Ro = ");
|
||||
Serial.println(mq4.getRo());
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
// выводим отношения текущего сопротивление датчика
|
||||
// к сопротивление датчика в чистом воздухе (Rs/Ro)
|
||||
Serial.print("Ratio: ");
|
||||
Serial.print(mq4.readRatio());
|
||||
// выводим значения метана в ppm
|
||||
Serial.print(" Methane: ");
|
||||
Serial.print(mq4.readMethane());
|
||||
Serial.println(" ppm ");
|
||||
delay(100);
|
||||
}
|
47
examples/mq4/mq4Heater/mq4Heater.ino
Normal file
47
examples/mq4/mq4Heater/mq4Heater.ino
Normal file
@ -0,0 +1,47 @@
|
||||
// библиотека для работы с датчиками MQ (Troyka-модуль)
|
||||
#include <TroykaMQ.h>
|
||||
|
||||
// имя для пина, к которому подключен датчик
|
||||
#define PIN_MQ4 A0
|
||||
// имя для пина, к которому подключен нагреватель датчика
|
||||
#define PIN_MQ4_HEATER 11
|
||||
|
||||
// создаём объект для работы с датчиком
|
||||
// и передаём ему номер пина выходного сигнала и нагревателя
|
||||
MQ4 mq4(PIN_MQ4, PIN_MQ4_HEATER);
|
||||
|
||||
void setup()
|
||||
{
|
||||
// открываем последовательный порт
|
||||
Serial.begin(9600);
|
||||
// включаем нагреватель
|
||||
mq4.heaterPwrHigh();
|
||||
Serial.println("Heated sensor");
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
// если прошёл интервал нагрева датчика
|
||||
// и калибровка не была совершена
|
||||
if (!mq4.isCalibrated() && mq4.heatingCompleted()) {
|
||||
// выполняем калибровку датчика на чистом воздухе
|
||||
mq4.calibrate();
|
||||
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
|
||||
Serial.print("Ro = ");
|
||||
Serial.println(mq4.getRo());
|
||||
}
|
||||
// если прошёл интервал нагрева датчика
|
||||
// и калибровка была совершена
|
||||
if (mq4.isCalibrated() && mq4.heatingCompleted()) {
|
||||
// выводим отношения текущего сопротивление датчика
|
||||
// к сопротивлению датчика в чистом воздухе (Rs/Ro)
|
||||
Serial.print("Ratio: ");
|
||||
Serial.print(mq4.readRatio());
|
||||
// выводим значения газов в ppm
|
||||
// выводим значения газов в ppm
|
||||
Serial.print(" Methane: ");
|
||||
Serial.print(mq4.readMethane());
|
||||
Serial.println(" ppm ");
|
||||
delay(100);
|
||||
}
|
||||
}
|
35
examples/mq5/mq5/mq5.ino
Normal file
35
examples/mq5/mq5/mq5.ino
Normal file
@ -0,0 +1,35 @@
|
||||
// библиотека для работы с датчиками MQ (Troyka-модуль)
|
||||
#include <TroykaMQ.h>
|
||||
|
||||
//имя для пина, к которому подключен датчик
|
||||
#define PIN_MQ5 A0
|
||||
// создаём объект для работы с датчиком и передаём ему номер пина
|
||||
MQ5 mq5(PIN_MQ5);
|
||||
|
||||
void setup()
|
||||
{
|
||||
// открываем последовательный порт
|
||||
Serial.begin(9600);
|
||||
// перед калибровкой датчика прогрейте его 60 секунд
|
||||
// выполняем калибровку датчика на чистом воздухе
|
||||
mq5.calibrate();
|
||||
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
|
||||
Serial.print("Ro = ");
|
||||
Serial.println(mq5.getRo());
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
// выводим отношения текущего сопротивление датчика
|
||||
// к сопротивление датчика в чистом воздухе (Rs/Ro)
|
||||
Serial.print("Ratio: ");
|
||||
Serial.print(mq5.readRatio());
|
||||
// выводим значения газов в ppm
|
||||
Serial.print(" LPG: ");
|
||||
Serial.print(mq5.readLPG());
|
||||
Serial.print(" ppm ");
|
||||
Serial.print(" Methane: ");
|
||||
Serial.print(mq5.readMethane());
|
||||
Serial.println(" ppm ");
|
||||
delay(100);
|
||||
}
|
49
examples/mq5/mq5Heater/mq5Heater.ino
Normal file
49
examples/mq5/mq5Heater/mq5Heater.ino
Normal file
@ -0,0 +1,49 @@
|
||||
// библиотека для работы с датчиками MQ (Troyka-модуль)
|
||||
#include <TroykaMQ.h>
|
||||
|
||||
// имя для пина, к которому подключен датчик
|
||||
#define PIN_MQ5 A0
|
||||
// имя для пина, к которому подключен нагреватель датчика
|
||||
#define PIN_MQ5_HEATER 11
|
||||
|
||||
// создаём объект для работы с датчиком
|
||||
// и передаём ему номер пина выходного сигнала и нагревателя
|
||||
MQ5 mq5(PIN_MQ5, PIN_MQ5_HEATER);
|
||||
|
||||
void setup()
|
||||
{
|
||||
// открываем последовательный порт
|
||||
Serial.begin(9600);
|
||||
// включаем нагреватель
|
||||
mq5.heaterPwrHigh();
|
||||
Serial.println("Heated sensor");
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
// если прошёл интервал нагрева датчика
|
||||
// и калибровка не была совершена
|
||||
if (!mq5.isCalibrated() && mq5.heatingCompleted()) {
|
||||
// выполняем калибровку датчика на чистом воздухе
|
||||
mq5.calibrate();
|
||||
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
|
||||
Serial.print("Ro = ");
|
||||
Serial.println(mq5.getRo());
|
||||
}
|
||||
// если прошёл интервал нагрева датчика
|
||||
// и калибровка была совершена
|
||||
if (mq5.isCalibrated() && mq5.heatingCompleted()) {
|
||||
// выводим отношения текущего сопротивление датчика
|
||||
// к сопротивлению датчика в чистом воздухе (Rs/Ro)
|
||||
Serial.print("Ratio: ");
|
||||
Serial.print(mq5.readRatio());
|
||||
// выводим значения газов в ppm
|
||||
Serial.print("LPG: ");
|
||||
Serial.print(mq5.readLPG());
|
||||
Serial.print(" ppm ");
|
||||
Serial.print(" Methane: ");
|
||||
Serial.print(mq5.readMethane());
|
||||
Serial.println(" ppm ");
|
||||
delay(100);
|
||||
}
|
||||
}
|
32
examples/mq6/mq6/mq6.ino
Normal file
32
examples/mq6/mq6/mq6.ino
Normal file
@ -0,0 +1,32 @@
|
||||
// библиотека для работы с датчиками MQ (Troyka-модуль)
|
||||
#include <TroykaMQ.h>
|
||||
|
||||
//имя для пина, к которому подключен датчик
|
||||
#define PIN_MQ6 A0
|
||||
// создаём объект для работы с датчиком и передаём ему номер пина
|
||||
MQ6 mq6(PIN_MQ6);
|
||||
|
||||
void setup()
|
||||
{
|
||||
// открываем последовательный порт
|
||||
Serial.begin(9600);
|
||||
// перед калибровкой датчика прогрейте его 60 секунд
|
||||
// выполняем калибровку датчика на чистом воздухе
|
||||
mq6.calibrate();
|
||||
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
|
||||
Serial.print("Ro = ");
|
||||
Serial.println(mq6.getRo());
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
// выводим отношения текущего сопротивление датчика
|
||||
// к сопротивление датчика в чистом воздухе (Rs/Ro)
|
||||
Serial.print("Ratio: ");
|
||||
Serial.print(mq6.readRatio());
|
||||
// выводим значения газов в ppm
|
||||
Serial.print(" LPG: ");
|
||||
Serial.print(mq6.readLPG());
|
||||
Serial.println(" ppm ");
|
||||
delay(100);
|
||||
}
|
46
examples/mq6/mq6Heater/mq6Heater.ino
Normal file
46
examples/mq6/mq6Heater/mq6Heater.ino
Normal file
@ -0,0 +1,46 @@
|
||||
// библиотека для работы с датчиками MQ (Troyka-модуль)
|
||||
#include <TroykaMQ.h>
|
||||
|
||||
// имя для пина, к которому подключен датчик
|
||||
#define PIN_MQ6 A0
|
||||
// имя для пина, к которому подключен нагреватель датчика
|
||||
#define PIN_MQ6_HEATER 11
|
||||
|
||||
// создаём объект для работы с датчиком
|
||||
// и передаём ему номер пина выходного сигнала и нагревателя
|
||||
MQ6 mq6(PIN_MQ6, PIN_MQ6_HEATER);
|
||||
|
||||
void setup()
|
||||
{
|
||||
// открываем последовательный порт
|
||||
Serial.begin(9600);
|
||||
// включаем нагреватель
|
||||
mq6.heaterPwrHigh();
|
||||
Serial.println("Heated sensor");
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
// если прошёл интервал нагрева датчика
|
||||
// и калибровка не была совершена
|
||||
if (!mq6.isCalibrated() && mq6.heatingCompleted()) {
|
||||
// выполняем калибровку датчика на чистом воздухе
|
||||
mq6.calibrate();
|
||||
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
|
||||
Serial.print("Ro = ");
|
||||
Serial.println(mq6.getRo());
|
||||
}
|
||||
// если прошёл интервал нагрева датчика
|
||||
// и калибровка была совершена
|
||||
if (mq6.isCalibrated() && mq6.heatingCompleted()) {
|
||||
// выводим отношения текущего сопротивление датчика
|
||||
// к сопротивлению датчика в чистом воздухе (Rs/Ro)
|
||||
Serial.print("Ratio: ");
|
||||
Serial.print(mq6.readRatio());
|
||||
// выводим значения газов в ppm
|
||||
Serial.print("LPG: ");
|
||||
Serial.print(mq6.readLPG());
|
||||
Serial.println(" ppm ");
|
||||
delay(100);
|
||||
}
|
||||
}
|
52
examples/mq7/mq7Heater/mq7Heater.ino
Normal file
52
examples/mq7/mq7Heater/mq7Heater.ino
Normal file
@ -0,0 +1,52 @@
|
||||
// библиотека для работы с датчиками 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();
|
||||
}
|
||||
}
|
||||
|
32
examples/mq8/mq8/mq8.ino
Normal file
32
examples/mq8/mq8/mq8.ino
Normal file
@ -0,0 +1,32 @@
|
||||
// библиотека для работы с датчиками MQ (Troyka-модуль)
|
||||
#include <TroykaMQ.h>
|
||||
|
||||
//имя для пина, к которому подключен датчик
|
||||
#define PIN_MQ8 A0
|
||||
// создаём объект для работы с датчиком и передаём ему номер пина
|
||||
MQ8 mq8(PIN_MQ8);
|
||||
|
||||
void setup()
|
||||
{
|
||||
// открываем последовательный порт
|
||||
Serial.begin(9600);
|
||||
// перед калибровкой датчика прогрейте его 60 секунд
|
||||
// выполняем калибровку датчика на чистом воздухе
|
||||
mq8.calibrate();
|
||||
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
|
||||
Serial.print("Ro = ");
|
||||
Serial.println(mq8.getRo());
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
// выводим отношения текущего сопротивление датчика
|
||||
// к сопротивление датчика в чистом воздухе (Rs/Ro)
|
||||
Serial.print("Ratio: ");
|
||||
Serial.print(mq8.readRatio());
|
||||
// выводим значения газов в ppm
|
||||
Serial.print(" LPG: ");
|
||||
Serial.print(mq8.readHydrogen());
|
||||
Serial.println(" ppm ");
|
||||
delay(100);
|
||||
}
|
46
examples/mq8/mq8Heater/mq8Heater.ino
Normal file
46
examples/mq8/mq8Heater/mq8Heater.ino
Normal file
@ -0,0 +1,46 @@
|
||||
// библиотека для работы с датчиками MQ (Troyka-модуль)
|
||||
#include <TroykaMQ.h>
|
||||
|
||||
// имя для пина, к которому подключен датчик
|
||||
#define PIN_MQ8 A0
|
||||
// имя для пина, к которому подключен нагреватель датчика
|
||||
#define PIN_MQ8_HEATER 11
|
||||
|
||||
// создаём объект для работы с датчиком
|
||||
// и передаём ему номер пина выходного сигнала и нагревателя
|
||||
MQ8 mq8(PIN_MQ8, PIN_MQ8_HEATER);
|
||||
|
||||
void setup()
|
||||
{
|
||||
// открываем последовательный порт
|
||||
Serial.begin(9600);
|
||||
// включаем нагреватель
|
||||
mq8.heaterPwrHigh();
|
||||
Serial.println("Heated sensor");
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
// если прошёл интервал нагрева датчика
|
||||
// и калибровка не была совершена
|
||||
if (!mq8.isCalibrated() && mq8.heatingCompleted()) {
|
||||
// выполняем калибровку датчика на чистом воздухе
|
||||
mq8.calibrate();
|
||||
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
|
||||
Serial.print("Ro = ");
|
||||
Serial.println(mq8.getRo());
|
||||
}
|
||||
// если прошёл интервал нагрева датчика
|
||||
// и калибровка была совершена
|
||||
if (mq8.isCalibrated() && mq8.heatingCompleted()) {
|
||||
// выводим отношения текущего сопротивление датчика
|
||||
// к сопротивлению датчика в чистом воздухе (Rs/Ro)
|
||||
Serial.print("Ratio: ");
|
||||
Serial.print(mq8.readRatio());
|
||||
// выводим значения газов в ppm
|
||||
Serial.print("LPG: ");
|
||||
Serial.print(mq8.readHydrogen());
|
||||
Serial.println(" ppm ");
|
||||
delay(100);
|
||||
}
|
||||
}
|
58
examples/mq9/mq9Heater/mq9Heater.ino
Normal file
58
examples/mq9/mq9Heater/mq9Heater.ino
Normal file
@ -0,0 +1,58 @@
|
||||
// библиотека для работы с датчиками MQ (Troyka-модуль)
|
||||
#include <TroykaMQ.h>
|
||||
|
||||
// имя для пина, к которому подключен датчик
|
||||
#define PIN_MQ9 A0
|
||||
// имя для пина, к которому подключен нагреватель датчика
|
||||
#define PIN_MQ9_HEATER 11
|
||||
|
||||
// создаём объект для работы с датчиком
|
||||
// и передаём ему номер пина выходного сигнала и нагревателя
|
||||
MQ9 mq9(PIN_MQ9, PIN_MQ9_HEATER);
|
||||
|
||||
void setup()
|
||||
{
|
||||
// открываем последовательный порт
|
||||
Serial.begin(9600);
|
||||
// запускаем термоцикл
|
||||
// в течении 60 секунд на нагревательный элемент подаётся 5 вольт
|
||||
// в течении 90 секунд — 1,5 вольта
|
||||
mq9.cycleHeat();
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
// если прошёл интервал нагрева датчика
|
||||
// и калибровка не была совершена
|
||||
if (!mq9.isCalibrated() && mq9.atHeatCycleEnd()) {
|
||||
// выполняем калибровку датчика на чистом воздухе
|
||||
mq9.calibrate();
|
||||
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
|
||||
Serial.print("Ro = ");
|
||||
Serial.println(mq9.getRo());
|
||||
// запускаем термоцикл
|
||||
mq9.cycleHeat();
|
||||
}
|
||||
// если прошёл интевал нагрева датчика
|
||||
// и калибровка была совершена
|
||||
if (mq9.isCalibrated() && mq9.atHeatCycleEnd()) {
|
||||
// выводим отношения текущего сопротивление датчика
|
||||
// к сопротивлению датчика в чистом воздухе (Rs/Ro)
|
||||
Serial.print("Ratio: ");
|
||||
Serial.print(mq9.readRatio());
|
||||
// выводим значения газов в ppm
|
||||
Serial.print(" LPG: ");
|
||||
Serial.print(mq9.readLPG());
|
||||
Serial.print(" ppm ");
|
||||
Serial.print(" Methane: ");
|
||||
Serial.print(mq9.readMethane());
|
||||
Serial.print(" ppm ");
|
||||
Serial.print(" CarbonMonoxide: ");
|
||||
Serial.print(mq9.readCarbonMonoxide());
|
||||
Serial.println(" ppm ");
|
||||
delay(100);
|
||||
// запускаем термоцикл
|
||||
mq9.cycleHeat();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user