2016-10-02 8 views
0

Я относительно новый в node.js соответственно. джонни-пять. Я пытаюсь переместить Stepper (пример) 5 раз с 1000 шагов.johnny-five stepper move in (for-loop)

Итак:

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

было бы неплохо, чтобы сделать это в цикле. Пример: в 5 раз сделать 1000 шагов. Я пытаюсь сделать это с помощью следующего кода:

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 лет, поэтому я более чем ржавый.

Попробуйте удалить 'var в цикле' for '.

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

var Я думаю, что в коде должен быть определен ранее.

Если вы обнаружили причину, почему, пожалуйста, опубликуйте его, чтобы я мог учиться у него тоже. Thanks

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!"); 
    }); 
} 

Если это не помогает, делает ваш шаговый двигатель имеет внешний источник питания? Можете ли вы предоставить схему подключения и код для простого теста?

 Смежные вопросы

  • Нет связанных вопросов^_^