风筝
发表于: 2018-4-19 16:28:38 | 显示全部楼层

Interface-Arduino-with-MATLAB_0.jpg


在这篇文章中,我们将主要介绍两个方面:

1.    如何在MATLAB软件中为Arduino设置硬件支持。

2.    如何使用MATLAB代码控制Arduino开发板。


我们通常采用Arduino IDE来编写代,然后将其上传到Arduino开发板中。 使用MATLAB的优势是,它采用比C / C ++更容易的高级编程语言。使用MATLAB的另一个优势是,我们可以快速看到I / O操作的结果(无需编译)。此外,MATLAB还提供绘图功能,可用于快速分析和可视化从Arduino收集的数据。首先,我们将学习如何在MATLAB软件中为Arduino设置硬件支持包。在MATLAB软件中为Arduino设置硬件支持包之后,我们将使用MATLAB代码控制连接到Arduino开发板的LED。


设置用于Arduino的硬件支持

第1步、  启动MATLAB(请使用最新版本)。

Start-MATLAB.png


第2步、   在Environment部分中,选择Add-Ons> Get Hardware Support Packages

In-the-Environment-section-select-Add-Ons -Get-Hardware-Support-Packages.png


第3步、    出现Add-On浏览窗口。

Add-On-explorer-window.png

第4步、    点击MATLAB Support Package for Arduino Hardware

第5步、    单击Install,现在安装程序会要求您登录到您的MathWorks帐户。如果您没有MathWorks帐户,则可以在安装期间创建一个帐户。

第6步、    登录后,接受许可协议并继续安装。

第7步、    等待软件包下载并安装。

第8步、    现在您已经成功安装了MATLAB的Arduino支持包。


测试MATLAB

在安装MATLAB的支持包之后,我们需要检查它是否安装正确。

1.    打开MATLAB。

2.    将Arduino连接到PC。

3.    在MATLAB命令窗口中键入以下命令。

  1. a = arduino()
复制代码

4.    如果我们有多个Arduino连接到PC,那么我们可以使用以下命令指定它连接到的开发板型号和COM端口。

  1. a = arduino( ‘COM5’ , ‘uno’ )
复制代码

5.    输入上述命令后,MATLAB会尝试与您的Arduino进行通信,如果成功,MATLAB将显示连接到PC的Arduino开发板的属性。

Arduino-properties-on-MATLab.png

6.    现在我们可以在工作区中看到变量'a',它是MATLAB arduino对象。要清除对象,我们可以使用以下命令。

  1. clear a
复制代码

该命令会从工作区中移除Arduino对象。


使用MATLAB和Arduino控制LED

在本篇文章中,我们将使用MATLAB软件闪烁连接到Arduino的LED。


所需的组件

●    Arduino开发板

●    电阻

●    发光二极管

●    用于Arduino的USB电缆


电路原理图

Interface-Circuit-diagram-of-Arduino-with-MATLAB.png


使用步骤

1.    启动MATLAB。

2.    将您的Arduino连接到PC。

3.    按照原理图中所示制作电路。

4.    打开你的.m代码。

5.    保存并运行。

6.    LED开始闪烁。

7.    闪烁5次后,LED熄灭。

Interface-Arduino-with-MATLAB-in-action.jpg


代码非常简单,在本文的末尾列出了完整代码,将其复制并以.m扩展名保存在文件中。您可以浏览一下代码并根据您的要求进行自定义。


代码

本文使用的完整代码如下:

  1. % create an arduino object

  2. a = arduino();     

  3. % start the loop to blink led for 5 seconds

  4. for i=1:5

  5.     writeDigitalPin(a, 'D10', 1);

  6.     pause(0.5);

  7.     writeDigitalPin(a, 'D10', 0);

  8.     pause(0.5);

  9. end

  10. % end communication with arduino

  11. clear a
复制代码
跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 714 | 回复: 1501



手机版|

GMT+8, 2024-12-22 20:11 , Processed in 0.049947 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表