統合室内環境センサー

PICマイコンのプログラミング面白いですね。面白いけど難しい。
まずデバッグのやりにくさ。今までなら普通にログ仕込んで、printやらsyslogやらで、、、となりますがマイコンの世界となるとまずコンソールつなげるまでが一苦労ですしprintfすらも使えない。
しかしその分、動いたときは「キター!」の喜び倍増です。

今週末は、前々から構想を描いていた “統合室内環境センサー” の作成です。
名前だけは立派ですが、ただ気温・湿度を測るだけ(苦笑)
どの辺が”統合”かというと、音声合成ICをつけてしゃべらせるのと、LCDのバックライトを自動でOFFにし、手をかざすとONにするというあたりが。

一番苦労したのが、肝心の気温・湿度センサーのDHT-11を動かすまでです。
これ、1本の入力PINで全てのデータをまかなえ、A/Dコンバートも不要なんですが、いかんせんタイミングがシビア過ぎてなかなか意図通りに読めません。ラズパイ用のPythonプログラムだとゴリゴリ書いてあったので、マイコンならもっとタイミングが正確で楽に書けるかと思ってました。
最初は、I/O割り込み(IOC)使うのにうってつけかと思って、カッコつけて割り込みルーチンをバリバリ書いてたんですけど30ビットくらいしか読めなくて、なんでじゃー!と時間がすぎるばかり。
結局最後は、他の人のコードを参考にするはめに。ループの書き方一つでもタイミングがずれたり。エレガントに書こうとするとかえって動かないようで、マイコンの世界は難しい。