我想问一下,怎么控制步进电机的转向,程序如下图所示,我甚至手动将 dir 引脚接入 5V 或者 GND 还是会随机地选择一个方向旋转,旋转一段时间后,有时候会又向另一个方向旋转。
int dirPin = 4;
int stepperPin = 5;
int EN=10;
void setup() {
pinMode(dirPin, OUTPUT);
pinMode(stepperPin, OUTPUT);
pinMode(EN, OUTPUT);
}
void step(boolean dir,int steps){
digitalWrite(dirPin,dir);
delay(50);
for(int i=0;i<steps;i++){
digitalWrite(stepperPin, HIGH);
delayMicroseconds(800);
digitalWrite(stepperPin, LOW);
delayMicroseconds(800);
}
}
void loop(){
digitalWrite(EN, LOW);
step(true,500);
// delay(500);
// step(false,500);
// delay(500);
}
有大神知道原因吗?
|