|
|
各位前輩您好,我研究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++;
}
} |
|