|
|
发表于 2013-7-29 21:06:54
|
显示全部楼层
我也有同样问题,同型号,库文件中的控制程序与该电机不符合
库文件是针对4拍的,28BYJ-48为8拍,解决方案:
打开Stepper.cpp
找到void stepMotor(。。。。)
先是上面,stepMotor(this->step_number % 4);改为stepMotor(this->step_number % 8);
将if(this->pin_count==4)代码段内改为
- switch (thisStep) {
- case 0:
- digitalWrite(motor_pin_1,LOW);
- digitalWrite(motor_pin_2,LOW);
- digitalWrite(motor_pin_3,LOW);
- digitalWrite(motor_pin_4,HIGH);
- break;
- case 1:
- digitalWrite(motor_pin_1,LOW);
- digitalWrite(motor_pin_2,LOW);
- digitalWrite(motor_pin_3,HIGH);
- digitalWrite(motor_pin_4,HIGH);
- break;
- case 2:
- digitalWrite(motor_pin_1,LOW);
- digitalWrite(motor_pin_2,LOW);
- digitalWrite(motor_pin_3,HIGH);
- digitalWrite(motor_pin_4,LOW);
- break;
- case 3:
- digitalWrite(motor_pin_1,LOW);
- digitalWrite(motor_pin_2,HIGH);
- digitalWrite(motor_pin_3,HIGH);
- digitalWrite(motor_pin_4,LOW);
- break;
- case 4:
- digitalWrite(motor_pin_1,LOW);
- digitalWrite(motor_pin_2,HIGH);
- digitalWrite(motor_pin_3,LOW);
- digitalWrite(motor_pin_4,LOW);
- break;
- case 5:
- digitalWrite(motor_pin_1,HIGH);
- digitalWrite(motor_pin_2,HIGH);
- digitalWrite(motor_pin_3,LOW);
- digitalWrite(motor_pin_4,LOW);
- break;
- case 6:
- digitalWrite(motor_pin_1,HIGH);
- digitalWrite(motor_pin_2,LOW);
- digitalWrite(motor_pin_3,LOW);
- digitalWrite(motor_pin_4,LOW);
- break;
- case 7:
- digitalWrite(motor_pin_1,HIGH);
- digitalWrite(motor_pin_2,LOW);
- digitalWrite(motor_pin_3,LOW);
- digitalWrite(motor_pin_4,HIGH);
- break;
- }
复制代码
|
|