Re: The history of "M&Y"

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

NXTねた その96 Gyro その2

2012-11-11 | NXTねた

前回は、長い「たわごと」で終ってしまったので、今回こそは「NXTねた」にしたいと思います。

今回使うセンサーは HiTechnic社のGyroセンサーです。

(基本です・・・かね!?)

このセンサーは、NXTとはアナログ接続のようで、値の読み取りが早いそうです。


まずは、このプログラムを動かしてみます。

task main()
  {
  SetSensorHTGyro(S1);
  int i;
 
  while(true)
    {
    Wait(1000);
    i=SensorHTGyro(S1,0);
    TextOut(0,LCD_LINE1,"    ");
    NumOut(0,LCD_LINE1,i);
    }
  }

センサーを使う場合の宣言が SetSensorHTGyro( ) です。 カッコの中はセンサーを接続するポート番号を入れます。

センサーからの読み出しは SensorHTGyro( ) 関数を使います。 カッコの中の第一パラメータはセンサーを接続するポート番号で、第二パラメータはoffset と呼ばれるものです。 (これはあとで説明します。 とりあえず、最初は「0」を入れておきます。)


プログラムを実行すると、何やら数値が表示されます。

1秒毎に数値が表示されるハズなのですが、数値はそうは変わらないと思います。

ジャイロセンサーは温度などに敏感に反応するので、そのときの環境で出力の値が微妙に変化するらしいです。

そのため、使う前に、いわゆる較正が必要です。

このプログラムは、較正するための値を出力します。

私の手元では 「-8」が表示されました。


では、この数値を先ほど出てきた offsetのところにセットします。

    i=SensorHTGyro(S1,-8);

このように変更して、プログラムを実行すると「0」が表示されます。

(多少の誤差があるので、たまに「-1」や「1」が表示されます・・・)

これで準備が整いました。


センサーを回転してみます。

右回りに回転すると、正の数値が表示されます。

でも、回転を止めると・・・また「0」に戻ります。

逆回転(左回転)すると、マイナスの数値が表示されます。

つまり、回転すると数値が増えたり減ったり・・・止めると「0」

これが角速度です。

停止しているときは角速度は0

右回転をすると角速度が正の値

左回転をすると角速度はマイナスの値


今度は、プログラムを少し進化させて、以下のように修正します。

task main()
  {
  SetSensorHTGyro(S1);
  int i,j=0;
 
  while(true)
    {
    Wait(1000);
    i=SensorHTGyro(S1,-8);
    j+=i;
    TextOut(0,LCD_LINE1,"   ");
    NumOut(0,LCD_LINE1,i);
    TextOut(0,LCD_LINE2,"   ");
    NumOut(0,LCD_LINE2,j);
    }
  }

これで、変数j には、ジャイロセンサーの値が累積されます。

LCDの1行目は、ジャイロセンサ-の値(角速度)

LCDの2行目は、角速度の累積した値が表示されます。


では、実行してみます。

最初は、1行目も2行目も「0」が表示されています。

ゆっくりとセンサーを右に90度回転します。

途中で1行目の数値が「15」とか「20」とか表示され、2行目にはどんどん加算されていきます。

90度回転したところで止めると・・・

1行目は「0」に戻り、2行目には「80」位の数値が表示されます。

今度は、左にゆっくり回転してセンサーをもとの方向に戻します。

1行目の数値は「-10」とか「-20」とか表示され、2行目の数値はどんどん減ります。

元の方向に戻ったら(90度左に回転し終わったら)停止します。

再び1行目の数値は「0」に戻ります。2行目は・・・「0」ではないけど、「0」に近い数値が表示されていますね。

この、2行目に表示された数値が、「角速度を積分した角度」に相当する値になります。

このプログラムのループは1秒なので

    j+=i;

は、正確には

    j+=i*1;

となります。

変数i は角速度、数値1は時間(1秒間)

だから、変数j には、角速度×時間 の累積が格納されます。

これが積分! って、気が付くと数学が楽しくなる・・・カモ!


続く・・・

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« NXTねた その95 Gyro | トップ | Truth通信 »
最新の画像もっと見る

コメントを投稿

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

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