Posts tagged: Arduino

Arduinoとリードスイッチで部屋の扉の開閉監視

このエントリーをはてなブックマークに追加
はてなブックマーク - Arduinoとリードスイッチで部屋の扉の開閉監視

概要

Arduinoとリードスイッチで部屋の扉の開閉状況のモニタリング始めた。
部屋の扉が開いたらPushbulletでスマホなりMacのChromeなりに通知が来る。

外出中に親が勝手に部屋の掃除するのが嫌で、
何度もやらなくていいとお願いしたけれど
一向にやめてくれないし、明らかにやった形跡あるのにやってないやってないと言うので
それなら開閉モニタリングしておこう、という中学生みたいな動機。


予算:6000円くらい
作業時間:半日


用意するもの

Arudino本体リードスイッチと適当な長い導線さえあれば出来る。
ソースコードはgist


Arduinoをはじめようキット
スイッチサイエンス
売り上げランキング: 644
ProjectBox for Arduino (ブルーエッジ)
スイッチサイエンス
売り上げランキング: 20,842


Arduino上で回路を組む

Arduinoにリードスイッチをつけて、オンオフの値を読み取れるようにする。
作る回路は以下。リードスイッチの両端を2番ポートとGNDにつなげるだけ。




Arduino IDEでコーディング

リードスイッチは磁石が近づくと断線状態となる。プルアップ抵抗がうんたらかんたら。
とりあえず以下のコードで動くので()細かいことは気にしないことにする。


RubyでArduinoとシリアル通信して値を読み込む&通知を送信

RubyでArduinoとシリアル通信して値を読み込む。

通知にはPushbulletを使う。AndroidやPC/MacのChromeに手軽に通知を送れて便利。
自分で開けたのに通知送られても困るので平日の昼間に限定。別途物理的なスイッチをArduino側に追加してもいいけどとりあえず。
環境変数PUSHBULLET_API_KEYに自身のAccessTokenをセットしておく。
#どちらか
$ echo 'PUSHBULLET_API_KEY="MY_ACCESS_TOKEN"'>>~/.zshenv
$ echo 'PUSHBULLET_API_KEY="MY_ACCESS_TOKEN"'>>~/.bashrc




設置

扉が空いたらリードスイッチと磁石が離れるようにうまく設置する。



完成

誰かが扉を開けるとスマホに通知が来る。





終わり

PCが警察に押収されたら(PC周辺の状況が変化したら)任意のコマンドを実行しようとかいうSWATdなるプログラムもあるらしい。

なお扉の開閉監視してまで護りたい物はなかった模様

このエントリーをはてなブックマークに追加
はてなブックマーク - Arduinoとリードスイッチで部屋の扉の開閉監視

Dansette