2013年3月4日月曜日

Arduino で工作してみた

Arduino で気温と湿度、大気圧を計測して Twitter に投稿するスケッチを作りました。久しぶりの電子工作です。
IMG_0336
何年か前に買った Arduino Duemilanove と Ethernet Shield を使っています。 気温と湿度はSHT-11、大気圧はMPL115A2を使ってデータを得ています。どちらもストロベリー・リナックスで購入したものです。

他にはカレンダ・タイマとしてSparkfunのリアルタイムクロック・モジュールを使用しています。こちらはスイッチサイエンスで購入しました。

LCDディスプレイはシールドに乗るサイズにということで、ストロベリーリナックスの8×2行ミニI2C液晶モジュールにしてみました。表示文字数が少ないので、日時、気温、湿度、気圧を3秒ずつサイクリックに表示しています。

5秒毎に液晶表示を更新し、10秒毎にシリアルに出力、5分毎にTwitterに投稿します。

SHT-11もRTCも液晶もEthenetシールドも、大気圧センサ以外はすべてライブラリが整っているので、思いのほか簡単に出来上がってしまいました。大気圧センサの取り扱いに関してはこちらのページがとても参考になりました。
  → Arduinoで遊ぶページ

はじめはブレッドボードで組んでいたのですが、長期間の使用に耐えるようシールドに組み直しました。

スケッチはhttps://bitbucket.org/knakajp/weatherrecorder/srcに置いてあります。回路図は近日中にアップする予定です。

センサ入力のばたつきを誤摩化すために移動平均を取っているあたりをもう少しきれいにできるといいのですが…。

それと、せっかくネットにつながっているのだから、NTPサーバから時刻をもらってRTCの時刻を設定したいと思うのですが、スケッチのサイズが大きくなってしまったのでちょっと難しいかもしれません。そのうちトライしてみたいと思います。

0 件のコメント: