2016-10-02 8 views
0

私は比較的新しいnode.jsです。ジョニー5。 私はステッパーを1000ステップで5回(たとえば)移動しようとしています。johnny-five stepperは(for-loop)へ移動します

ので:

do 1000 Steps in cw ; 
    console.log('ready); 
    do 1000 steps; 
    console.log('ready') 
    ... 

forループでこれを行うためにいいだろう。 例:5回1000ステップを作成します。 は、私は次のコードでこれをやろう:私のCMDで

for (var i = 0; i < 5; i++) { 
    stepper.direction(1).step(1000, function() { 
    console.log("Done stepping!"); 
    }); 
    } 

出力は

Done stepping! 
Done stepping! 
Done stepping! 
Done stepping! 
Done stepping! 

である。しかしモーターは一度だけ移動します。私は本当に理由を理解していない!

誰かがヒントを教えてくれることを願って、 ありがとう!

答えて

-1

私はちょうどコードを書き始めます。 30年経ってから、私は錆びたもの以上になりました。

'for'ループで 'var'を削除してみます。

for (i = 0; i < 5; i++) { 
    stepper.direction(1).step(1000, function() { 
    console.log("Done stepping!"); 
    }); 
    } 

var前にコードで定義する必要があると思います。

あなたが理由を見つけたら、それを投稿してください。私もそれから学ぶことができます。 ありがとう

0

自分で配線しないと、私はあなたの問題はdirection(1)だと思います。 directionのように、ある方向にモーターポイントを作るようです。したがって、あなたのループは同じ方向を5回指すようにモーターに指示します。

stepper()の内側に、いくつかの異なる値を設定したり、ループ内でi1を交換してみてください:この問題が解決しない場合は

for (var i = 0; i < 5; i++) { 
    stepper.direction(i).step(1000, function() { 
    console.log("Done stepping!"); 
    }); 
} 

は、あなたのステッピングモータは、外部電源を持っているのですか?シンプルなテストケースの配線図とコードを提供できますか?

関連する問題