极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 17258|回复: 0

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

[复制链接]
发表于 2013-11-3 18:36:57 | 显示全部楼层 |阅读模式
各位前輩您好,我研究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++;
}
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-5 22:18 , Processed in 0.036708 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表