Arduinoでミラーボールを回してみた - 下林明正のブログ の続きです。基本的な話については前回や前々回のエントリーをご参照ください。
先週はミラーボールを回すという脇道にそれましたが、今週はなんとか無事当初の目標であった湿度と気圧のロギングに成功しました。
その手法について、メモしておきたいと思います。 先ず、今回使用したセンサーですが、
- CHS-MSS
- RTL-09889
この2つを利用しました。
CHS-MSSは、取り扱いの簡単さから採用しました。2400円ほど。
湿度センサーについて調べてみるとHS15というセンサーが安価でよく使われているようなのですが、取り扱いが難しそうであることと精度の面で怪しそうな印象を受けたので、今回は奮発してCHS-MSSを購入しました。 このセンサーは以前利用したLM35DZ-Nの湿度版といったところで、湿度100%の場合1Vを出力してくれる非常に扱いやすいセンサーとなっています。LM35DZ-Nと違って結構お高いですが、ブレッドボードにぶっ刺して即座に利用できる簡単さは本当に気持ちがいいです。何も考えずにAnalog Inputに繋ぐだけで良いです。
RTL-09889は、CHS-MSSを取り扱っているマルツパーツオンラインショップが取り扱っていたことと、先述の公式サイトなどで利用方法が比較的丁寧に解説されていることから採用しました。2100円ほど。
気圧センサーについて調べてみるとどれもが取り扱いが面倒くさそう(SPIインターフェイスやI2Cインターフェイスとやり取りしなければならない??色々とキャリブレーションが必要??)な上に1500円〜2500円くらいする様子だったのですが、RTL-09889に関してはまあ大体ソースコードコピペでいけるだろうという感じがしたのが好印象で、実際にコピペで動かすことができてしまいました。 通常のプロダクト開発であればコピペプログラミングみたいなことはしたくありませんが、今回はとにかく動けば良いみたいな感じなので良心の呵責無く採用しました。
その際は、 このエントリー が分かりやすくまとめられていました(公式サイトと書いてある事自体は同じですが)。
そんなわけで、途中 ビッグエンディアンとリトルエンディアンの狭間で わたわたしたりもしていましたが、本筋としてはかなり簡単にセンサーの値を読み取ることに成功しました。
ソースコードやらは いつものgithub上のリポジトリ で公開していますのでどうぞ。
CosmもPUTする際に存在しないidを指定した場合はよしなにdatastreamを生成してくれていたり、なかなかおもてなし感が高くて良いです。6hoursのグラフしかまともに見れないのが致命的に辛いですが、本当にそこさえなんとかなれば良さそうなウェブサービスだと感じています。
また、これまでSerial通信を全く使っていなかったのですが、割と簡単にprintfデバッグみたいなことができて超便利だったので、気圧センサーのサンプルコードとかを眺めてみると知らない人は幸せになれるかも知れません。
換気扇回し始めたら1hPaくらい下がった
— 𝙨𝙝𝙞𝙢𝙤𝙗𝙖𝙮𝙖𝙨𝙝𝙞 (@shimobayashi) 2012年12月15日
こういう感じで、なかなか楽しいです。健康管理の役に立つことを期待しています。
これで一旦やりたかったことはできたのですが、次に何かやるとしたら多分エアコンの自動制御やリモート操作をやりたいだろうな、と考えています。この季節、自宅に帰る頃に部屋があったまっていたら、結構良さそうですよね。もしくは、布団の中にまで温度センサーを入れてみて、より良質な睡眠の追求をしても良い気がしています。