NXTプログラミング(8)


今回は、各センサーの値の取得。


まず、アナログセンサーに関しては、以下のようにすれば、そのセンサーの値が入力できる。



// ポート1に接続されている場合
NxtGetInputValues r = nc.GetInputValues(NxtSensorPort.Port1);

あとは、この戻り値の r.RawADで生のデータがとれる。(キャリブレーションしたデータもとれるが、RawADで十分だろう。)


事前にセンサーのタイプを設定しておいたほうが、適切な値が返ってくるが、別に設定しなくと値自体はそれなりのもの(?)が返ってくる。


光センサーは、光センサーの先端にあるLEDは1cmぐらいの近距離の色を読みとりたい場合はLEDを点灯させておいたほうが良い。LEDの点灯は以下のようにする。


// LEDをつける場合
nc.SetInputMode(NxtSensorPort.Port1, NxtSensorType.LightActive, NxtSensorMode.Raw);

// LEDを消す場合
nc.SetInputMode(NxtSensorPort.Port1, NxtSensorType.LightInactive, NxtSensorMode.Raw);

ここまでは簡単である。音センサー、接触センサー、光センサーはこれでok。
距離を測定する超音波センサーだけが違う。次回はこの説明。