Skip to main content

Grove - ガスセンサー(MQ2)

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

pir

Grove - ガスセンサー(MQ2)モジュールは、ガス漏れ検知(家庭および産業用途)に役立ちます。H2、LPG、CH4、CO、アルコール、煙、またはプロパンを検出するのに適しています。このセンサーは高感度で応答時間が速いため、測定を迅速に行うことができます。センサーの感度はポテンショメーターで調整可能です。

センサー

ガスタイプ

今すぐ購入

MQ2可燃性ガス、煙
MQ3アルコール蒸気
MQ5LPG、天然ガス、都市ガス
MQ9一酸化炭素、石炭ガス、液化ガス
tip
[Seeed ガスセンサー選択ガイド](https://wiki.seeedstudio.com/ja/Seeed_Gas_Sensor_Selection_Guide/)を公開しました。このガイドは、あなたのニーズに最適なガスセンサーを選ぶのに役立ちます。

特徴

  • 広い検出範囲
  • 安定性が高く、長寿命
  • 高速応答と高感度
tip
Groveモジュールの詳細については、[Grove System](https://wiki.seeedstudio.com/ja/Grove_System/)を参照してください。

仕様

項目パラメータ最小値標準値最大値単位
VCC動作電圧4.955.1V
PH加熱消費電力0.5-800mW
RL負荷抵抗調整可能
RHヒーター抵抗-33-Ω
Rsセンサー抵抗3-30

対応プラットフォーム

ArduinoRaspberryArduPy

pir

pir

pir

caution
上記の対応プラットフォームは、モジュールのソフトウェアまたは理論的な互換性を示しています。ほとんどの場合、Arduinoプラットフォーム向けのソフトウェアライブラリやコード例のみを提供しています。すべての可能なMCUプラットフォーム向けにソフトウェアライブラリやデモコードを提供することはできません。そのため、ユーザーは独自のソフトウェアライブラリを作成する必要があります。

応用例

  • ガス漏れ検知
  • おもちゃ
  • IoTアプリケーション
  • スマート検知

初めての使用方法

ガスセンサーからの出力電圧は、ガス濃度が増加すると増加します。感度はポテンショメータを回すことで調整できます。MQ-2センサーの詳細情報については、Resourcesセクションに記載されているデータシートを参照してください。

danger
センサーの最適な予熱時間は24時間以上です。

Arduinoで遊ぶ

ハードウェア

  • ステップ1. 以下のアイテムを準備してください:
Seeeduino V4.2Base ShieldGrove-Gas Sensor-MQ2

pir

pir

pir

今すぐ購入今すぐ購入今すぐ購入
  • ステップ2. Grove-Gas_Sensor-MQ2をGrove-Base ShieldのA0ポートに接続します。
  • ステップ3. Grove - Base ShieldをSeeeduinoに差し込みます。
  • ステップ4. USBケーブルを使用してSeeeduinoをPCに接続します。

pir

上記の画像のように、Grove - Gas Sensor(MQ2)をA0ポートに接続します。
note
Grove Base Shieldがない場合は、以下のようにGrove-Gas_Sensor-MQ2をSeeeduinoに直接接続することもできます。
SeeeduinoGrove-Gas_Sensor-MQ2
5V
GND
接続なし
A0黄色

ソフトウェア

いくつかの例があります。以下のコードを新しいArduinoスケッチにコピーして貼り付け、それぞれアップロードしてください。コードのアップロード方法がわからない場合は、コードのアップロード方法を確認してください。

基本例: ガス検知

この例では、センサーがA0ピンに接続されています。センサーから読み取った電圧が表示されます。この値は、ガス濃度の増減を検知するための閾値として使用できます。

void setup() {
Serial.begin(9600);
}

void loop() {
float sensor_volt;
float sensorValue;

sensorValue = analogRead(A0);
sensor_volt = sensorValue/1024*5.0;

Serial.print("sensor_volt = ");
Serial.print(sensor_volt);
Serial.println("V");
delay(1000);
}

測定: 概算

これらの例は、ガス濃度の概算を知る方法を示しています。MQxセンサーのデータシートによると、これらの方程式は標準条件でテストされており、校正されていません。温度や湿度の変化によって異なる場合があります。

note
ガスセンサーを清浄な空気環境に置いてください。
void setup() {
Serial.begin(9600);
}

void loop() {
float sensor_volt;
float RS_air; // 清浄な空気中でRSの値を取得
float R0; // H2中でR0の値を取得
float sensorValue;

// 100回のテストで平均データを取得
for(int x = 0 ; x < 100 ; x++)
{
sensorValue = sensorValue + analogRead(A0);
}
sensorValue = sensorValue/100.0;

sensor_volt = sensorValue/1024*5.0;
RS_air = (5.0-sensor_volt)/sensor_volt; // * RLを省略
R0 = RS_air/9.8; // グラフから清浄な空気中でのRS/R0比率は9.8 (WebPlotDigitizerを使用して取得)

Serial.print("sensor_volt = ");
Serial.print(sensor_volt);
Serial.println("V");

Serial.print("R0 = ");
Serial.println(R0);
delay(1000);

}

次に、Arduino IDEのシリアルモニターを開きます。R0の値を記録し、次のプログラムで使用します。読み取り値が安定した後にR0を記録してください。

danger
以下のR0を上記でテストしたR0の値に置き換えてください。

センサーを上記のいずれかのガスにさらしてください。

void setup() {
Serial.begin(9600);
}

void loop() {

float sensor_volt;
float RS_gas; // ガス中でのRS値を取得
float ratio; // RS_GAS/RS_airの比率を取得
int sensorValue = analogRead(A0);
sensor_volt=(float)sensorValue/1024*5.0;
RS_gas = (5.0-sensor_volt)/sensor_volt; // * RLを省略

/*-最初のテストのデモでのR0の値に名前"R0"を置き換えてください-*/
ratio = RS_gas/R0; // ratio = RS/R0
/*-----------------------------------------------------------------------*/

Serial.print("sensor_volt = ");
Serial.println(sensor_volt);
Serial.print("RS_ratio = ");
Serial.println(RS_gas);
Serial.print("Rs/R0 = ");
Serial.println(ratio);

Serial.print("\n\n");

delay(1000);

}

さて、以下の図からガスの濃度を取得することができます。

pir

グラフによると、テスト可能な最小濃度は100ppm、最大濃度は10000ppmであることがわかります。つまり、ガス濃度は0.01%から1%の間で取得できます。ただし、比率と濃度の関係が非線形であるため、公式を提供することはできません。

Raspberry Piで遊ぶ (Grove Base Hat for Raspberry Piを使用)

ハードウェア

  • ステップ 1. このプロジェクトで使用するもの:
Raspberry PiGrove Base Hat for RasPiGrove-Gas_Sensor-MQ2

pir

pir

pir

今すぐ購入今すぐ購入今すぐ購入
  • ステップ 2. Grove Base HatをRaspberry Piに接続します。
  • ステップ 3. Grove-Gas Sensor MQ2をBase HatのA0ポートに接続します。
  • ステップ 4. USBケーブルを使用してRaspberry PiをPCに接続します。

pir

note

ステップ3では、Grove-Gas Sensor MQ2を任意のアナログポートに接続することができますが、対応するポート番号に合わせてコマンドを変更する必要があります。

ソフトウェア

  • ステップ 1. ソフトウェア設定に従って開発環境を構築します。
  • ステップ 2. grove.pyライブラリをクローンしてソースファイルをダウンロードします。
cd ~
git clone https://github.com/Seeed-Studio/grove.py
  • ステップ 3. 以下のコマンドを実行してコードを書きます。
cd grove.py/grove
nano grove_gas_sensor_mq2.py

次に、以下のコードをこのファイルにコピーし、++ctrl+x++を押して終了し保存します。

import math
import sys
import time
from grove.adc import ADC

class GroveGasSensorMQ2:

def __init__(self, channel):
self.channel = channel
self.adc = ADC()

@property
def MQ2(self):
value = self.adc.read(self.channel)
return value

Grove = GroveGasSensorMQ2


def main():
if len(sys.argv) < 2:
print('Usage: {} adc_channel'.format(sys.argv[0]))
sys.exit(1)

sensor = GroveGasSensorMQ2(int(sys.argv[1]))

print('Detecting...')
while True:
print('Gas value: {0}'.format(sensor.MQ2))
time.sleep(.3)

if __name__ == '__main__':
main()
  • ステップ 4. 以下のコマンドを実行してコードを実行します。
python grove_gas_sensor_mq2.py 0
tip

すべてが正常に動作すれば、以下の結果が表示されます。

pi@raspberrypi:~/grove.py/grove $ python grove_gas_sensor_mq2.py 0
Detecting...
Gas value: 760
Gas value: 714
Gas value: 675
Gas value: 637
Gas value: 603
Gas value: 568
Gas value: 535
Gas value: 506
Gas value: 481
Gas value: 464
Gas value: 449
Gas value: 429
Gas value: 413
Gas value: 456
Gas value: 470
Gas value: 440
Gas value: 404
Gas value: 373
Gas value: 352
Gas value: 339
Gas value: 330
^CTraceback (most recent call last):
File "grove_gas_sensor_mq2.py", line 69, in <module>
main()
File "grove_gas_sensor_mq2.py", line 66, in main
time.sleep(.3)
KeyboardInterrupt

++ctrl+c++を押すだけでこのプログラムを終了できます。

:::notice アナログポートの場合、シルクスクリーンのピン番号はA1, A0のようになっていますが、コマンドでは01というパラメータを使用します。デジタルポートと同じです。そのため、モジュールを正しいポートに接続してください。そうしないとピンの競合が発生する可能性があります。 :::

Raspberry Piで遊ぶ (GrovePi_Plusを使用)

ハードウェア

  • ステップ 1. 以下のものを準備します:
Raspberry PiGrovePi_PlusGrove-Gas_Sensor-MQ2

pir

pir

pir

今すぐ購入今すぐ購入今すぐ購入
  • ステップ 2. GrovePi_PlusをRaspberry Piに接続します。
  • ステップ 3. Grove-Gas_Sensor-MQ2をGrovePi_PlusのA0ポートに接続します。
  • ステップ 4. USBケーブルを使用してRaspberry PiをPCに接続します。

pir

ソフトウェア

  • ステップ 1. ソフトウェア設定に従って開発環境を構築します。
  • ステップ 2. Githubリポジトリをクローンします。
cd ~
git clone https://github.com/DexterInd/GrovePi.git
  • ステップ 3. 以下のコマンドを実行してセンサーを使用します。
cd ~/GrovePi/Software/Python
python grove_gas_sensor.py

以下は日本語に翻訳された内容です:

grove_gas_sensor.py のコードはこちらです:

#!/usr/bin/env python
#
# Grove Gas Sensor を使用するための GrovePi の例
#
# GrovePi は Raspberry Pi と Grove センサーを接続します。 GrovePi についての詳細はこちらをご覧ください: http://www.dexterindustries.com/GrovePi
#
# この例について質問がありますか? フォーラムで質問してください: http://forum.dexterindustries.com/c/grovepi
#
'''
## ライセンス
MIT ライセンス (MIT)
Raspberry Pi 用 GrovePi: Grove センサーを Raspberry Pi に接続するためのオープンプラットフォーム。
Copyright (C) 2017 Dexter Industries
このソフトウェアおよび関連するドキュメントファイル(以下「ソフトウェア」)のコピーを取得したすべての人に対し、以下の条件に従って、ソフトウェアを無制限に使用、コピー、変更、公開、配布、サブライセンス、または販売する権利を無償で許可します。
上記の著作権表示およびこの許可表示は、ソフトウェアのすべてのコピーまたは重要な部分に含めるものとします。
このソフトウェアは「現状のまま」提供され、明示的または黙示的な保証はありません。これには、商品性、特定目的への適合性、および権利侵害の保証が含まれますが、これに限定されません。いかなる場合も、著者または著作権者は、契約、不法行為、またはその他の行為に起因する損害賠償請求、損害、またはその他の責任について責任を負いません。
'''

# 注意:
# ガスセンサーは5種類あります
# MQ2 - 可燃性ガス、煙
# MQ3 - アルコール蒸気
# MQ5 - LPG、天然ガス、都市ガス
# MQ9 - 一酸化炭素、石炭ガス、液化ガス
# O2 - 酸素
# 感度はオンボードのポテンショメータで調整可能です
#
# https://www.seeedstudio.com/wiki/Grove_-_Gas_Sensor
# https://www.seeedstudio.com/wiki/Grove_-_Gas_Sensor(MQ5)
# https://www.seeedstudio.com/wiki/Grove_-_Gas_Sensor(O%E2%82%82)

import time
import grovepi

# Grove Gas Sensor をアナログポート A0 に接続
# SIG,NC,VCC,GND
gas_sensor = 0

grovepi.pinMode(gas_sensor,"INPUT")

while True:
try:
# センサー値を取得
sensor_value = grovepi.analogRead(gas_sensor)

# ガス密度を計算 - 値が大きいほどガスが濃い
density = (float)(sensor_value / 1024.0)

print("sensor_value =", sensor_value, " density =", density)
time.sleep(.5)

except IOError:
print ("エラー")

Wio Terminal (ArduPy) を使ってみる

ハードウェア

  • ステップ 1. 以下のものを準備してください:
Raspberry PiGrovePi_PlusGrove-Gas_Sensor-MQ2

pir

pir

pir

今すぐ購入今すぐ購入今すぐ購入
  • ステップ 2. GrovePi_Plus を Raspberry Pi に接続します。

  • ステップ 3. Grove-Gas_Sensor-MQ2 を GrovePi_Plus の A0 ポートに接続します。

  • ステップ 4. USB ケーブルを使って Raspberry Pi を PC に接続します。

    pir

ソフトウェア

  • ステップ 1. ソフトウェアの設定 に従って開発環境を構築します。
  • ステップ 2. GitHub リポジトリをクローンします。
cd ~
git clone https://github.com/DexterInd/GrovePi.git
  • ステップ 3. 以下のコマンドを実行してセンサーを使用します。
cd ~/GrovePi/Software/Python
python grove_gas_sensor.py

grove_gas_sensor.py のコードはこちらです:

#!/usr/bin/env python
#
# Grove Gas Sensor を使用するための GrovePi の例
#
# GrovePi は Raspberry Pi と Grove センサーを接続します。 GrovePi についての詳細はこちらをご覧ください: http://www.dexterindustries.com/GrovePi
#
# この例について質問がありますか? フォーラムで質問してください: http://forum.dexterindustries.com/c/grovepi
#
'''
## ライセンス
MIT ライセンス (MIT)
Raspberry Pi 用 GrovePi: Grove センサーを Raspberry Pi に接続するためのオープンプラットフォーム。
Copyright (C) 2017 Dexter Industries
このソフトウェアおよび関連するドキュメントファイル(以下「ソフトウェア」)のコピーを取得したすべての人に対し、以下の条件に従って、ソフトウェアを無制限に使用、コピー、変更、公開、配布、サブライセンス、または販売する権利を無償で許可します。
上記の著作権表示およびこの許可表示は、ソフトウェアのすべてのコピーまたは重要な部分に含めるものとします。
このソフトウェアは「現状のまま」提供され、明示的または黙示的な保証はありません。これには、商品性、特定目的への適合性、および権利侵害の保証が含まれますが、これに限定されません。いかなる場合も、著者または著作権者は、契約、不法行為、またはその他の行為に起因する損害賠償請求、損害、またはその他の責任について責任を負いません。
'''
# 注意:
# ガスセンサーは5種類あります
# MQ2 - 可燃性ガス、煙
# MQ3 - アルコール蒸気
# MQ5 - LPG、天然ガス、都市ガス
# MQ9 - 一酸化炭素、石炭ガス、液化ガス
# O2 - 酸素
# 感度はオンボードのポテンショメータで調整可能です
#
# https://www.seeedstudio.com/wiki/Grove_-_Gas_Sensor
# https://www.seeedstudio.com/wiki/Grove_-_Gas_Sensor(MQ5)
# https://www.seeedstudio.com/wiki/Grove_-_Gas_Sensor(O%E2%82%82)

import time
import grovepi

# Grove Gas Sensor をアナログポート A0 に接続
# SIG,NC,VCC,GND
gas_sensor = 0

grovepi.pinMode(gas_sensor,"INPUT")

while True:
try:
# センサー値を取得
sensor_value = grovepi.analogRead(gas_sensor)

# ガス密度を計算 - 値が大きいほどガスが濃い
density = (float)(sensor_value / 1024.0)

print("sensor_value =", sensor_value, " density =", density)
time.sleep(.5)

except IOError:
print ("エラー")

Wio Terminal を使った遊び方 (ArduPy)

ハードウェア

  • ステップ 1. 以下のものを準備してください:
Wio TerminalGrove - Gas Sensor(MQ2)

pir

pir

今すぐ購入今すぐ購入
  • ステップ 2. Grove - Gas Sensor(MQ2) を Wio Terminal の A0 Grove ポートに接続します。

  • ステップ 3. USB Type-C ケーブルを使用して Wio Terminal を PC に接続します。

pir

ソフトウェア

  • ステップ 1. ArduPy 入門ガイド に従って、Wio Terminal 上で ArduPy 開発環境を構築してください。

  • ステップ 2. ArduPy ファームウェアが Wio Terminal にフラッシュされていることを確認してください。詳細については こちら を参照してください。

aip build
aip flash
  • ステップ 3. 以下のコードをコピーして ArduPy-mq2.py として保存してください:
from machine import Pin, ADC
from machine import LCD
from machine import Sprite
import time

mq2 = ADC(Pin(13))
lcd = LCD()
spr = Sprite(lcd) # バッファを作成

def main():
spr.createSprite(320, 240)
while True:
spr.setTextSize(2)
spr.fillSprite(spr.color.BLACK)
spr.setTextColor(lcd.color.ORANGE)
spr.drawString("MQ2 Reading", 90, 10)
spr.drawFastHLine(40, 35, 240, lcd.color.DARKGREY)
spr.setTextColor(lcd.color.WHITE)
spr.drawString("- Current Level: ", 20, 50)
spr.drawNumber(mq2.read(), 220,50)
spr.pushSprite(0,0)
time.sleep_ms(500)

print("MQ2 Gas Sensor Reading is: ", mq2.read())

if __name__ == "__main__":
main()
  • ステップ 4. ArduPy-mq2.py をわかりやすい場所に保存してください。以下のコマンドを実行し、<YourPythonFilePath>ArduPy-mq2.py の保存場所に置き換えてください。
aip shell -n -c "runfile <YourPythonFilePath>"
# 例:
# aip shell -n -c "runfile /Users/ansonhe/Desktop/ArduPy-mq2.py"
  • ステップ 5. ガス値がターミナルに以下のように表示され、Wio Terminal の LCD 画面にも表示されます。
ansonhe@Ansons-Macbook-Pro ~:aip shell -n -c "runfile /Users/ansonhe/Desktop/ArduPy-mq2.py"
Positional argument (/dev/cu.usbmodem1414301) takes precedence over --open.
Connected to ardupy
MQ2 Gas Sensor Reading is: 60
MQ2 Gas Sensor Reading is: 61
MQ2 Gas Sensor Reading is: 62
MQ2 Gas Sensor Reading is: 62
MQ2 Gas Sensor Reading is: 64
MQ2 Gas Sensor Reading is: 63
MQ2 Gas Sensor Reading is: 66
MQ2 Gas Sensor Reading is: 64
MQ2 Gas Sensor Reading is: 65
MQ2 Gas Sensor Reading is: 65
MQ2 Gas Sensor Reading is: 65
MQ2 Gas Sensor Reading is: 64

pir

回路図オンラインビューア

リソース

プロジェクト

ArduinoとMQ2ガスセンサー: Grove Gas Sensor (MQ2) モジュールは、ガス漏れ検知(家庭および産業用途)に役立ちます。H2、LPG、CH4、COの検知に適しています。

果物の熟成を検知する電子鼻

ED-E: ホームオートメーションと監視システム

スケーラブルなインテリジェント空気質モニタリングと対応: Intel Edison Compute Module、Amazon AWS、Kibanaによる可視化、ドローンを使用した空気質モニタリング。

Octopod: スマートIoTホームオートメーションプロジェクト: Octopodは、AIとスマートRFIDロックを使用して家庭を監視し、セキュリティを確保するユニークな形状の完全なホームオートメーションシステムです。

技術サポートと製品ディスカッション

産業用センサーへのアップグレード可能

SenseCAP S2110コントローラーS2100データロガーを使用することで、Groveを簡単にLoRaWAN®センサーに変えることができます。Seeedはプロトタイピングを支援するだけでなく、SenseCAPシリーズの堅牢な産業用センサーを使用してプロジェクトを拡張する可能性も提供します。

IP66ハウジング、Bluetooth設定、グローバルLoRaWAN®ネットワークとの互換性、内蔵19Ahバッテリー、そして強力なAPPサポートにより、SenseCAP S210xは産業用途に最適な選択肢となります。このシリーズには、土壌水分、空気温度と湿度、光強度、CO2、EC、そして8-in-1気象ステーション用センサーが含まれています。次の成功する産業プロジェクトには最新のSenseCAP S210xを試してみてください。

Loading Comments...