0

我在 node.js 中相对较新。约翰尼五。我正在尝试以 1000 步移动步进器(例如)5 次。

所以:

   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!

但是电机只移动一次。我真的不明白为什么!?

希望有人能给点建议,谢谢!

4

2 回答 2

0

如果没有自己接线,我认为您的问题是:direction(1). 似乎direction使电机指向某个方向;因此,您的循环告诉电机指向同一方向 5 次。

尝试在内部设置一些不同的值,或者在循环中stepper()替换1为:i

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

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

于 2017-02-14T21:51:31.977 回答
-1

我刚刚开始重新开始编写代码。已经30年了,所以我已经生锈了。

尝试在“for”循环中删除“var”。

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

var 我认为需要在代码的前面定义。

如果您找到了原因,请发布它,以便我也可以从中学习。谢谢

于 2016-10-11T16:42:47.443 回答