インテリジェントブロック内でプログラムがどれくらいのスピードで動くのか、検証してみました。
検証用のプログラムです。NXTソフトウェア2.0で作りました。
これを実行してから、10秒後に入力(ENTER)ボタンを押す。
すると、10秒あたりのループ回数=センサの測定回数が分かるというわけです。
ただし、手動なので、誤差が出てしまいます。
まず、ポート1に光センサを接続して、10秒後にボタンを押すと、およそ「11000」と表示されました。
10秒間のループ回数は11000回。ループ1周あたりの処理時間は約0.90ミリ秒ということになります。
さらに、光センサのブロックを「超音波センサ」に取り替えて、同様に測定してみました。
結果はおよそ「8600」。ループ1周あたりの処理時間は約1.16ミリ秒ということになります。光センサのブロックより0.2ミリ秒ほど時間がかかってます。
最後にセンサのブロックを除いた状態で、測定してみました。
結果はおよそ「18800」でした。ループ1周あたりの処理時間は約0.53ミリ秒となりました。
そして、先ほどの結果から差し引くと、ブロック単体の処理時間が求められます。
「光センサ」ブロック1個あたりの処理時間:約0.37ミリ秒
「超音波センサ」ブロック1個あたりの処理時間:約0.63ミリ秒
、、、という結果になりました。
この方法を使えば、他のブロックの処理時間をアバウトに求めることができそうです。