ブラックボックスにおんぶに抱っこでいいのだろうか、というそこはかとない危惧

現状、マイコンでもっとも手軽に湿度データを取得できるソリューションのひとつである Sensirion SHT-xx シリーズ(SHT-11, SHT-71 など)。調整済みセンサの値をシリアル通信によって取得できるのは、個人で校正することがほぼ不可能な湿度計測において非常にありがたいことであるといえる。

しかし、 SHT-xx のシリアル通信は I2C 準拠ではないらしく、IDE(統合環境)搭載のデフォルトのライブラリで気軽に、というわけにはいかないようである。やはり、何故か異様に敷居の高い湿度計測。
しかし、そこはそれ、探してみたら、専用のライブラリを公開している人がいるようだった。それを使用して(日本でも)実際にドライブしてみている人もいる。流石は Arduino

ですが。
ダウンロードして試してみたところ、コンパイルが通らない。
Arduino のバージョンアップに対応していないのかも、とも思ったが、アーカイブの中のファイルを見る限りにおいては、どうやら、未完成状態のフォルダがアップロードされてしまっているように見受けられる(*.c ファイルと *.h ファイルの数が一致していない上に、頭文字がアンダーバーのファイルが含まれている)。いわゆる「先祖がえり」というやつかもしれない。これはもう、私レベルではどうしようもない。


さて、どうしたものか。


…で、探してみると、あるものだ。上記のもののほかに、あと 2箇所、SHT-xx 用ライブラリを作って公開しているところがあった。そのうち 1箇所は、無事コンパイルも通る*1。同梱のサンプルプログラムも動いた。どうやら、使えそうである。

流石、Arduino
でも、このライブラリが中な何をやっているのかわからないということについては、何もかわりはしない。自分でライブラリが書けるぐらいになれるかどうかは不明だが、他の人の作ったライブラリを見て大体何をやっているかぐらいはわかるぐらいでないとまずいな、とは思った。とりわけ、数値演算を中でしている場合には、どこでどう精度(有効数字)が落ちているかぐらい把握しないと、出力結果に信頼が持てない。


何より、他人様の作成したライブラリが今後永続的にサポートされるとは限らないわけで。


自分で書けるようになりたいよね。やっぱり。

*1:あと 1箇所はここ。→ http://www.arduino.cc/playground/Main/InterfacingWithHardware
…ってこれ、公式サイトじゃないか。
緩いなぁ。