2016-10-02 59 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!"); 
    }); 
} 

如果这没有帮助,贵步进电机有一个外接电源?你能提供一个简单的测试用例的接线图和代码吗?