Модуль датчика газа MQ-138 (формальдегид, толуол, спирты) — это готовый к подключению газоанализатор для обнаружения широкого спектра летучих органических соединений (ЛОС/VOC). Модуль построен на полупроводниковом сенсоре MQ-138 (SnO2) и компараторе LM393, имеет два вида выхода (аналоговый и цифровой TTL) и подходит для прямого подключения к платам Arduino, ESP, STM32.
Датчик MQ-138 обладает перекрёстной чувствительностью к различным органическим парам. Это означает, что он не способен избирательно определить конкретное вещество (например, только формальдегид) в смеси газов. Для качественной индикации наличия ЛОС (порог срабатывания) достаточно цифрового выхода. Для количественных измерений конкретного газа требуется калибровка и, в идеале, использование селективных сенсоров.
Типовые диапазоны для отдельных веществ (справочно):
- формальдегид: 1–10 ppm
- метанол: 5–100 ppm
- толуол: 10–100 ppm
- ацетон: 10–300 ppm
- спирт: 30–300 ppm
Применение: бытовые и промышленные сигнализаторы паров органических растворителей, детекторы формальдегида (контроль мебели, стройматериалов), портативные VOC-детекторы, учебные проекты на Arduino/ESP32.
Контактная группа модуля:
- VCC — «+» питания
- GND — «-» питания
- DO — цифровой выход
- AO — аналоговый выход
Пример
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
const int analogSignal = A0; // подключение аналогового сигнального пина const int digitalSignal = 8; // подключение цифрового сигнального пина boolean hasGas; // переменная для хранения значения о присутствии газа int gas = 0; // переменная для хранения количества газа void setup() { pinMode(digitalSignal, INPUT); // установка режима пина Serial.begin(9600); // инициализация Serial порта } void loop() { hasGas = digitalRead(digitalSignal); // считываем значение о присутствии газа gas = analogRead(analogSignal); // и о его количестве // вывод сообщения Serial.print("Предел "); if (hasGas) Serial.print("не достигнут"); else Serial.print("достигнут"); Serial.print(", уровень газа: "); Serial.println(gas); delay(1000); //задержка 1 с } |








