Arduino驱动四相五线步进电机
(2013-10-11 21:19:28)
标签:
it |
分类: Arduino |
28BYJ48
四相五线步进电机,电压为DC5V—DC12V,这个电机通过减速齿轮1:64减速输出,实际步距角度是5.625度
八拍方式驱动:0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09
八拍方式驱动:0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09
int Pin0 = 10;int Pin1 = 11;int Pin2 = 12;int Pin3 = 13;int _step = 0;boolean dir = true;//正反转int stepperSpeed = 5;//电机转速,5ms一步void setup(){ pinMode(Pin0,
OUTPUT); pinMode(Pin1,
OUTPUT); pinMode(Pin2,
OUTPUT); pinMode(Pin3,
OUTPUT);}void loop(){ switch(_step){ case
0: digitalWrite(Pin0,
LOW); digitalWrite(Pin1,
LOW); digitalWrite(Pin2,
LOW); digitalWrite(Pin3,
HIGH); break; case
1: digitalWrite(Pin0,
LOW); digitalWrite(Pin1,
LOW); digitalWrite(Pin2,
HIGH); digitalWrite(Pin3,
HIGH); break; case
2: digitalWrite(Pin0,
LOW); digitalWrite(Pin1,
LOW); digitalWrite(Pin2,
HIGH); digitalWrite(Pin3,
LOW); break; case
3: digitalWrite(Pin0,
LOW); digitalWrite(Pin1,
HIGH); digitalWrite(Pin2,
HIGH); digitalWrite(Pin3,
LOW); break; case
4: digitalWrite(Pin0,
LOW); digitalWrite(Pin1,
HIGH); digitalWrite(Pin2,
LOW); digitalWrite(Pin3,
LOW); break; case
5: digitalWrite(Pin0,
HIGH); digitalWrite(Pin1,
HIGH); digitalWrite(Pin2,
LOW); digitalWrite(Pin3,
LOW); break; case
6: digitalWrite(Pin0,
HIGH); digitalWrite(Pin1,
LOW); digitalWrite(Pin2,
LOW); digitalWrite(Pin3,
LOW); break; case
7: digitalWrite(Pin0,
HIGH); digitalWrite(Pin1,
LOW); digitalWrite(Pin2,
LOW); digitalWrite(Pin3,
HIGH); break; default: digitalWrite(Pin0,
LOW); digitalWrite(Pin1,
LOW); digitalWrite(Pin2,
LOW); digitalWrite(Pin3,
LOW); break; } if(dir){ _step++; }else{ _step--; } if(_step>7){ _step=0; } if(_step<0){ _step=7; } delay(stepperSpeed);}
加载中…