2016-10-02 18 views
0

나는 비교적 새로운 node.js resp입니다. 조니 - 오. 스테퍼를 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!"); 
    }); 
} 

, 당신의 스테퍼 모터는 외부 전원이 있습니까? 간단한 테스트 케이스를위한 배선도와 코드를 제공 할 수 있습니까?