ゆとり部屋のドアの鍵を人数分作るのが大変だな〜と思ったので、遠隔で開けられるようにしました。
動いている様子や動作のまとめはこちら
構成
まず、6Vの電源をレギュレーターで5Vにして、RaspberryPiにmicroUSB経由で供給しています。また、サーボモーターがレギュレーターを介さずにダイレクトに6Vにつながっています。また、信号線はRaspberryPiのGPIOをそのままつないでいます。また、RaspberryPiは有線LANにつながっています。こんな感じ。
ソフトウェア
ソフトとしてはPWMを使ってサーボモーターを回せばそれで終わりです。
なんとかブラウザ経由で開けしめしたかったので、僕が開発中のCWebというC言語用のWebFrameworkを使っています。そこで、HTTPリクエストを受けて開けるべきか閉めるべきかを判断します。これで、PCでもiPhoneでもブラウザさえあればどこからでも開け閉めできます。
GPIOのPWMに関してはwiringpiを使っています。
アプリは手元のMacのXcodeで開発してGithubにあげます。RaspberryPiにsshではいって、git pullして、makeして、、、と言ったデプロイ方法です。普通ですね。
raspberryPiには固定IPが必要です。そのIPへ無線ルーターでポート80へのTCP接続が行くようにルーティングの設定をします。
また、無線ルーターはグローバルな固定IPを持っていないのでdynamicDNSを使っています。
ハードウェア
サーボモーターは360度回るものを用意しました。それは、故障や停電などしても、鍵で安全に開けられるようにです。270度回るサーボモーターがあればこれが可能です。つまり、鍵のつまみの可動範囲は90度なので、鍵が回ってこない場所があるわけです。
そこに逃がして開け閉めすれば鍵の動作を邪魔しないので安全に普通の鍵で開けられます。実際の動きはこんな感じです。左が開いているものを閉じる動き。右が閉じているものを開く動きで、黒と白の点がサーボモーターについている突起です。
このように鍵の動く範囲は90度なので鍵がやってこない場所があります、また、黒い点の動きを見てもらえれば分かりますが、270度の動きが必要です。
これが出来ると
- ドアを開け閉めしても鍵とサーボモーターがぶつからない
- 実際に鍵を使って鍵を開け閉めしたとしても鍵とサーボモーターの突起がぶつかることはない
ということができます。実際動いてる様子はこちら。
ボディーなどはゆとり部屋の3Dプリンタで出力しているのでピッタリのサイズ。
意外と強度があるのは嬉しいです。ただ、忘れてネジをおもいっきりしめたところは少し曲がりましたが(笑)