2016-10-02 62 views
0

我在node.js和resp中比較新。約翰尼五。 我試圖用1000步移動步進器(例如)5次。johnny-five stepper move in(for-loop)

所以:

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

這將是很好,使這個在for循環中。 例如:5次製作1000個步驟。 我嘗試用下面的代碼來做到這一點:

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

在我的CMD輸出是

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(),或在循環與i更換1

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

如果這沒有幫助,貴步進電機有一個外接電源?你能提供一個簡單的測試用例的接線圖和代碼嗎?