2016年11月4日金曜日

Arduino + MQ-3 でアルコール濃度を計測してみた

概要

MQ-3 というアルコールセンサを Arduino で試してみました
Arduino のアナログピンを使うことでアルコール濃度を計測してみます

環境

  • Mac OS X 10.12.1
  • Arduino IDE 1.6.12
  • MQ-3
  • Arduino Pro mini (5v, 16Hz)

はんだ付け

MQ-3 をブレッドボード上で支える基板がついていたのではんだ付けします
2x2 のピンヘッダがないので、それは自身で準備してください
mq3_handa1.jpg

まずはヘッダピンからはんだ付けします
向きに注意してはんだ付けしてください
mq3_handa2.jpg

ヘッダピンがはんだできたら MQ-3 の足に変換基板を挿して裏からはんだ付けします
最終的に以下のような感じになれば OK です
mq3_handa3.jpg

配線

FTDI のレギュレータは 5v を供給するようにショートピンを入れ替えておきます
特に難しくはないですが、B1 というピンを Arduino のアナログ 0 ピンと接続しています
そのときに GND から 10kΩ の抵抗を挟んだ状態から接続してください
mq3_circuit.jpg

今回は変換基板にピン番号が振ってあるのでそのピン番号を使って配線を説明すると

  • H1, A1 -> Arduino 5v (VCC)
  • GND -> Arduino GND
  • B1 -> Arduino Analog 0 pin -> 10kΩ -> GND

になります

スケッチ

アナログピン 0 ピンから値を読み込むだけのスケッチです
できたら IDE で書き込みましょう
ボードは「Arduino Pro or Pro Mini」を選択してください
プロセッサは「ATmega328 (5V, 16MHz)」を選択してください

int mq3_analogPin = 0;

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

void loop() {
  int mq3_value = analogRead(mq3_analogPin);
  Serial.println(mq3_value);
  delay(100);
}

動作確認

では動作確認してみましょう
通常時は以下のような値で安定すると思います
enter image description here

ここに状態で MQ-3 に息を吹きかけたり指で押さえたりすると値が上がると思います
実際に今回はお酒を飲んでいない状態で吹きかけたので上昇した値も 240 くらいにしかなりませんでした
おそらく分解能は 1024 まであるので、アルコール濃度が高ければもう少し高い値になると思います

最後に

Arduino + MQ-3 で簡単なアルコールセンサを作成してみました

ちょっと気になったのは特に何も検査していないときの値です
動作させていると MQ-3 がだんだん熱を帯びてきます
その状態 (熱がある状態) だとアナログ値が 170 - 180 くらいで安定するのですが、特に稼働していないで冷えた状態だと 230 - 240 くらいで安定します

なので、ちょっとロジック的になってしまいますが今安定している値からどれくらい上昇したかでアルコールを飲んでいるのか飲んでいないのかを判定するほうがいいかもしれません

また、3.3v でどうなるか一応確認してみましたが、アナログ値が 40 以上上がらず息を吹きかけても値が上がらなかったのでやはりダメだと思います

参考サイト

0 件のコメント:

コメントを投稿