こいつは、方位センサーばっかり、幾つ持っているんだよ!
と、しつこく方位センサーねたです。
おもちゃから方位センサーを取り出す話を、前に書きましたが・・・
その「おまけ」です。
ネットで、おもちゃ(トレジャーガウスト)の中にHM55Bが入っていることを知り、早速ネットで探しました・・・そうしたら・・・Amazonで普通に300円で売っていました。
(何で、そんなに安いの?)
まあ、良く判らないけど、安いからという理由で4個買いました。
家に届いてから、さっそく1個を分解してみると・・・
違う! HM55Bじゃない!
ガックシ、orz
確かに、方位センサーらしき物体が入っていたのですが、それは端子も5個しかなく、明らかにHM55Bではありませんでした。
チップには、A204 7112 と書かれていました。
・・・残念ながら、これ以上は手も足も出ずに、そのまま放置されていました。
しかし、時の流れは、私に幸運をもたらしてくれるようです。
つい最近、ネットをさまよっていたら・・・わたしと同じ挫折を味わった人が(けっこう)いたようです。 棄てる神あれば、拾う神も居る・・・らしいですねぇ。
A204の正体が判りました。
愛知製鋼株式会社の電子コンパス AMI204 というものらしいです。
で、仕様を見る限り・・・HN55Bのアナログ版という感じです。
使い方はとっても簡単です。
XYin:H で CS:L⇒H にすると、OUTにX方向の磁気センサーの値がアナログで出力されます。 同様に XYin:L で CS:L⇒H にすれば、Y方向の磁気センサーの値が出力されます。
この2つの出力を使って、方位を計算する・・・らしいです。
じゃあ、実験してみましょうかねぇ。
これも、3V仕様のようなので、3端子レギュレーアで5Vを降圧して3.3Vを供給します。
プログラムはこんな感じです。
int x,y;
digitalWrite( XYin,HIGH );
delay( 1 );
digitalWrite( CS,HIGH );
delay( 1 );
x = analogRead( OUT );
digitalWrite( XYin,LOW );
delay( 1 );
y = analogRead( OUT );
digitalWrite( CS,LOW );
とっても簡単ですねぇ。
でも、これでは、2組の磁気センサーの値を読み込めただけです。
ここから、方位を計算します・・・
でも、疲れたので今回は終わり。(てへっ)