Loading [MathJax]/extensions/Safe.js
MENU

マイコンボード で一酸化炭素検知センサーを使ってみる


以前CO2(二酸化炭素)濃度をやってみました。今回はCO(一酸化炭素)です。

安価で反応のいいセンサーとしてMQ-7 がよく使われているようです。

 

 

 

 

 

 

 

 

 

 

 

 

Output の違い

具体的な数値が知りたい場合 : AO(Analog-Out)
設定閾値を超えたら1を出力する、という使い方をしたい場合 : DO (Digital-Out)

 

マイコンボードは2種類でやってみます。

Arduino

Pico

 

 


Arduino Uno で一酸化炭素(CO)濃度を測ってみる

濃度を測定する場合、AO (Analog Out) 端子を使います。

この場合、Analog – Digital コンバーターが必要ですが、Arudino Uno ならライブラリーで対応できます。

取得したアナログデータをppm単位に変換します。

 

まずは、Arduino に接続(実際に使ったのはUno の互換機でしたが無問題でした)。

 

 

 

 

 

 

 

 

 

 

 

 

ライブラリは以下からダウンロードしておきます。

 

 

 

 

 

 

 

 

 

 

ダウンロードしたファイルは解凍後、改名

MQ7-Library-master -> MQ7

以下のフォルダーへコピー。

Windowsの場合

C:\Program Files (x86)\Arduino\libraries\MQ7

ラズパイの場合(ユーザー名がpiの場合)

/home/pi/Arduino/libraries/MQ7

 

新規にスケッチを作成してライブラリをインクルードします。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

こんな感じです。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

センサーから得たアナログ値をppmに変換するコード

転送速度を115200に合わせてシリアルモニタやシリアルプロッタで表示確認してみます。

この2つは共存できませんので、どちらか一方で表示します。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

シリアルプロッタを開いてみます。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

シリアルモニタで見てみます。

 

 

 

 

 

 

 

 


Pico

結線

DO (Digital-Out) はとりあえずGP22に繋いでいますが、これを使用する場合はアナログ以外のピンならどこでもいいそうです。

 

 

 

 

 

 

 

 

 

 

Thonny IDE を使用してPython でコードを記述

コード

こんな感じで出力されます。

 

 

 

 

 

 

 

 

 

 

 

出力結果を有機ディスプレイ(OLED)に表示してみます。

 

 

 

 

 

 

 

 

 

コード

 

 


Appendix

ラズパイZero で一酸化炭素を検知してみる

MQ-7 のDO(Digital Out) 端子を使います。

DO から得られるものは「検出できた/できない」の2値で、結果はLEDの点滅(Lチカ)で示します。

こういう結線になります。

電源電圧は3.3Vでも5Vでもどちらでもいいようです。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

【co.py】

 

 

 


Appendix2

今回はMQ-7 を使いましたがMQ は以下のようなシリーズになっているそうです。

  • MQ-2: 可燃性ガス、煙
  • MQ-3: アルコール、エタノール
  • MQ-4: メタン
  • MQ-5: 液化石油ガス、天然ガス
  • MQ-6: 液化石油ガス
  • MQ-7: 一酸化炭素
  • MQ-8: 水素
  • MQ-9: 一酸化炭素、可燃性ガス
  • MQ-135: 空気の質(アンモニア、硫化物、ベンゼンなどの有害ガス)

 

Be the first to comment

Leave a Reply

Your email address will not be published.


*