1、用到的硬件设备以及最终实验效果
用到一个5V直流步进电机(28BYJ-48),然后一块对应的电机驱动(主芯片是ULN2003A),一个Arduino UNO开发板。我们最终实现的效果是,在Matlab GUI界面上输入想让电机正转(反转)的角度,执行程序之后,电机开始转动。
2、Arduino部分程序
驱动电机利用的是Arduino的库函数,使用起来十分简单。然后利用串口接收Matlab发送的字符,接收到相应字符之后就执行对应的命令。
//使用arduino IDE自带的Stepper.h库文件
#include <Stepper.h>
// 这里设置步进电机旋转一圈是多少步
#define STEPS 100
int flag=0;//电机正反转标志,默认情况下正转
char key;
//设置步进电机的步数和引脚(就是驱动板上IN1~IN4连接的四个数字口)。
Stepper stepper(STEPS, 8, 9, 10, 11);
void setup()
{
Serial.begin(9600);//设置波特率
// 设置电机的转速:每分钟为90步
stepper.setSpeed(90);
}
void stopmotor()
{
digitalWrite(8,0);
digitalWrite(9,0);
digitalWrite(10,