//电位器控制2相4线步进电机左右旋转
#include<Stepper.h> //引用官方步进电机库文件
#define STEPS 200 //定义步进电机每转的步数,(个人理解,相当于每转多少个脉冲)
Stepper stepper(STEPS,8,9,10,11); //初始化步进电机引脚
int previous = 0; //定义变量记录上一次的读取模拟量
void setup()
{
pinMode(A0, INPUT);
stepper.setSpeed(60); //初始化步进电机速度(单位rpm)
Serial.begin(9600);
stepper.step(STEPS); //自检-顺时针转一圈
delay(500);
stepper.step(-STEPS); //自检-逆时针转一圈
delay(500);
}
void loop()
{
int val = analogRead(A0); //定义变量val读取电位器AD值
stepper.step(val - previous); //把速度设置为这次和上次读取的差值
previous = val; //记下这次读取值,方便下次比较
Serial.print(val);
Serial.print(",");
Serial.println(previous);
}