利用MATLAB的GUI制作简单的界面控制(串口通信),电机的正反转。
制作GUI如下所示界面:
在不同控件的回调中输入以下代码:
初始化时,连接arduino
clc;
clear a;
global a;
a = arduino('COM5');
a.pinMode(12,'output');
a.pinMode(13,'output');%定义
a.encoderAttach(0,3,2);%编码器接在pin2、3,定义为0号编码器
在正转控件下:
val = 0;
while(val < 1075)%1075个脉冲为一圈
global a;
digitalWrite(a,12,0);
digitalWrite(a,13,1);
val = encoderRead(a,0);
%pause(0.0001);
end
digitalWrite(a,12,0);
digitalWrite(a,13,0);
disp(val);
在反转控件下:
global a;
val = encoderRead(a,0);
disp(val);
digitalWrite(a,12,1);
digitalWrite(a,13,0);%反转
pause(1);
val_2 = encoderRead(a,0);
disp(val_2);
pause(1);
val_2 = encoderRead(a,0);
disp(val_2);
for i = 1:5
pause(i);
val_2 = encoderRead(a,0);
disp(val_2);
end%纯属瞎玩的代码
停止控件:
global a;
a.digitalWrite(12,0);
a.digitalWrite(13,0);
clear all;
close all;
clc;