こんばんは。
現在小売業で働いており、新入社員の受け入れの研修をしています。
講義の中で「店舗で使用しているものはすべて経費が掛かっていると思ってください。」と
新入社員に伝えましたが、こんなぼんやりしている説明はないなと反省・・・
なので、経費としてわかりにくいものを
分かりやすくするための装置を作ろうと実装してみました。
(ひとまず照度センサーを使って電気料金がわかるものを作りたくなったので、
まずは家のトイレで使用している電気料金を調べてみることにしました!)
作ろうとしたもの
照度センサーを使って電気がついている時間を分単位で計測し、
電気料金がわかるものを作ろうとしました。
↑の画像は電気をつけている状態でNode.jsを実行して、
0.15v以下になった時間を計測してくれるものです。
実装環境
- Node.js(version: v17.6.0)
使用したもの
- obniz
- CdS:1個
- 抵抗330Ω:1個
- ブレッドボード:1個
- ジャンパワイヤー赤:1本
- ジャンパワイヤー黒:1本
- ジャンパワイヤー白:1本
作成したコードがこちら
実際に作成したコードはこちら
const Obniz = require('obniz');
const obniz = new Obniz('*********');
require('date-utils');
let now = new Date();
//console.log(now.toFormat('YYYY年MM月DD日 HH24時MI分SS秒'));
let onoff ="ついています"
obniz.onconnect = async () => {
obniz.io0.output(true); // io0電圧を5Vに(電源+)
obniz.io2.output(false); // io2電圧を0Vに(電源−)
// io1をアナログピンに(センサーの値を取得)
obniz.ad1.start((voltage) => {
// センサーの値が変わるたびに実行される
//console.log(`changed to ${voltage} v`);
if(voltage<0.15){
let time = new Date();
var diff = time.getTime() - now.getTime();
if(onoff=="ついています"){
onoff="ついていません"
console.log(diff / (60*1000)); // 48
}
}else{
//console.log(`灯りがついています`)
}
});
}
実装しながら思った疑問点
- 電気をつけている状態から計測し、0.15v以下になると
灯りが消えた時間を計測されるように設定しているはずなのに、
すぐに電気が消えたと判断され、計測時間がNode.js表示されること。
平均して0.5vくらいだと、電気がついている状態、
平均して0.3vくらいだと、電気がついていない状態ということはわかりました。
今後の修正点
-
Node.jsでobnizを実行してから電気が消えた時間をすぐに起動・計測させるのではなく、
計測開始時間を遅らせる設定をする。
→0.01秒で電気消えましたと計測されることは解決できたかも。 -
Node.jsを起動してから電気が消えた時間を引き算し、
分単位で電気がついていた時間を教えてくれるように設定にする。 -
何分電気がついていましたではなく、電気がついていた時間から
電気料金を計算して表示できたら、もっとわかりやすくなるはず。 -
LINE Botに繋げて、電気を沢山使っていると分かったときは
お説教スタンプ遅れたら気が引き締まるかも笑
obnizを使ってみての感想
新入社員に経費に対する意識づけをさせるために照度センサーを使って
電気代がいくらかかっているかわかるものを作ってみましたが、
計測に電気を使ったら本末転倒だと今さらながら気づいた私・・・
あれ?こんなはずでは・・・と思いつつも
obniz使ってみたかったし、使うことに意味があるよね!と
自分を納得させてます笑
最後まで読んでくださり、ありがとうございました。