TJ3でのポート値の読込速度について調査したので、NXTでもやってみました。
感覚的には・・・遅いぞ!NXT! という感じですね。
NXCで10万回ループの中に i=SENSOR_1; を入れて実行すると 31秒でした。
次に、ループの中の i=SENSOR_1; をコメントにして実行すると、25秒でした。
そうすると、10万回のポート値の読み出しに6秒掛かったことになります。
つまり、1回のポート値の読み出しに、 0.00006秒 掛かります。 (60μ秒)
TJ3に比べて50倍の時間が掛かる・・・というところでしょうか。
こちらも、光センサーだろうが、タッチセンサーだろうが関係無い様です。
しかし、超音波センサーはI2C接続なので、10万回ループでは全然終わらず・・・1000回ループで30秒でした。
ちなみに、超音波センサーを使用する場合には、
SetSensorLowspeed( IN_1 );
で、ポートの使用宣言をして、
i = SensorUS( IN_1 );
というように値を取得します。
結局、超音波センサーは、一回の読み出しに、 0.03秒 掛かりました。(30m秒です。 遅い!)
ついでに先日入手したジャイロセンサーを接続してみると・・・
やっぱり、他のアナログセンサーと同様ですねぇ。
RCXなんてもっともっと遅いと思うのですが・・・LEGOの時代の終焉は近いのでしょうか?
豆知識
「ジャイロセンサー」は和製英語だそうで、正しくは「ジャイロスコープ」だそうです。