2014年1月14日火曜日

PocketDuinoで温度湿度計を作ってみた

Androidの標準の温度センサーは実質的に端末の温度がとれてしまうので、センサーを外にだして温度と湿度を取れるようにできたらと思っていたところ、PocketDuinoを頂いたので温度湿度計を作ってみた。


PocketDuinoは@ksksue氏が制作したAndroidのUSBポートに直接差し込むことのできるArduino Pro Mini互換のボードです。(PocketDuino公式サイト
 
パッケージにスマートフォンにサクッと刺せそうなイラストが描かれています。
外観はArduino Pro miniの上にUSBコネクタがそのままついたような形になっています。
裏面は何も無く、配線用のホールだけとスッキリしています。


そのままでは遊びにくいのでDIPピンをつけました。
これでいろんな物を繋げることができます。


取り付けたDIPにGrove系の温度湿度計を繋げたいので接続用の中継基板を作ります。
紙エポキシのユニバーサル基板から作ります。
紙エポキシは柔らかいので金鋏で簡単に切れます。大きさを合わせて切断します。
メスのDIPピンのコネクタと、Grove用のコネクタを繋ぐためのDIPピンを取り付けます。今回使用した温度湿度センサーはSeed StudioのTemperature and Humidity Sensor Proです。VCCとGNDはそのままArduinoのVCCとGNDに結線し、今回は信号線をD3ピンに接続しています。(実はA0やD2といった別のピンに繋ぐとデータ化けが発生しました。)
Grove用のコネクタの片方を雌のDIPピンにしていたので、それを接続します。写真ではわかりにくいですが、引っ張っても抜けないように画像の赤と白のコードの辺りにワイヤーロックをしています。
Grove用のコネクタのもう片方を温度湿度計に接続します。

PocketDuinoにスケッチを焼き、Android側も専用アプリをインストールした後、PocketDuinoを接続します。(スケッチとAndroidのソースはこちら)
PocketDuinoの電源が入って青いLEDが点いているのがわかります。アプリ側も温度と湿度が取得できて画面に表示できています。


流石に基板剥き出しでは何なので、外装を作ります。
基板の寸法を測って収まる箱を作ります。デザインは適当で少々無骨ですが今回は気にしません。(FreeCADの3Dモデルデータはこちら
3Dプリンターで印刷します。
印刷し終わったら部品が収まるか確認します。問題がなければ部品を納めて蓋をします。今回は背面の4箇所をネジ止めできるようにしているのでタッピンビスでサクッと閉めます。
箱からはMicroUSBの端子が出ているのと、センサー部が外気に触れるように窓があります。


以上でPocketDuinoを使って温度湿度センサができました。USBの端子をUSB Host APIに対応している最近の端末に挿せば温度と湿度が測定できます。
実際に作ってみて意外に大きいと感じました。挿しっぱなしにすることは出来無さそうですが、たまに指して測定という用途には使えるかも知れません。ただ、外装をジャケット型にすれば挿しっぱなしも可能だと思います。

今回はAndroid側のソフトやスケッチについては特に触れませんでしたが、なんだかんだで、プログラムの実装も大変でした。それでも個人ででもこういったデバイスが作れる時代になったのでモノ作らーとしては嬉しい限りです。