以前、買った、手の平サイズのマイコン「
Arduino(アルデュイーノ)」。
→ 後日改造。「
ArduinoのUSB直差し化!」
ネットを見ると、例えば部屋の温度や明るさを自動測定して、LAN経由でTwitterに「暑いなう」「朝だなう」等とつぶやくなど、いろいろな回路が紹介されています。
マイコンなので、イーサネット・ボードを組み合わせたり、ライブラリーを追加すると、いろいろな事ができちゃうのが、「Arduino」の面白いところ!
そういうマニアックな世界も面白そうだけど、もっと身近な所にも、マイコンの使い道はあります。
今回は、とってもシンプルなデータロガーを作ってみました。
簡単な温度ロガーを求めて
データロガーとは、センサーなどの入力機器からの情報を、継続的に計測・保存してくれる装置。
例えば、人間が10分おきに、何かのデータをノートに書いていく。というのは、大変だし、単調過ぎて眠くなります。
でも、マイコンだったら朝飯前。キッチリとデータを記録し続けてくれます。
僕はよく、パワーLEDを扱いますが、ある条件で過熱し過ぎないかなど、簡単に記録できる方法は無いか、ずっと探していました。
専用の温度ロガーを買うと、結構な価格がするんです。
自分で作れたら、いろいろ応用が効くし、なんと言っても面白そう!
「Arduino」は、そんな願いもかなえてくれる、マイコンなんです。
見つからないスケッチ
「Arduino」のプログラムは「スケッチ」と呼びます。
C言語に似た記述でプログラムを書いていくのですが、すでに大勢の方がスケッチを公開されています。
初心者でも、それをコピーして改造する事で、自分なりのプログラムを短期間で作る事も可能‥。
これは、ネット社会の便利さですね。
が、しかし。いろいろ検索してみても、温度ロガー単体のスケッチが、意外と見つからないのです。
(スケッチを公開している皆さんは、さすがに腕に自信の方ばかりなのか、いろいろ難しい機能を追加されています)
困った。
僕みたいな初心者は、まず「簡単でちゃんと動く!」スケッチから始めたい所なんですが‥。
スケッチを改造
それでも、ようやくL
M35という温度センサーを使ったシンプルなスケッチを見つける事ができました。
→ 「
ArduinoとLM35温度センサー」
で、ふと引き出しを探してみると、僕の部屋にも同じICのストックがありました。(ラッキー! )
以前、秋月電子でパワーLEDと一緒に発注しておいたものです。
さっそく、上記のスケッチをお借りして、改造していきます。
改造はほんのちょっとですが、これで、自分が欲しかった仕様が完成しました。
手作り! 温度ロガー、完成
左は、10秒毎に、対象の温度を記録していくロガーの様子です。
Arduino(アルデュイーノ)にスケッチを書き込んで、3本足のセンサーIC「LM35」をブレッドボードに配線すると、できあがり。
シリアルポートから、10秒毎に送られてくるデータをパソコンの画面に表示する事ができました。
データはタブ区切りにしているので、コピーしてエクセルにペースト。
グラフ化したのが下の画像。
ノートパソコンの排気口近くにセンサーを置いて、温度を計測してみたものです。
グラフが細かく動いていますが、それでもデータの振れは1℃程度。
今回は温度だけですが、各種センサーを交換すれば、湿度や照度、気圧等も(同時に)PCに記録していく事が可能です。
実際のスケッチ
#define INTERVAL 10 //更新間隔(約 x秒)
int analogpin0 = 0; //analog0に入力
int data = 0;
int summary = 0;
int i,t_1,t_2,time_m,time2,time_h;
long time;
double t_value; //temperature value
void setup() {
analogReference(INTERNAL); //use internal 1.1v reference
Serial.begin(9600);
}
void loop() {
summary = 0;
for(i=0;i