シャープの両開き冷蔵庫を使っていますが、右側のドアがしょっちゅう半開き状態(1センチぐらい隙間が開いている)になってしまって気が付かないことが多く、特に夏は電気代の損失も大きくなるため、半開き状態を検出するアラームを制作しました。
1号機
センサーにリードスイッチを使用して、アナログ回路で組んだタイマーでブザーを鳴らすようにしました。最初、電池にしましたが、電池が切れても気が付かないので後にACアダプタに変更。
問題点1 ブザー音がやかましくて家族に不評
問題点2 リードスイッチがすぐだめになる
2号機
秋月電子のリードスイッチは使っているうちに接点が磁化されてしまうのか、ON状態のまま固着するようになってしまい、ドアが空いていても検知できなくなりました。千石電商で少々高めのリードスイッチも買って使いましたが、やはり数ヶ月程度で同じ問題が発生しました。そこで今度は磁気を感知するホール素子を使ってみました。秋月で売っているいくつかを試して、SK8552G でうまくいきました。
しかし、その頃、目の具合が悪く、面倒な工作ができる状況ではなかったため、ドアが空いているとLEDが点くだけの簡易なものを作ってしばらく使っていました。
3号機
目も直ってきてやる気がでてきたので、ちゃんとしたのを作ることにしました。
Arduino を使ってアラーム音は爽やかな(!)メロディーを奏でるようにしました。メロディーは Generating a Melody | Sound Examples を使わせていただきました。
せっかくマイコンなので、ESP-WROOM-02 を使ってデータベース接続してデータを送り込むようにしました。扉を閉じたときに、扉が空いていた時間を送信します。データベース側ではその時の時刻も記録するようにしました。
(左)センサーの中身をホール素子に変更
(右)再利用のタッパに組み込み
とりあえず65秒でアラームが鳴るように設定しました。開時間のデータのみしか取得していないですが、DBからGoogle スプレッドシートにデータを取り込んで、3種類ぐらいのグラフを表示するようにしました。
(左) タイムラインで開時間を表示
(右) 日毎のアラーム数
スミマセン今回は回路図など書いてません。Arduino のソースを上げておきます。
SK8552G の出力を 10KΩの抵抗経由でIO12 に接続、IO13 にスピーカーを繋げばOKです。DB は MySQL ですが以下の構成です。
奥さんに「アラームできたよ!!」って言ったら、「どうせなら自動で閉まるようにして」と言われました。😝