Intel Edisonでアルコールセンサーを使ってみた

141件のシェア(ちょっぴり話題の記事)

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

弊社のIntel Edisonに関する過去記事はこちらをご参照ください。

今回はIntel EdisonにGrove - Alcohol Sensorを接続して、アルコール濃度を検出してみました!

DSC_0101

やってみた

使ったデバイス

Intel Edison Kit for Arduino + Grove Starter Kitです。GroveのベースシールドのA0にAlcohol Sensorを接続しています。

DSC_0103

Alcohol Sensorを使う場合の注意点

  1. アルコールセンサーは内蔵のヒーターを熱する必要があり、電源投入後5分〜10分は正確に検出出来ない。
  2. ベースボードに接続した場合、A0がアナログデータ入力でセンサーになる。A1がヒータースイッチで、デジタル出力になり15番にマッピングされる。(ちょっとここの理屈がよく理解できていません)
  3. 内蔵ヒーター(A1)はHIGH(1)がOFF、LOW(0)がON。
  4. アルコールが空気中にあるとセンサの抵抗値が下がる仕組みのため、表示する値は1023からセンサの値を引いてる。

XDKで書いたコード

var mraa = require("mraa");

var SensorPin = new mraa.Aio(0);
var HeaterPin = new mraa.Gpio(15);

HeaterPin.dir(mraa.DIR_OUT);
HeaterPin.write(1);

setInterval(function () {
	HeaterPin.write(0);
    var a = SensorPin.read();
	var b = 1023-a;
    console.log("Alcohol Value: " + b); 
}, 100);

 試してみる

コードをビルドしEdisonにアップロード、開始して10分経った状態がこちら。380前後で安定しています。

Intel®_XDK_IoT_Edition

動作確認用として、我が家に常備してある料理酒を使います。

DSC_0104

料理酒を小皿に注いで、アルコールセンサーを近づけてみると...

DSC_0105

数値が上がって700を越えました!ちゃんとアルコールを検出しています!

Intel®_XDK_IoT_Edition_と_書類

おまけ

アルコールセンサーがちゃんと動作したことは分かりました。しかし、これは呼気でもちゃんとアルコールを検出できるのでしょうか?試さないとわからないですよね?論より証拠。試してみました。

0DSC_0106

まずは実験前に呼気を確認してみます。

0回目DSC_0111

お酒を飲んでいない状態でアルコールセンサーに息を吹きかけても、数値は全く変わりません。

Intel®_XDK_IoT_Edition 2

じゃ。プシッ。

1本目1DSC_0125

グビグビ。

1本目2DSC_0127

プハー!うめー!

1本目3DSC_0131

1本飲みきったところでアルコールセンサーに息を吹きかけてみます。

1本目4_DSC_0138

お、ちゃんと数値が上がりましたね!

Intel®_XDK_IoT_Edition

2本目いただきます!

2本目DSC_0135

2本目を飲んだ後。徐々に数値が高くなってきていますね。

Intel®_XDK_IoT_Edition 4

3本目。

3本目DSC_0136

3本目を飲みきった後。やはり本数が増えるたびに、呼気に含まれるアルコールが増えていますね!

Intel®_XDK_IoT_Edition 3

いやービールって本当に良いものですね。

さいごに

アルコールだけでなくベンジンやメタンなどの燃焼性ガスに反応するらしいので、理科実験室などの防災にも使えそうです。あとビール美味かったです。