我が家にあったNXT用のコンパスセンサーをMはシンガポール世界大会の時に無くしてしまいました。
じゃあ、早速買いましょうかねぇ。
なんて考えていたのですが・・・
NXT用ではなく、普通のコンパスモジュールが使えるか確認してみました。
NXTのデジタルセンサーはI2C(あいすくえあどし~)なので、I2Cのセンサーモジュールなら簡単に接続できるのではないかと・・・安易に考えていました。
しかし、接続はそんなに簡単なものではありませんでした。
とりあえず、HMC6352 コンパスモジュールを接続してみました。
で、単純にI2Cでの通信プログラムを作成して、読み出すと・・・
あれっ、意外と簡単に読み出せるよ・・・2バイトの数値で0~3599の数字が返され、0.1度刻みで角度がわかります。
おぉすごい!
と思っていたら・・・3秒くらいでエラーになってプログラムが停止しちゃいます。
ダメじゃん。
いろいろやっても、3秒間くらいは方位を読み出せるのですが、その後に「FileError」で止まってしまいます。
で、原因究明のために、1ステップずつ表示させたりしていたら・・・単にデバイスがBusyになっていただけでした。 Busyが解除されるまで待つようにしたら、読み出しを継続できるようになりました。
こんな、単純なことをするだけに・・・どんだけ掛けてんだよ!
でもとりあえず、一般に売られているI2Cセンサーが接続できることがわかりました。
今度は、別のセンサーが接続できるか確認してみます・・・。