RobotCではセンサの戻り値はコンソールの値と基本的に同じですから、 この操作を学んでおくとプログラミングが効率的に行えます。
センサの値を読み取るには?
ここでは各センサの共通操作について解説します。
NXTボタンの左右のボタンで下の図のように『View』を選択し、オレンジのボタンで決定します。
次にこれからテストを行うセンサを指定します。指定はアイコンを選択して行いますが、各アイコンは次の表に示すとおりです。
次にセンサを接続しているポートを指定します。
, (ロータリーエンコーダ)は出力ポートを、それ以外は入力ポートを指定します。
これでクイックテストが実行されます。各センサの結果については、以下の項目を参照してください。
NXTボタンの左右のボタンで下の図のように『View』を選択し、オレンジのボタンで決定します。
次にこれからテストを行うセンサを指定します。指定はアイコンを選択して行いますが、各アイコンは次の表に示すとおりです。
Sound dB |
サウンドセンサ (dB単位で計測) |
Sound dBA |
サウンドセンサ (dBA単位で計測) |
Reflected light |
ライトセンサ (アクティブモードで計測) |
Ambient light |
ライトセンサ (パッシブモードで計測) |
Light Sensor |
ライトセンサ (RCX専用のセンサで計測) |
||
Temperature ℃ |
温度センサ(オプション) (セ氏温度で計測) |
Temperature ゜F |
温度センサ(オプション) (華氏温度で計測) |
Rotation |
ロータリーエンコーダ (RCX専用のセンサで計測) |
||
Motor rotations |
ロータリーエンコーダ (回転数を計測) |
Motor degrees |
ロータリーエンコーダ (回転角度をdegree単位で計測) |
Touch |
タッチセンサ (RCX・NXTどちらも計測可能) |
||
Ultrasonic inch |
超音波センサ (inch単位で計測) |
Ultrasonic cm |
超音波センサ (cm単位で計測) |
次にセンサを接続しているポートを指定します。
, (ロータリーエンコーダ)は出力ポートを、それ以外は入力ポートを指定します。
これでクイックテストが実行されます。各センサの結果については、以下の項目を参照してください。
サウンドセンサ
サウンドセンサは周りの音量の強弱を計測します。計測にはdB(標準デシベル)単位とdBA(調整デシベル)単位があります。 |
下の表に測定結果と周りの音との大体のイメージを示しました。プログラムの際にはこれを参照すると良いでしょう。
表 示 | 音量のイメージ |
---|---|
4〜5% | 静かなリビングルームぐらいの音 |
5〜10% | センサから少し離れた位置で誰かが話しているくらいの音 |
10〜30% | センサの近くで普通に会話するぐらいの音 |
30〜100% | センサの近くで叫ぶくらいの音や大音量での楽器演奏程度 |
100%(90dB) | 芝刈り機の駆動音程度 |
ライトセンサ
ライトセンサは光センサとも言い、明暗の区別・室内の光量測定・着色表面の光度測定を行うことが出来ます。 このライトセンサはアクティブモードとパッシブモードの二つのモードを実行することが出来ます。 |
クイックテストは、投光照明の強さに対する測定量のパーセントで表示されます。 0%に近いと暗いか反射光が少なく、100%に近いと明るいか反射光が多いのです。
アクティブモード
明暗を区別したり、着色表面の光度を測定したい場合は、投光照明をONにしてその反射光を計測します。
アクティブモードの場合は、のアイコンを選択します。
アクティブモードの場合は、のアイコンを選択します。
パッシブモード
周囲の光量を測定する場合には、投光照明をOFFにして周囲の光を計測します。
投光照明の光が反射しない場合には照明をOFFにする必要はありませんが、照明光も測定してしまい誤差が生じるため、あまり好ましくありません。
パッシブモードの場合は、のアイコンを選択します。
パッシブモードの場合は、のアイコンを選択します。
RCX用のライトセンサ
RCX用のセンサを用いる場合には、のアイコンを選択します。
この時、ライトセンサはアクティブモードとなり、表示結果はNXTの場合と同じです。
|
温度センサ
温度センサはNXT付属ではありません。また用いるものはRCX用のものです。尚、今回のチュートリアルでは使用しません。 この温度センサは摂氏と華氏の両方で結果を表示できます。測定可能範囲は-20℃〜50℃です。 |
ロータリーエンコーダ
ロータリーエンコーダは回転角の測定を行うことができます。
NXTの場合では、モータにエンコーダが内蔵されているため、出力ポートにモータを接続すればエンコーダを使用することが出来ます。 NXTのロータリーエンコーダの分解能は 1degree です。 右図のオレンジの部分が回転します。このとき、右図において半時計回りが正の回転方向となります。 |
RCX用のロータリーエンコーダ
RCX用のロータリーエンコーダを用いる場合には、のアイコンを選択します。
このロータリーエンコーダは、分解能が22.5degreeで1回転につき16パルス観測されます。 クイックテストではエンコーダからのパルスの数をカウントし、表示します。 |
タッチセンサ
タッチセンサは右図オレンジの部分が押されているか否かを計測します。スイッチのような役割をすることが可能です。 クイックテストでは、タッチセンサが押されていなければ"0"を、押されていれば"1"を表示します。 |
超音波センサ
超音波センサは物体の認識やそこまでの距離の測定を行うことが出来ます。cm単位とinch単位で結果を表示することが可能です。 このセンサは最大で2.5mまで測定が可能で、誤差は約±3cmです。指向性は30°程度で市販の超音波センサと同様の性能であるといえます。 このセンサを用いる場合、物体は表面の固い大きいものが望ましいです。 薄い,柔らかい,小さいものは測定が困難で、また、ボールのような球体は正確に測定できません。 |