夏休みの工作
気がついたらもう9月も終わり、夏休みが終わろうとしている。(尤も、授業がないだけで卒論は進めなければいけないので4年生には関係ない話だが…)
夏休みといえば自由工作である。よく小学生の頃は夏休みの最後の方になって慌てて色々作ったことを思い出すけれど、せっかくなのでこの大学4年の夏休みの最後に電子工作で遊んでみた。
何を作るかといえば、部室の在室管理システムである。
前々から部室に人がいるかどうか、離れた場所から知る方法があったらいいなと思っていた。
最近になって部室にWi-Fiルーターを設置したことで、なんだか簡単に作れそうな気がしたので作ってみた。そのことについて毎度のことながら雑に書き散らかしていく。
やりたいこと
・部室に人がいるかどうかすぐにわかるようにしたい。
・部室に人が来たときに、自動で知らせるシステムがほしい。
用意したもの
・Arduino uno
マイコンボード。光センサーとか繋いだりコードを読み込ませて動かしたりするやつ。
Arduinoの拡張シールド。これでArduinoがサーバーとしての機能を持ち通信できるようになる。
・CdSセル(光センサー)
光が当たると抵抗値が変わるタイプのセンサー。
・ブレッドボード
・各種ケーブル
できたもの
・命名「部室警備くん」(自動部室在室管理システム)
一応完成写真。天井に設置した箱の中にセンサーとArduino本体が入っている。コードは電源とルーターに繋がっており、1分毎に通信している。
(ブログを書いていてようやく気づいたが、作業中に全く写真を撮っていなかったのが惜しまれる。)
部室に人がいるかどうかの判定はCdsセルで行う。はじめは人感センサーなどを使おうと考えていたが、部室の電気がついているかを見るのが一番簡単そうなのでこの形に。ちょっと調べたところ、Arduinoのイーサネットシールドを使えば通信が可能なためそれを用いることに決めた。
Arduino入門 第5回 光センサーでArduinoへの入力を試してみる!
(https://deviceplus.jp/hobby/entry_005/)
Arduino入門 第6回 Arduinoを使ってWebサーバーをつくろう!(https://deviceplus.jp/hobby/entry_006/)
また、ArduinoのLibraryを探したところ、ArduinoとTwitterを連携させるもの(http://arduino-tweet.appspot.com/)を見つけたので、使わせていただくことにした。
つまり、簡単な流れとしては、
Cdsセルで部室の電気がついた/消えたを感知
↓
Arduinoで通信を行う
↓
自動でツイートを送信
ということになる(はず)。
部室警備くん(Twitter)
https://twitter.com/shogi_keibikun
これが部室警備くんのTwitterアカウント。電気がついたときと消えたときに自動ツイートする設定になっている。
Twitterの仕様で、同じ内容のツイートをしようとすると403エラーとなって送れない。無理やり数字を付けて送っているけど、送信時刻とかにできればよかった(面倒だったのでやめた)。
今のところ順調に動いているようだ。
(10/1 追記)
窓から入ってくる朝日に光センサーが反応してるっぽいので、何か日除けのようなものを置いてやらないといけないみたい。
電子工作はあまり経験がなかったけれど、ネット上の情報を拾って勉強して、こう自分の手で作りたいものを作っていくのはやっぱり楽しかったし、また何か思いついたら作ってみたい。