首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >johnny-five步进(for-loop)

johnny-five步进(for-loop)
EN

Stack Overflow用户
提问于 2016-10-03 03:43:02
回答 2查看 491关注 0票数 0

我在node.js方面还是个新手。强尼-5号。我试着用1000步移动一个Stepper 5次(例如)。

所以:

代码语言:javascript
复制
   do 1000 Steps in cw ; 
   console.log('ready); 
   do 1000 steps;
   console.log('ready')
   ...

如果能在for循环中实现这一点,那就好了。例如:5次做1000步。我试着用下面的代码做到这一点:

代码语言:javascript
复制
  for (var i = 0; i < 5; i++) {
    stepper.direction(1).step(1000, function() {
    console.log("Done stepping!");
    });
  }

我的cmd中的输出是

代码语言:javascript
复制
Done stepping!
Done stepping!
Done stepping!
Done stepping!
Done stepping!

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

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

EN

回答 2

Stack Overflow用户

发布于 2017-02-15 05:51:32

如果我自己不连接一个,我认为您的问题是:direction(1)。看起来像是direction使马达指向某个方向;因此,您的循环告诉马达指向同一方向5次。

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

代码语言:javascript
复制
for (var i = 0; i < 5; i++) {
   stepper.direction(i).step(1000, function() {
   console.log("Done stepping!");
   });
 }

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

票数 0
EN

Stack Overflow用户

发布于 2016-10-12 00:42:47

我刚刚开始重新开始写代码。已经过了30年了,所以我不只是生疏了。

尝试删除'for‘循环中的'var’。

代码语言:javascript
复制
 for (i = 0; i < 5; i++) {
    stepper.direction(1).step(1000, function() {
    console.log("Done stepping!");
    });
  }

我认为需要在代码中更早地定义var。

如果你找到了原因,请把它贴出来,这样我也可以从中学习。谢谢

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39820959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档