猫がホットカーペットに乗っている間だけ電源ONにする装置を作った
冬は飼っている猫のために温かいホットカーペットを提供してあげたいですよね。
ただし猫がホットカーペットの上に乗っていないのに電源がつきっぱなしになっていると無駄です。
そこで、距離センサーなどを使って、猫がホットカーペットの上に乗っている間だけ電源ONになる仕組みを実現してみました。
スマートプラグを用意する
まずはスマホアプリやスマートスピーカーからコンセントのON/OFFをコントロールできようにする「スマートプラグ」を用意します。
たいていの市販のホットカーペットには、赤外線リモコンだったり便利なAPIというものは用意されていません。
そこでこのスマートプラグを使って、コンセント側でON/OFFを制御してやります。
コンセントの操作だけでON/OFFできるホットカーペットを選ぶ
スマートプラグがあればどんなホットカーペットでも良いかというとそうではありません。
特にデジタル表示の温度調整機能を持つホットカーペットは「コンセントからの電源供給がされている状態で、さらにボタンの操作を行わないと温かくならない」ものが多いです。
そこで、以下の製品を選びました。
この製品は以下のようにスイッチを入れっぱなしにしておけるので、電源の操作をコンセント側に任せられます。
コンセント側をONにしても人間がボタン操作を行わないといけない製品とはそこが違います。
スイッチでON/OFFが制御できるホットカーペットは他にも見つかるので、大きな犬用の仕組みを実現したい場合には以下のような製品を選ぶと良いでしょう。
[山善] ミニマット(幅40長さ80) ホットカーペット YMM-K805 [メーカー保証1年]
距離センサーで猫がいる範囲を求める
「スマートプラグ」と「スイッチをONのままにしておけるホットカーペット」によって、スマホアプリやスマートスピーカーからホットカーペットのON/OFFをコントロールできるようになりました。
次に、猫がホットカーペットの上に乗っているかを検知する仕組みを作ります。
用意するのは以下のような物です。
- ESP32 Dev Module
- 赤外線測距センサー akizukidenshi.com
- コンデンサ
- ブレッドボード
- ジャンパワイヤ
- MicroUSBケーブル
測距センサーは超音波式の物もあるのですが、猫は可聴域が人間よりも広いので、もし終始 音が聞こえていたら嫌かなと思い、赤外線センサーを選びました。
以下のページを参考に、回路を組んでください。 n.mtng.org
全体は以下のような形になりました。
小さく切ったコマンドタブをブレッドボードの下に貼り付けて、センサーがホットカーペットの中央を向くように固定しています。
IFTTTで連携させる
ボードからのPOSTリクエストと、スマートプラグの操作をつなぐために、IFTTT(イフト)を利用します。 IFTTTのWebhook(Maker Channel)を利用する方法は以下を参照してください。 moyashipan.hatenablog.com
コードはこの記事の最後に掲載しています。
- コード中にある通り、センサーのVoは34番のピンにつないでください
- SSIDやパスワードは自身の環境に合わせて書き換えてください
- IFTTTのWebhookのURLは自身が取得したkeyに書き換えてください
- 猫の検知範囲は実際の環境で測ってみて調整してください
コードをArduinoIDEで書き込んで、検知範囲に障害物があったらON・障害物が無くなったらOFFという動作が確認できたら、
IFTTT上で以下のように「Webhookでcat_bed_onというイベントを受け取ったら、ホットカーペット用のスマートプラグをONにする」というAppletを組んで、完成です。
今回の装置はハンダ付けをしなくても作れるので、興味を持った方はぜひ作ってみて、快適なホットカーペットライフを飼い猫に提供してあげてください。
猫もなかなか利口で「ホットカーペットに乗ってすぐは常温だけど、乗ってる間に温かくなる」というのをすぐ学習してくれるはずです。
距離センサーでホットカーペット上に猫がいるのを検知してIFTTTにトリガーするやつ
今日も猫自動検知ホットカーペットをご利用いただけてる pic.twitter.com/5Oxu5zgo7P
— もやしパン(猫がいます) (@Moyashipan) 2020年1月8日