Header Ads

デジタルコンパスからの出力をレーダー表示する


Arduinoでデジタルコンパスからの値をatan2を使ってラジアン角に変換しシリアル出力します。それをProcessingで受け取ってセンサーを動かした分だけレーダーのように動かします。








先にやっておく

  • [head]#include <Wire.h>
  • [head]#define addr 0x1E
  • [先にやっておく] Wire.begin();Wire.beginTransmission(addr);Wire.write(0x02);Wire.write(0x00);Wire.endTransmission();

ずっとやる

  • [ずっと]int x,y,z;Wire.beginTransmission(addr);Wire.write(0x03);Wire.endTransmission();Wire.requestFrom(addr, 6);   if(6<=Wire.available()){x = Wire.read()<<8;x |= Wire.read();z = Wire.read()<<8;z |= Wire.read();y = Wire.read()<<8;y |= Wire.read();  }
  • [ずっと]double _ABVAR_1_t = atan2(x,y);
あとは<t>で角度が取り出せますからシリアル出力します。[待つミリ秒<で更新間隔を決めます。50くらいがいいでしょう。
あとはこのシリアル出力を受けて動くProcessing です。<Serial_Rader.zip>










Powered by Blogger.