arduino nano板 控制42步进电机 。

arduino控制42步进电机
①通电复位
②按键启动
③正转180度,停两秒
④正转180度,停两秒
⑤无线循环。
请教程序怎么写。

img

注意!因为不知道你的电机是多少步的,所以是假设步距角3°来编程的。如果转的角度不是180°,请修改 setup 里的 n=60; 。如果大于180°,就把n试着改小;如果小于180°,就把n改大。


int st;
int count;
int count2;
int n;
int dir;
void setup() {
  pinMode(3,OUTPUT);
  pinMode(4,OUTPUT);
  pinMode(5,INPUT_PULLUP);
  st=0x00;
  count2=0;
  n=60;//修改我!
  dir=0;
}
void loop() {
  if(!digitalRead(5)){
    count++;
  }
  else{
    count=0;
  }
  if(count==10){
    st=0x01;
  }
  if(st){
    digitalWrite(3,1);
    delay(1);
    digitalWrite(3,0);
    delay(1);
    count2++;
  }
  else{
    delay(2);
  }
  if(count2>=n){
    count2=0;
    dir^=0x01;
    digitalWrite(4,dir);
    delay(2000);
  }
}