TOP - 投稿 - 在室を通知するキースタンドを作る
在室を通知するキースタンドを作る
2022.12.06
はじめに
こんにちは、りれと申します。今回は、少し軽め?で気軽に作れるけど、かなり便利なものをつくったのでそれの製作記です。在室を通知してくれるキースタンドをつくりました。
製作のきっかけ
私の所属しているサークルで、「部室に誰かいるかどうか、サークルのSlackで確認できるようにしてほしい!」という声を聞いたのが製作のきっかけです。
部室に誰か来た時(=部屋が開いた時)、誰も居なくなる時(=部屋が閉まる時)に、Slackチャンネルにそのことを投下するものを作るのが目標です。
ハードウェアについて考える
在室かどうかを調べるにはどうすればいいか、まずいろいろ考えました。
- 照明から情報を取る
- 明るさセンサ
- 部屋には窓があるので、外からの光の影響とかも考えると、誤検知をなくすのが大変そう。
- 照明のスイッチ
- 借りている部屋なので、いろいろ注意が必要
- カメラで画像認識すればできるけど、なんかやだ。
- 明るさセンサ
- 扉から情報を取る
- 加速度センサ、振動センサ、傾きセンサなどで扉の開閉を検知
- 借りている部屋なので、いろいろ注意が必要
- 誤検知を防ぐのがめんどくさい。
- 入室、退室を区別できないのでずれそう。
- 2人目入室時や、一時的に廊下に出るときに反応するのが嫌だ
- 扉の錠の状態から状態を取得する
- 借りている部屋なので、いろいろ注意が必要
- 錠のつまみに傾きセンサをつければ技術的にはできそうではある
- 錠のつまみは小さいから取り付けが難しそう
- そもそも錠の部分に細工するべきでないと思う
- 画像認識すればできるけどなんかやだ。
- 加速度センサ、振動センサ、傾きセンサなどで扉の開閉を検知
このように考えた結果、「入退室時にボタンを人間が押すようにするのが一番よいのでは?」と思ったので、ver1を下の写真のように作りました。Wifiに接続できるマイコンモジュールESP32とタクトスイッチを用いて、ボタンをおすとESP32がSlackのAPIを叩いてチャンネルに投下するというシステムです。
キースタンドによる状態取得
ver1もなかなか好評だったんですが、ボタンを押す手間ができるのがなんかなあ、と思っていました。
ところで、サークルの部室は受付で鍵を借りて、退室時に鍵を締めて受付に返します。鍵を借りている間は部室のS字フックに掛けて保管していますが、鍵があるかないかで状態取得すればよいのでは?という指摘をうけて、ver2の製作にとりかかりました。
- 鍵を置いたり掛けたりした時の重さを取得
- 鍵のストラップの差し込み口を作り、そこで取得
- マイクロスイッチ
- 透過型フォトセンサ
などの候補を考えて、なんとなく差し込み式、マイクロスイッチを採用することにしました。Ver1と同じくマイコンにはESP32を使います。
ハードの仕様を決めたので早速製作!
まずはキースタンドの3DCADデータを作り、3Dプリントで成形します。左面にはこの後つくる基板を取付、右面は何かの板で覆う予定です。
そしてユニバーサル基板に配線をして、
基板とマイクロスイッチをネジでキースタンドに取り付ければハードが出来上がり。
最後にプログラムを書いて、在室通知キースタンドの完成です!
鍵のストラップを差し込む時、抜いた時に電子ブザーが「ピピッ」と鳴って、Slackに「部室が開きました」「部室が閉まりました」と投下します。
それ以外の時はマイコンはスリープ状態にしています。ピン変化割り込みで立ち上がる仕組みです。
部室の柱に雑に取り付けた様子↓
感想
自分のつくったものが他の人に使われているとうれしいですね。