いろいろ事情があって前回からだいぶ間が空いてしまいましが、ようやく考えていた物が形になりました。現在、ファンの制御と状態の取得が安定してできています。サーバー側の作り込みもほぼ終わって、こんな感じでグラフを見ることが出来ます。
工作の最近のブログ記事
熱い、といっても流行ってるという意味ではなくて、本当に熱いのです。Duemilanove&イーサネットシールドでHTTPサーバーのテストをしているのですが、基板の一部が触れないぐらい発熱しています。
特に発熱するのがDuemilanoveのレギュレーター(電圧を下げるIC)です。USBで給電している時は大丈夫なのですが、ACアダプターでDC12Vを給電するとちんちんになります。冗談抜きでヤケドします。
ついでにファンの回転数を取得してみます。PC用ファンは回転に応じてパルスが出力されるので、それをArduinoでカウントして回転数を求めます。
うちの淡水魚飼育水槽では水温が上がりすぎないよう、常にファンを回しています。水槽用クーラーと比べると能力は低いですが、音が静かで消費電力も低いので手軽です。ただ、気化熱を利用しているので水量が激しく減るのが難点です。
拙記事「Arduinoでネットワーク温度計」で温度の測定ができるようになったので、水温に連動したファンのコントロールもやってみたいと思います。
LM35とオペアンプNJM2119Dの組み合わせで問題がないようなので、ブレッドボードに仮組みしている回路をユニバーサル基板に移しました。専用の基板を使えば、そのままArduinoに重ねられるシールドになります。
せっかくなのでブレッドボードの構成を4セット載せました。したがってセンサーは4つまで、順番にアナログ入力0番から3番に繋げられます。とりあえず「LM35×4シールド」とでも名付けておきます。
Arduinoのアナログ入力レンジに合うように、オペアンプを使ってLM35の出力電圧を増幅することにしました。増幅率の調整がセンサーの校正も兼ねることになります。
測りたい水槽の水温がだいたい20~30[℃]なので、25[℃]がレンジの中央(= 2.5 [V])になるように増幅率を調整します。素のLM35は25 [℃]の時に0.25 [V]ですから、増幅率は10倍程度になります。
センサー部分が出来たので実際にArduinoに繋いで温度を測ってみたいと思います。手持ちのアルコール棒温度計と比較して、どれくらい違いがあるのか検証してみます。
マイコンが使えると自作の世界がぐーんと広がるのですが、プログラミングに加えて電子工作の知識も必要だったりしてかなり敷居が高いものでした。以前、水槽の状態(水温とかPHとか)をモニターすることを考えて、Atmel社の「AVR」というマイコンに手を出したことがあるのですが、いろいろと面倒なことが多くて放り出してしまいました。
お道具箱を探してみると埃を被ったブレッドボードが出てきました。何を作っていたのか全く記憶にないのですが電池を繋ぐとLEDが点滅しはじめました。いわゆる「Lチカ」をやったところで挫折したようです。
