この記事はIoTLT Advent Calendar 2018(neo)の19日目の記事です。
岩手(ただ言ってみたかっただけ)の寒い冬を越すために必要な「石油ストーブ」。
今回は、この石油ストーブから出るガス(一酸化炭素など)で死なないようにガスセンサで空気中のガス濃度を可視化できるようにします。
僕自身岩手に住み石油ストーブを使っているため本気で取り組んでいきたいと思います!
実は本州一寒い岩手県
皆さんは本州一寒い県は知っていますか?
タイトルにも書いてしまっていますが実は岩手が一番寒いそうです。
ワカサギ釣りで有名な「岩洞湖」は皆さんもご存知かもしれません。
そんな岩洞湖は岩手県盛岡市薮川にあり、寒い時は氷点下30度にもなる本州一寒い場所となります。
とても怖い一酸化炭素
皆さんは一酸化炭素をご存知でしょうか。
一酸化炭素とは?
ガス機器や石油機器が正常な燃焼を行うためには充分な空気(酸素)が必要ですが、正しく使わないことで酸素が不足して不完全燃焼を起こすと、一酸化炭素(CO)という有毒なガスが発生します。
一酸化炭素(CO)は色も臭いも無く、毒性が強い気体のため、ほんの少しでも吸い込んでしまうと気づかないうちに中毒になる危険があります。
一酸化炭素(CO)中毒の最初の症状は風邪に似ていて、なかなか気づきにくく、次第に頭痛、吐き気がしてきて、手足がしびれて動けなくなり、重症になると、人体に強い機能障害を起こしたり、意識不明になって死にいたることもあります。
みなさんもこのような石油ストーブは一度は見たことがありますよね。
正しい使い方をしないとこれが危険なものとなります。
これで安心安全!(?)ガスセンサを使ったガス濃度可視化法
さて、前置きはこれくらいにして早速本題に入りましょう。
考えたもの
石油ストーブを使う際は必ず換気をしますよね?
これをしないと一酸化炭素が充満し最悪の場合死に至ります。
それを防ぐため一酸化炭素濃度をLEDで可視化します。
使ったもの
ちなみにこのセンサでは一酸化炭素以外にも天然ガスや口臭のチェックができるそうです。
※このセンサは確実にガスを検出してくれるものではありません。
- ブレッドボード
- 150オームの抵抗4つ
- ジャンパ線9本
回路
ガスセンサモジュールのパーツがなかったためそれっぽいものを使用しています。
ガスセンサモジュールの端子を右から順にArduinoの5V、GND、A0に繋いでいます。
LEDはアノード(足が長い方)にDIGITALピンの0~4に繋ぎ、カソード(足が短い方)とGNDの間に抵抗を挟んで繋いでいます。
プログラム
int gasVal = 0;
void setup() {
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
}
void loop() {
gasVal = analogRead(0);
if (gasVal < 200) {
ledOut(1);
} else if (200 <= gasVal && gasVal < 400) {
ledOut(2);
} else if (400 <= gasVal && gasVal < 600) {
ledOut(3);
} else if (600 <= gasVal && gasVal < 800) {
ledOut(4);
} else if (800 <= gasVal && gasVal <= 1000) {
ledOut(5);
}
}
void ledOut(int gasLevel) {
for (int i = 0; i < 5; i++) {
digitalWrite(i, LOW);
}
for (int i = 0; i < gasLevel; i++) {
digitalWrite(i, HIGH);
}
}
今回はLEDを5個使っていてセンサで測れる値が1~1000だったので200ずつに区切って光らせるようにします。
結果
できた!
部屋のガスのレベルが5段階で可視化できるようになりました!
レベルが高くなったら換気するなどの対策ができて良いですね!
これで岩手の寒い冬でも快適な反射式ストーブライフを送れそうです!
※今回使用したMiCS5524搭載ガスセンサモジュールは医療目的や火災等の煙を確実に検出できるものではないので使用する際は自己責任でお願いします。