雨に気付かない、在宅だから洗濯物干したのに〜!!
ということがありました。
在宅だし、いつでも洗濯物を取り込める状況にありながら、ざあざあ雨が降ってきてから気付くなんて
…
…
…悔しいですね。
ということでポツポツくらいの雨が降ったらLINEで教えてくれる機能を作りました。
実際に使ってみたところ
※雨を降らせることができなかったので手動で水をかけてます、ご了承ください。
シュールな作品ができてしまった...
— mmmrym (@mmmrym112) November 6, 2023
ポツッと雨粒が落ちてきたら教えてくれる機能を実演したらこんなことに#protoout #IoT #obniz pic.twitter.com/hJWGbOqsvc
↓その後
作り方
フロー図
JSON
こちらから動かしたフロー図を取り込むことができます。
[{"id":"bee9c70c57df6ec3","type":"tab","label":"Flow 1","disabled":false,"info":"","env":[]},{"id":"cb1d6d3a.017e1","type":"debug","z":"bee9c70c57df6ec3","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":510,"y":80,"wires":[]},{"id":"11a346f0.5a4c19","type":"obniz-function","z":"bee9c70c57df6ec3","obniz":"","name":"","code":"msg.payload = \"finish\";\nawait obniz.wait(1000); \nobniz.close();\n\nreturn msg;","x":340,"y":80,"wires":[["cb1d6d3a.017e1"]]},{"id":"76e43759.3dff68","type":"inject","z":"bee9c70c57df6ec3","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":160,"y":80,"wires":[["11a346f0.5a4c19"]]},{"id":"e42d3d96.12046","type":"obniz-repeat","z":"bee9c70c57df6ec3","obniz":"","name":"","interval":"180000","code":"msg.payload = await obnizParts.hcsr04.measureWait();\n\n// 距離を取得\nlet distance = msg.payload;\n// そのままだと小数点以下の桁数がやたら多いので整数に丸めてもよい\ndistance = Math.floor(distance);\n\n// 距離(mm)をデバッグに表示\n//msg.payload = (distance + ' mm');\n// obnizディスプレイに表示\n// 一度消してから距離+mmの単位を表示\nobniz.display.clear();\nobniz.display.print(distance + ' mm');\n\n// 距離がある程度未満かどうかの判定\nif (distance < 40) {\n obnizParts.WS2811.rgb(50, 120, 200);\n}else {\nobnizParts.WS2811.rgb(0, 0, 0); // 消灯\n}\nreturn msg;","x":170,"y":180,"wires":[["ea0444174d1eb679"]]},{"id":"ea0444174d1eb679","type":"switch","z":"bee9c70c57df6ec3","name":"","property":"payload","propertyType":"msg","rules":[{"t":"lt","v":"40","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":330,"y":180,"wires":[["a9338c804a93511d"]]},{"id":"c3f676e6db3f9d87","type":"BloadcastMessage","z":"bee9c70c57df6ec3","name":"","x":650,"y":180,"wires":[[]]},{"id":"a9338c804a93511d","type":"template","z":"bee9c70c57df6ec3","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"雨降ってきたかも!洗濯物見てほしい〜","output":"str","x":480,"y":180,"wires":[["c3f676e6db3f9d87"]]}]
全体図
水滴が落ちる → トイレットペーパーが破れる → ビー玉が落ちる → 傾斜で壁の位置が動く →
距離センサーが距離を測定 → LINEBotから通知
という流れです。
作成環境
-
工作系
蓋つきの箱(今回は16x15x8 cmの箱を使用)
ビー玉 (今回は直径3 cmを使用)
トイレットペーパー
粘土(角度調節用)
カッター
テープ -
obniz系
Node-RED(line-messaging-api
,node-red-contrib-obniz
のnodeをインストール)
obniz Board 1Y
フルカラーLED
超音波距離センサ
ジャンパワイヤ
ブレッドボード
工作 雨粒を探知用の箱を作る
この箱にトイレットペーパーをテープで貼り付けることで、雨粒探知用の箱ができました!
obniz⇔超音波距離センサ、フルカラーLEDをつなぐ
接続位置に気を付けてジャンパワイヤを差し込んでみてください。
これらを全体図のように箱とobnizを固定したら完成です!
(適宜距離は調整してください)
素敵な在宅ワークを!
雨がポツポツと降ってきた時点でLINEからの通知で気付くことができます。これで気兼ねなく在宅することができますね!