どうやらブームの兆しが出てきた様です。あちこちで「Arduino(アルドゥイーノ)」という言葉をみかける様になってきました。Lチカから始まって、もっと独創的なアイディアも考えられている様ですが、必ずしもハードウェアエンジニア的な知識がある人だけが手にとっている訳ではなさそうです。Arduinoが非常に購入しやすい価格で売られている&わかりやすい解説が多く出まわっている成果でしょう。
こういう機器は、いわゆるデジタル制御なのでデジタル機器と一括りにされがちですが、接続するセンサー類は、ほぼ間違いなく「アナログ」な素子だったりする訳です。例えば温度センサー(サーミスタ)にしても、温度変化によって抵抗値が激しく変化するアナログ素子です。その変化をデジタル値に変換する機能がArduinoには備わっているので、適切な電流値になる様、抵抗器と合わせて接続するだけで良いのです。
厳密に言えば本当はアナログ回路的な知識が必要です。電流を適正値に制御してやらないと最悪破損してしまいます。しかしちょっとしたコツというかルールを覚えてしまえば、Arduinoに色々なセンサー素子を接続して、それをデジタル値に変換して使用することが簡単にできちゃいます。
しかし課題もあります。絶対的な値(例えば摂氏15.6度)と言う値を正確に検出しようとすると、センサー素子と、Arduinoのアナログ値->デジタル値変換の部分でチューニングが必要です。校正と言った方が良いかも知れませんが、信頼出来る温度計で計測しながら、個体差による誤差を調整する手間が発生する訳です。素子によってばらつきもあります。過去に多くの計測器を扱う仕事をしてきましたが、絶対値を正確に計測しなくてはならない用途では、この校正が欠かせないものです。法令点検に使用する計測器は年に一度、認可を受けた機関で校正しなくてはならないなんていう決まりがあったりもします。
しかし、ざっくりとした値がわかれば良い。また絶対値ではなく、相対値であれば校正など必要ありません。基準となる値からどれだけ変化したか?という事がわかれば良いのですから、それはプログラミング次第といったところでしょう。強いて言えば、サーミスタの場合なら、1度の変化で何ステップ値が変化するか?といった情報は把握していないと温度センサーとしてのプログラミングは出来ないかも知れません。これがピンと来なくても実際にやってみると何を言っているのかご理解いただけると思います。