編集履歴一覧に戻る
nanaのアイコン画像

nana が 2021年05月14日23時06分41秒 に編集

コメント無し

本文の変更

# はじめに 最近CO2濃度の測定が流行っていますが、市販の測定器は値段が高く、なかなか手を出せていませんでした。 そこで、今回はobnizと、CO2センサであるMH_H19Bを用いて室内のCO2濃度を測定します。 電子工作はほぼ初心者なので、ブレッドボードの上に部品を接続していきます。 # 部品 - obniz Board 1Y - MH Z19B

+

# 結線 MH Z19Bのv-, v+, Txd, Rxdピンを、`obniz.wired`で指定するピンへと繋ぎます。

# ソースコード ```html <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のライブラリ](https://obniz.com/ja/doc/reference/common/uart/)が存在するところまで調べてからこのセンサを購入したところ、[MH_Z19B](https://obniz.com/ja/sdk/parts/MH_Z19B/README.md)のライブラリがexactに存在していたので、ライブラリがとても整備されていることに驚きました。すごい。 実装もすぐにリンクから読むことができ(必要ならPRを出すこともでき)、エコシステムができていることに驚きました。

+

# ハマったところ [LED](https://obniz.com/ja/doc/guides/obniz-starter-guide/parts-library/turning-on-a-led)を点灯させるページを読みながらLチカをしてみようとしたところ、上記ページに、 >(ここで使用しているLEDは抵抗入りのLEDですが、もし抵抗入りではないLEDを繋ぐときは抵抗を繋いで下さい。) とあることに気付かず、ピンに直接LEDを挿して点灯しようとしたところ、数個焼いてしまうなどしました。