これまで散々、NXTのモーターについて「大きすぎる」とか「変な形」とか文句を言ってきました。
しかし、NXTのモーターにはサーボ機能が付いていて回転数が分かったり、回転数を指定して回転させることができたり、高性能であることも認識しています。
逆に言うと、サーボ機能を使わないのであれば、あんな変な形のモーターを使う必要が無いですね。
じゃあ、NXT本体にRCX用のモーターを接続してみたらどうなるでしょう。
サーボ機能は使えなくても、ある程度の速度制御が使えれば、NXT本来の高性能と、RCXモーターのコンパクトさが生かせるのではないでしょうか?
ということで、早速、NXTにRCXのモーターを接続してみました。
task main( )
{
OnFwd( OUT_AC,100 );
Wait( 2000 );
OnFwd( OUT_AC,75 );
Wait( 2000 );
OnFwd( OUT_AC,50 );
Wait( 2000 );
OnFwd( OUT_AC,25 );
Wait( 2000 );
Off( OUT_AC );
}
こんな、プログラムを作って、動作させてみると・・・
ちゃんと、速度制御もできるし、25%の出力でもなんとか傾斜路を進みます。
(モーターへの通電がなくなった時点で、傾斜路を下りはじめますけどね。)
単純にRCXをNXTに置き換えただけでも、センサーの入力ポート数が増えるのでメリットは有ると考えています。 やろうと思えば、I2Cで接続してセンサーを何十個も使えるし・・・
(でも、NXT本体も微妙に大きいのですよね。)