minotchiのアイコン画像
minotchi 2021年05月12日作成 (2021年05月13日更新)
製作品 製作品 閲覧数 1398
minotchi 2021年05月12日作成 (2021年05月13日更新) 製作品 製作品 閲覧数 1398

ガスコンロ制御(吹きこぼれ防止)

ガスコンロ制御(吹きこぼれ防止)

今回やること

ガスコンロにかけている鍋の吹きこぼれを防止するため、
『obniz Board 1Y』を使用してガスレンジを制御してみた。
鍋は吹かない様にずっと見ていると他の事が出来ず、かといって
いざ吹きこぼれた時に走って止めに行くと転倒等危ない時が
あるため、一定の温度になると弱火にし、さらに時間が経つと
鍋の火を消すように制御する

デモ動画

すべてを表示すると時間が長くなってしまうため、10秒程度の動画に
まとめてみました。温度は通常85℃以上で反応するソースコードとなっていますが、
動画では20℃以上で反応するよう、ソースコードを書き換えています。
また、時間もすぐに変わるよう5秒以内に変更してます。

ここに動画が表示されます

設置時の写真

■鍋に温度センサー(SHT31)を設置
キャプションを入力できます

■obnizを含めた設置状態-その1
キャプションを入力できます

■obnizを含めた設置状態-その2
キャプションを入力できます

■obnizを含めた設置状態-その3
キャプションを入力できます

■その他構造物写真
キャプションを入力できます
キャプションを入力できます
キャプションを入力できます
キャプションを入力できます
キャプションを入力できます

使用部品

  • obniz Board 1Y
  • AE-SHT31(高精度温湿度センサモジュールキット)
  • SG90(サーボ)
  • SG90-HV(360°連続回転サーボ)
  • ユニバーサルアームセット(TAMIYA)
  • ファンシー支柱 FS-30W(HILOGIK) ←フレーム強化用

設計図

pin番号はobniz Board 1Yの端子

温度センサ(SHT31) 部品接続先
0pin vcc
1pin sda
2pin scl
3pin gnd
4pin adr
サーボ1(SG90) 部品接続先
6pin signal
8pin gnd
3.3 vcc
サーボ2(SG90-HV) 部品接続先
9pin signal
10pin vcc
11pin gnd

ソースコード

ガスレンジ制御

<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 id="obniz-debug"></div> <script> var obniz = new Obniz("OBNIZ_ID_HERE"); var obniz, byou; // called on online obniz.onconnect = async function() { var servo = obniz.wired("ServoMotor", {gnd:8, vcc:7, signal:6}); //vccは3.3vに接続する(データシートより) servo.angle(0.0);//初期値入力 await obniz.wait(2000); //2秒待つ servo.off(); var sensor = obniz.wired("SHT31", {vcc:0, sda:1, scl:2, adr:4, gnd:3, addressmode:5}); setInterval (async function() { var temp = await sensor.getTempWait(); console.log('temperature:' + temp); //温度を表示する if (temp > 85) { await obniz.wait(60000); //鍋が吹くまでの時間を入力する //ガスコンロの火を弱火にする var servo = obniz.wired("ServoMotor", {gnd:8, vcc:7, signal:6}); //vccは3.3vに接続する(データシートより) byou = 600 servo.angle(50.0); await obniz.wait(byou*1000); servo.off(); //ガスコンロのスイッチをoffにする var servo = obniz.wired("ServoMotor", {gnd:11, vcc:10, signal:9}); servo.angle(160.0); // start await obniz.wait(614); servo.angle(92.0); // stop servo.off(); byou = 600 await obniz.wait(byou*1000); console.log('終了しました'); //完了通知 } else{ await obniz.wait(1000); }; },1000); }; </script> </body> </html>
1
ログインしてコメントを投稿する