硬件 :
arduino:MEGA 2560
驱动器:DM420
电机:CTM28-0602-50
测试电机
第一位输入0 倒转(后退)
第一位输入1正转(前进)
第二至最后一位 行进长度(×100)
代码
void smmsteper(int enpin, int trunpin, int pwpin, int step, int trun) {
pinMode(enpin, OUTPUT);
digitalWrite(enpin,LOW);
pinMode(trunpin, OUTPUT);
digitalWrite(trunpin,trun);
for (int i = (1); i <= (step); i = i + (1)) {
pinMode(pwpin, OUTPUT);
digitalWrite(pwpin,HIGH);
delay(1);
pinMode(pwpin, OUTPUT);
digitalWrite(pwpin,LOW);
delay(1);
}
pinMode(enpin, OUTPUT);
digitalWrite(enpin,HIGH);
}
void setup(){
Serial.begin(9600);
}
void loop(){
if (Serial.available() > 0) {
String item = Serial.readString();
Serial.println(item);
smmsteper(32, 31, 30, 100 * String(String(item).substring(1,String(item).length())).toInt(), String(String(item).substring(0,1)).toInt());
}
}
结果
最长距离106*100
拨码开关设置
SW1-SW7
off on off off on on on