はじめに
トイレを簡単に自動開閉でき、記録できるシステムです。公共施設のトイレの蓋も自動になったら色んな人が使えるようになります。しかし新しく購入するのはハードルが高いので今ある普通のトイレに取り付けるだけでIoT化できたらお財布的にもエコだなと思いました。
また在宅ワークが多いコロナ禍、トイレの使用頻度で健康状態が可視化できるのではないかと仮説を立てました。このIoT化計画はその実験のためのシステムでもあります。
システム概要
人が近づくと自動的に開き、離れると閉じます。トイレを使用した時間と座った長さを記録します。
設計図
使用部品
部品名 | 型式 | 数 | |
---|---|---|---|
1 | obniz | obniz Board 1Y | 1 |
2 | 距離センサ | HC-SR04 | 1 |
3 | サーボモーター | DS3218 | 1 |
ソースコード(obniz)
ソースコード
<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.14.0/obniz.js" crossorigin="anonymous" ></script> </head> <body> <div id="distance"></div> <div id="temp"></div> <script> var obniz = new Obniz("//obnizID//"); obniz.onconnect = async function() { var hcsr04 = obniz.wired("HC-SR04", {gnd:0, echo:1, trigger:2, vcc:3}); hcsr04.reset_alltime = true; var servo = obniz.wired("ServoMotor", {gnd:9,vcc:8,signal:7}); while(true) { const distance = await hcsr04.measureWait(); console.log("distance " + distance + " mm"); if(distance){ $("#distance").text(distance); if(distance<500){ servo.angle(50.0); await obniz.wait(5000); }else servo.angle(120.0); }else{ } await obniz.wait(500); } }; </script> </body> </html>
デモ動画
結果
最近のトイレはフラットなデザインで、取り付けの方法に一番苦労しました。サーボモーターに電池を追加電源として使用したかったのですが、動かなかったので断念しました。しかしこれで自動化でき、使用頻度を可視化できるようになりました。蓄積できたデータをさらに整理して、グラフや色を使えばその月の傾向や電気・水の使用量を予測できるかもしれませんね。
-
Firon
さんが
2021/05/16
に
編集
をしました。
(メッセージ: 初版)
-
Firon
さんが
2021/05/16
に
編集
をしました。
ログインしてコメントを投稿する