MQ Sensors JP

아두위키 : Arduwiki

概要

MQセンサは、さまざまなガス濃度を検出できる安価な電子センサです。各センサは特定のガスを検出するように設計されており、Arduinoのようなマイコンと簡単に組み合わせて使用できます。主に空気質のモニタリング、ガス漏れの検知、産業用安全装置など、さまざまな応用分野で活用されています。

主なモデル

MQシリーズには様々なモデルがあり、それぞれ異なるガスを検出します。

ほとんどのセンサは約24時間の予熱時間が必要とされており、測定範囲や精度を考慮すると、正確な数値による安全装置としてではなく、特定のガス検知用途として使用するのが望ましいです。

センサ背面には感度を調整できる可変抵抗が付いています。

センサの種類 検知ガス 予熱時間 測定範囲 動作電圧 出力方式
MQ-2 LPG、プロパン、水素、メタン、アルコール、煙 24時間 300–10000 ppm 5V アナログ
MQ-3 アルコール、ベンゼン、CH4、ヘキサン、一酸化炭素 24時間 25–500 ppm(アルコール) 5V アナログ
MQ-4 メタン、CNG 24時間 200–10000 ppm 5V アナログ
MQ-5 LPG、天然ガス、都市ガス 24時間 200–10000 ppm 5V アナログ
MQ-6 LPG、ブタン、イソブタン、プロパン 24時間 200–10000 ppm 5V アナログ
MQ-7 一酸化炭素 24時間 20–2000 ppm 5V アナログ
MQ-8 水素 24時間 100–10000 ppm 5V アナログ
MQ-9 一酸化炭素、メタン、LPG 24時間 10–10000 ppm(CO)、100–10000 ppm(可燃性ガス) 5V アナログ
MQ-135 アンモニア、ベンゼン、アルコール、煙 24時間 10–1000 ppm(NH3、アルコール、ベンゼン) 5V アナログ

動作原理

MQシリーズのセンサは、内部にヒーターと導電性物質で構成された検知素子を備えています。特定のガスが検知素子に接触すると、導電性物質の抵抗が変化し、この変化を通じてガス濃度を測定します。検知素子は主にSnO2(二酸化スズ)で構成されており、空気中のガス濃度に応じて抵抗値が変化します。

電気的特性

  • 電源供給: 5V(一部モデルは3.3V対応)
  • 出力: アナログ電圧信号(一部モデルはデジタル出力も対応)
  • ヒーター電流: 約150mA
  • 反応時間: 1~2分(センサの安定化まで)

応用例

使用するハードウェア

  • Arduino board
  • ジャンパーワイヤー
  • MQ-6モジュール

接続

この例ではデジタルピンは使用しませんが、参考として接続を示します。

Arduino Uno MQ-6
5V VCC
GND GND
A0 AO
D7 DO

サンプルコード

1. 簡単な測定値表示コード

analogRead()を使用して、シリアルモニターに測定値を表示する基本コードです。

int sensorPin = A0; // センサのアナログ出力ピン
int sensorValue = 0; // 読み取った値

void setup() {
  Serial.begin(9600); // シリアル通信開始
}

void loop() {
  sensorValue = analogRead(sensorPin); // 値読み取り
  Serial.println(sensorValue); // 表示
  delay(1000); // 1秒待機
}

1秒ごとにppm値がシリアルモニターに表示され、ガスが入ると値が上昇します。

2. ライブラリを活用する方法

「MQUnifiedsensor by Miguel Califa」ライブラリを使用します。

ライブラリ使用方法のドキュメントをご確認ください。

ライブラリ使用時の実行結果

ガスが感知されると、センサ背面のLEDが点灯します。

ライターガスによって、シリアルモニター右側のPPM値が変化するのを確認できます。

応用分野

  • ガス漏れ検知: キッチンや工場でガス漏れを検知して安全を確保します。
  • 空気質モニタリング: 屋内の空気質を監視し、有害ガス濃度を管理します。
  • アルコール検知器: 飲酒状態を確認するためにアルコール濃度を測定します。
  • 産業安全: 工場や作業現場で有害ガスを検知し、作業員の安全を守ります。