Re: The history of "M&Y"

Team "M&Y" and "花鳥風月"
the soliloquy of the father
毎日更新!

NXTねた その61 NXTとArduinoを接続する

2010-10-21 | NXTねた

これ、NXTねたなのか、Arduinoねたなのか迷いますが・・・(そんなことで悩むな!)

目的は、NXTに接続するセンサーを増やすことです。

Arduinoに複数のセンサーを接続して、そのセンサーをNXTから制御しようという考えです。

きっと、出来て当たり前なのですが・・・自分でやってみることに意義がある・・・と勝手に決めました。

NXTとArduinoの間の接続は勿論I2Cです。

じゃあまずは、NXTからコマンドをArduinoに送るところからやりたいと思います。


NXT側では単にコマンドをI2Cに送ります。

   SetSensorLowspeed ( IN_1 );

   I2CWrite( IN_1 , 2 , Wbuf  );
単純に、こんな感じです。

Arduino側は、

void ReceiveEvent( int num ) 
{
  int i,d;
  for( i=0 ; i<num ; i++ )
  {
    d = Wire.receive( );
  }
}

void setup()
{
  Wire.begin( I2C_ADR );
  Wire.onReceive( ReceiveEvent );
}
こうすると、変数dにNXTが送り出したコマンドが読み込まれます。

余計な解説をすると・・・

NXTからのデータを受信すると、ReceiveEventが実行されます。 そのときに、NXTから送られたコマンドの数がパラメータとして渡されます。 そのコマンドの数だけ Wire.receive( ) でデータを読み出します。


これで、NXT⇒Arduinoの一方通行は可能になったのですが・・・

逆が・・・できません。

まだまだ研究が必要なようです。 orz

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 中学校でいっしょの・・・ | トップ | 掘っ立て小屋よさらば!? »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

NXTねた」カテゴリの最新記事