はじめに
最近CO2濃度の測定が流行っていますが、市販の測定器は値段が高く、なかなか手を出せていませんでした。
そこで、今回はobnizと、CO2センサであるMH_H19Bを用いて室内のCO2濃度を測定します。
電子工作はほぼ初心者なので、ブレッドボードの上に部品を接続していきます。
部品
- obniz Board 1Y
- MH Z19B
結線
MH Z19Bのv-, v+, Txd, Rxdピンを、obniz.wired
で指定するピンへと繋ぎます。
ソースコード
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" />
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://unpkg.com/obniz@3.x/obniz.js" crossorigin="anonymous" ></script>
</head>
<body>
<div>
<span id='co2'>測定開始中……。</span>
<div id='warn' style='color: red;' />
</div>
<script>
//type in your obniz ID
var obniz = new Obniz("OBNIZ_ID_HERE");
var limit = 1500;
var interval = 1000 * 60 * 3;
//during obniz connection
obniz.onconnect = async function() {
var led = obniz.wired("LED", { anode: 8, cathode: 9 });
var err = obniz.wired("LED", { anode: 10, cathode: 11 });
var sensor = obniz.wired("MH_Z19B", {vcc:0, gnd:1, sensor_tx:2, sensor_rx:3}) ;
await sensor.heatWait(180);
obniz.repeat(async()=>{
err.off()
obniz.display.clear();
led.on();
try {
var v = await sensor.getWait();
$('#co2').text('CO2: ' + v);
if (v > limit) {
$('#warn').text('室内のCO2濃度が高すぎます。換気を行なってください');
err.on();
} else {
$('#warn').text('');
}
obniz.display.print("CO2: " + v);
} catch(e) {
$('#warn').text('sernsoring failed: ' + v);
obniz.display.print(e);
err.on();
}
led.off();
}, interval);
};
</script>
</body>
</html>
UARTのライブラリが存在するところまで調べてからこのセンサを購入したところ、MH_Z19Bのライブラリがexactに存在していたので、ライブラリがとても整備されていることに驚きました。すごい。
実装もすぐにリンクから読むことができ(必要ならPRを出すこともでき)、エコシステムができていることに驚きました。
ハマったところ
LEDを点灯させるページを読みながらLチカをしてみようとしたところ、上記ページに、
(ここで使用しているLEDは抵抗入りのLEDですが、もし抵抗入りではないLEDを繋ぐときは抵抗を繋いで下さい。)
とあることに気付かず、ピンに直接LEDを挿して点灯しようとしたところ、数個焼いてしまうなどしました。
感想
机の横に設置して動かしておくと、換気が必要になった時に赤色LEDで教えてくれるので、非常に便利です。
また、ちょっとしたプログラムの修正等もわざわざコンピュータへと接続したりすることは不要で、ブラウザのみで変更できたのも大変便利でした。
-
nana
さんが
2021/05/14
に
編集
をしました。
(メッセージ: 初版)
-
nana
さんが
2021/05/14
に
編集
をしました。
-
nana
さんが
2021/05/14
に
編集
をしました。
-
nana
さんが
2021/05/14
に
編集
をしました。
ログインしてコメントを投稿する