我们将创建简单的Matlab M文件来与我们的Arduino Board交谈。Arduino硬件的MATLAB支持软件包允许您使用MATLAB通过USB电缆与您的电路板通信。支持包可用于32位和64位窗口,64位Mac OS和64位Linux。
安装包
您可以通过MATLAB轻松安装包。
首先,启动MATLAB并单击Add-Ons下拉菜单。在下拉菜单中单击获取硬件支持包。它将启动包安装程序窗口。
选择从互联网安装然后下一个。
在下一个窗口中,您将看到所有可用的MATLAB和Simulink软件包。选择Arduino包,然后检查所有显示的包并单击下一个继续安装。请注意,此图片显示我正在重新安装Arduino软件包,因为我之前已安装过他们。
接下来,安装程序会要求您登录到MathWorks帐户。如果没有帐号,可以在安装过程中创建。在下一个屏幕上接受许可协议并继续下载包。现在,您必须等待MATLAB下载并安装所有所需的软件包。
测试
安装软件包后,将Arduino Board连接到PC,然后在Matlab命令窗口中键入以下命令,
>> a = arduino()
如果你有多个Arduino连接到你的电脑,你必须指定你将与之通信的板类型:
>> A = Arduino('com3','uno')
MATLAB将尝试与您的板通信。如果成功,MATLAB将显示与PC相连的Arduino板的属性,如下图所示:
此信息显示连接电路板的端口,您的Arduino板的型号以及可用于电路板的可用引脚和图书馆。
在您的工作区中,您将看到一个变量a,它是matlab arduino对象。运行以下命令以清除此对象。
> >清理
此命令将从工作区中删除对象a。
接线图
如下所示连接鸡蛋,以完成以下两个示例:
它看起来像这样:
实验一:MATLAB中的数字I/O
在这个例子中,我们将用MATLAB闪烁一个LED。
用于Matlab Arduino的硬件
- Arduino Uno.
- 1 x 1k欧姆电阻
- Arduino的USB电缆
- 领导
启动MATLAB并创建M-File并写下以下代码:
代码
%创建一个arduino对象a = arduino('com3','uno');%启动循环以闪烁LED 10秒的I = 1:10 WRITEDITITPIN(A,'D11',1);暂停(0.5);WRITEDIGITALPIN(A,'D11',0);暂停(0.5);与Arduino结束%结束通信清除a
确保在MATLAB中没有存储的Arduino对象,否则Matlab将显示错误消息。保存文件并运行它。这将闪烁LED为1秒钟。
步骤
- 启动MATLAB并安装Arduino硬件支持包(如果没有安装)。
- 将您的电路板连接到PC并测试是否与MATLAB正常工作。
- 制作电路图所示的电路,将引脚11通过电阻连接到LED引脚的一端。
- 将LED的其他点连接到Arduino板上的接地销。
- 写下您的M文件并保存。运行您的文件,Matlab会将该文件刻录到您的电路板上。
- 您的LED将开始闪烁。
视频
实验2:模拟控制
在此示例中,我们将使用脉冲宽度调制信号来改变LED的亮度。通过将引脚提供的最大和最小电压除以我们将达到LED的最大亮度的迭代的数量,通过划分引脚提供的最大和最小电压来计算亮度-step。
硬件
- Arduino Uno.
- 1 x 1k欧姆电阻
- Arduino的USB电缆
- 领导
连接电路,如上图所示。
代码
%创建一个arduino对象a = arduino('com3','uno');%计算亮度步骤亮度_step =(5-0)/ 20;%启动一个循环以使LED照亮i = 1:20 WritepWmvoltage(a,'d11',i * brightness_step);暂停(0.1)终端%启动循环以在步骤中关闭LED,因此它看起来像%LED为i = 1:20逐渐消失;Writepwmvoltage(a,'d11',5-i * brightness_step);暂停(0.1)终端%与Arduino清除a
Arduino_Interface_matlab2.zip.
步骤
- 启动MATLAB并安装Arduino硬件支持包(如果没有安装)。
- 连接您的电路板与PC机,并测试它是否与MATLAB工作正常。
- 使电路如电路图所示,通过电阻将引脚11连接到LED引脚的一端。
- 将其他位置连接到您的Arduino板上的接地别针。
- 写下您的M文件并保存。运行您的文件,Matlab会将该文件刻录到您的电路板上。
- 您的LED将开始亮,然后暗淡。
瞧!
视频
自己试试这个项目吧!得到bom。