mirror of
https://github.com/amperka/TroykaMQ.git
synced 2025-06-08 14:10:23 +03:00
Update mq7Heater.ino
This commit is contained in:
parent
3e6a1379ab
commit
a0b4fa0752
@ -1,52 +1,52 @@
|
|||||||
// библиотека для работы с датчиками MQ (Troyka-модуль)
|
// библиотека для работы с датчиками MQ (Troyka-модуль)
|
||||||
#include <TroykaMQ.h>
|
#include <TroykaMQ.h>
|
||||||
|
|
||||||
// имя для пина, к которому подключен датчик
|
// имя для пина, к которому подключен датчик
|
||||||
#define PIN_MQ7 A0
|
#define PIN_MQ7 A0
|
||||||
// имя для пина, к которому подключен нагреватель датчика
|
// имя для пина, к которому подключен нагреватель датчика
|
||||||
#define PIN_MQ7_HEATER 11
|
#define PIN_MQ7_HEATER 11
|
||||||
|
|
||||||
// создаём объект для работы с датчиком
|
// создаём объект для работы с датчиком
|
||||||
// и передаём ему номер пина выходного сигнала и нагревателя
|
// и передаём ему номер пина выходного сигнала и нагревателя
|
||||||
MQ7 mq7(PIN_MQ7, PIN_MQ7_HEATER);
|
MQ7 mq7(PIN_MQ7, PIN_MQ7_HEATER);
|
||||||
|
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
// открываем последовательный порт
|
// открываем последовательный порт
|
||||||
Serial.begin(9600);
|
Serial.begin(9600);
|
||||||
// запускаем термоцикл
|
// запускаем термоцикл
|
||||||
// в течении 60 секунд на нагревательный элемент подаётся 5 вольт
|
// в течении 60 секунд на нагревательный элемент подаётся 5 вольт
|
||||||
// в течении 90 секунд — 1,5 вольта
|
// в течении 90 секунд — 1,5 вольта
|
||||||
mq7.cycleHeat();
|
mq7.cycleHeat();
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop()
|
void loop()
|
||||||
{
|
{
|
||||||
// если прошёл интервал нагрева датчика
|
// если прошёл интервал нагрева датчика
|
||||||
// и калибровка не была совершена
|
// и калибровка не была совершена
|
||||||
if (!mq7.isCalibrated() && mq7.atHeatCycleEnd()) {
|
if (!mq7.isCalibrated() && mq7.atHeatCycleEnd()) {
|
||||||
// выполняем калибровку датчика на чистом воздухе
|
// выполняем калибровку датчика на чистом воздухе
|
||||||
mq7.calibrate();
|
mq7.calibrate();
|
||||||
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
|
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
|
||||||
Serial.print("Ro = ");
|
Serial.print("Ro = ");
|
||||||
Serial.println(mq7.getRo());
|
Serial.println(mq7.getRo());
|
||||||
// запускаем термоцикл
|
// запускаем термоцикл
|
||||||
mq7.cycleHeat();
|
mq7.cycleHeat();
|
||||||
}
|
}
|
||||||
// если прошёл интевал нагрева датчика
|
// если прошёл интевал нагрева датчика
|
||||||
// и калибровка была совершена
|
// и калибровка была совершена
|
||||||
if (!mq7.isCalibrated() && mq7.atHeatCycleEnd()) {
|
if (mq7.isCalibrated() && mq7.atHeatCycleEnd()) {
|
||||||
// выводим отношения текущего сопротивление датчика
|
// выводим отношения текущего сопротивление датчика
|
||||||
// к сопротивлению датчика в чистом воздухе (Rs/Ro)
|
// к сопротивлению датчика в чистом воздухе (Rs/Ro)
|
||||||
Serial.print("Ratio: ");
|
Serial.print("Ratio: ");
|
||||||
Serial.print(mq7.readRatio());
|
Serial.print(mq7.readRatio());
|
||||||
// выводим значения газов в ppm
|
// выводим значения газов в ppm
|
||||||
Serial.print(" CarbonMonoxide: ");
|
Serial.print(" CarbonMonoxide: ");
|
||||||
Serial.print(mq7.readCarbonMonoxide());
|
Serial.print(mq7.readCarbonMonoxide());
|
||||||
Serial.println(" ppm ");
|
Serial.println(" ppm ");
|
||||||
delay(100);
|
delay(100);
|
||||||
// запускаем термоцикл
|
// запускаем термоцикл
|
||||||
mq7.cycleHeat();
|
mq7.cycleHeat();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user