humhumhum 发表于 2013-11-3 18:36:57

請教各位先進AccelStepper的問題..無法Delay...或是依照需求移動

各位前輩您好,我研究AccelStepper一段時間,在網路上找尋了很久AccelStepper的教程,但是始終都是教機器在左右來回轉...

我想做一個編程,先定義A步數,接著定義循環次數B。我研究了一下AccelStepper,發現只有.runToNewPosition()這個函數可以轉到指定的步數,但是邏輯上似乎這是不太正確的用法,我感覺。我想請問一下有沒有其他用AccelStepper不同的寫法可以達到相同目的的...我研究老半天始終看不懂.怎麼讓馬達依照自己定義的距離前進.例如跟他說前進500步停一秒再前進1000步,然後後退200步?除了用絕對性的定義有沒有用相對性的定義方法呢???謝謝大家。

以下是我學習的案例修改後的編程
/*
@Author: TONYLABS
@Date: 2013/01/22
*/

#include <AccelStepper.h> //@引入 AccelStepper 库头文件

AccelStepper stepper(1, 9, 8); //@声名一个 AccelStepper 对象:stepper,设置1,9,8脚为步进电机控制脚

int i=0;

void setup()
{
stepper.setMaxSpeed(5000);
stepper.setAcceleration(5000);
   stepper.setCurrentPosition(0);
}
void loop()
{   
while(i<3)
{

   
delay(500);
   stepper.runToNewPosition(2000);
   delay(1000);
   stepper.runToNewPosition(3000);
   delay(2000);

   i++;
}
}
页: [1]
查看完整版本: 請教各位先進AccelStepper的問題..無法Delay...或是依照需求移動