Arduinoで作る簡易百葉箱(その3)湿度センサーの習得、そして電池で動かしてみる。Plus電子デバイス・電子工作用語集モータドライバ博士のQ&A読者よりいただいたお問い合わせを元に、ロボット製作者、エンジニアのみなさんに役に立つ技術解説を発信していきます。Plus電子デバイス・電子工作用語集モータドライバ博士のQ&A読者よりいただいたお問い合わせを元に、ロボット製作者、エンジニアのみなさんに役に立つ技術解説を発信していきます。Arduinoで作る簡易百葉箱(その3)湿度センサーの習得、そして電池で動かしてみる。簡易百葉箱を作ってみる回も、今回で3回目。Arduinoの扱いもだいぶ慣れてきました。前回は7セグメントLEDを使って表示部分のノウハウを身につけましたが、今回はまた百葉箱の主要な機能である湿度センサーを実装し、実際に利用する際に使い勝手を良くする為に、Arduinoにつなぐ線の簡略化を行ってみたいと思います。仕様を振り返る実際に作業に取り組む前に、作ろうとしている簡易百葉箱の仕様を再度確認してみます。簡易百葉箱に対する要望(仕様書)インターネットを通じてPC上からいつでも数値を確認したい→イーサネットモジュールなどを利用してLANで百葉箱をつなぐ色々な所に置きやすいようにPCにつなげなくても独立して動くようにしたい→Arduinoの給電をUSBではなくACアダプターや電池での給電に変更さらに百葉箱につなぐ線もできるだけ減らしたい(可能であれば全ての線をなくしたい)→上記2の方法で電源コードを減らす、LANケーブルを無線LAN化するなどしてケーブルフリーにする等PCだけでなく直接数値を確認したい、PC上ではグラフとかで推移を確認したい→ディスプレイをつけて本体に数値を表示する等サイズをコンパクトにしたい→ブレッドボードではなく基板に半田付けしてサイズを小さくする、もっと小さいサイズのArduinoを利用する等これまでの仕様では上記にあげた機能を簡易百葉箱に実装を行う予定ですね。湿度センサーは上記にあげるまでもなく百葉箱の基本仕様となります。項目2,3については、今回ACアダプターや電池での駆動によってクリアすることができますね。CHS-UGR今回は始めに湿度センサーの使い方を習得してみます。いっても、今回使う湿度センサーはとても扱いやすいものですので、難しい知識は必要ありません。今回利用する湿度センサーCHS-UGRはDC.1V出力で100(%)RHを表示する仕様となっています。Arduino上のアナログ入力値が205の場合、湿度が100%とということになります。その仕様をもとに回路を組んでみます。tempC}ブレッドボード上の回路もプログラムもシンプルだということがわかるかと思います。プログラムに関しても、基本的には温度センサーと同じアナログ入力値を読み取り、湿度センサーの特性を考慮して数値を修正し、データの取得が可能になります。湿度センサーの特性ではアナログ値に0~205(205以上は全て100%にします)の値が入力されてきますので、赤文字で記載した部分に該当する関数を作成します。実際にArduinoを動かすとシリアルモニタには下記のように表示されると思います。湿度センサーに手を近づけたり息をはくと湿度を感知して数値が変わるのが確認できると思います。温度、湿度を両方表示するこれで温度センサー、湿度センサーの両方の扱いがわかったということで、ブレッドボード上に両方のセンサーを配置して両方の数値が取得できるようにしてみます。tempC;}アナログピンの0番目に温度センサー、1番目に湿度センサーの値を取得できるようになりました。前回の7セグLEDを利用して交互に温度、湿度を表示できるようにしてみましょう。tempC;}このプログラムでは、基本的にこれまでの7セグLEDの表示プログラムにアナログの値を渡している内容ですが、今回温度・湿度を交互に表示したいので、_switchFlgをフラグとして一定時間でtrue/falseを切り替えることで_numberに温度・湿度が交互に代入されるようにしています。0.01秒ごとに_cntを加算させていき、_cntが100になった場合に_cntを0に戻して_switchFlgの状態を切り替えているので、0.01秒×100で1秒ごとに切り替が実行されます。他の電源で動かしてみるここまでこれば、ようやく百葉箱の中身として機能がそろいましたね。次にArduinoを他の電源で動かしてみましょう。これまではパソコンとUSBケーブルをつないでArduinoを動かしていましたが、これまで説明した通りプログラムはArduinoに書き込まれていますので、電源だけ確保できれば単独で動作します。実際にはどれくらいの電力をArduinoに提供できれば良いのでしょうか。UNOの入力電圧は仕様(http://arduino.cc/en/Main/ArduinoBoardUno)では最低限必要な動作電圧は5V、標準電圧は7〜12Vとなっています。今回はACアダプターおよび9V電池をArduinoの電源として利用してみます。ACアダプターでArduinoを動かしてみるACアダプターでArduinoを動かす場合、Arduinoについているアダプタージャックに接続するだけでArduinoに電源が提供されて動きます。9V電池でArduinoを動かしてみる9V電池でArduinoを動かす場合は同様に電池ボックスがArduinoのジャックに対応していればACアダプターと同様ジャックに接続するだけですが、線の場合は、ArduinoのVinポートにプラス、GNDにマイナスをつなぐことで電源を供給できます。乾電池と比べるとArudinoの小ささが際立ちますここまでの仕様を確認しましょう。インターネットを通じてPC上からいつでも数値を確認したい色々な所に置きやすいようにPCにつなげなくても独立して動くようにしたいさらに百葉箱につなぐ線もできるだけ減らしたい(可能であれば全ての線をなくしたい)PCだけでなく直接数値を確認したいサイズをコンパクトにしたいこれで当初目的としていた簡易百葉箱の仕様がほぼそろいました。ここまでできた状態で手元にちょうどスマートフォン用のスタンドクリップがあったのでそれを使って簡易的に設置してみました。おぉ、立ててみると基板がむき出しでかっこいいですね(笑)ただ、これじゃすぐ線は抜けそうだし、Arduino本体は線のみでつながっている状態・・・、そもそもぶつかったらすぐ壊れてしまうこと間違いなしです(笑)。こんな状態では完成というには程遠いので、次回はこれまでの実装をもとに外箱を含めて簡易百葉箱を完成させたいと思います!赤川シホロ電子工作や新しいデバイスをこよなく愛するエンジニア。日常生活のちょっとしたことを電子工作で作って試して、おもしろく過ごしたいと日々考えています。