利用MATLAB和Arduino实现模拟信号的采集
本教程展示了如何使用MATLAB®和Arduino®电路板从TMP36传感器获取温度数据。您可以使用Arduino的MATLAB支持包获取和分析传感器数据。
在这个演示中,我们将看到如何使用Arduino板和MATLAB测量温度。同样的技术也可以用来测量其他模拟信号。为此,我有MATLAB和MATLAB支持包Arduino预安装。如果您没有安装支持包,则可以进入“附加组件”页签,单击“获取硬件支持包”下载并安装支持包。
我使用Arduino Due, TMP 36温度传感器和USB-Micro B电缆进行演示。要使用MATLAB测量温度,请连接TMP 36传感器。引脚1至5伏的到期。引脚3到GND。Due上的引脚2到A7。请记住,USB线必须连接到Due的编程端口。
为了开始使用Arduino的MATLAB支持包,让我们使用多种方法中的一种进入文档主页。在MATLAB命令窗口中键入doc,然后在hub浏览器中刚刚打开的页面上向下滚动。在右下角,所有已安装的支持包的列表和链接到他们的主页是可用的。
我要点击入门,看看如何从MATLAB连接到Arduino板。我将复制这里给出的代码片段,并将其粘贴到MATLAB命令窗口上,以与连接到这台PC的第一块可用Arduino板建立连接。
我们接下来的任务是用MATLAB来测量温度传感器的模拟信号。搜索Arduino模拟。MATLAB提供的第一个建议是引线电压函数,它可以读取Arduino板上的模拟电压。让我们进入MATLAB命令窗口,看看我们是否可以用这个函数测量模拟信号。
我重复了几次这个函数,以确保从传感器读取稳定的电压。现在,下一个任务是将电压值转换为温度。对于这个,我将解释什么时候可以在MATLAB中使用函数。必须使用函数来执行重复的任务,例如针对不同的输入值执行这个任务。我在这里有一个名为voltofa的函数,它将温度传感器的电压值转换为华氏温度。
该函数中的第一行使用传感器手册中给出的公式将电压转换为摄氏度。第二行使用标准公式将这个摄氏度值转换为华氏值。另一方面,脚本可用于执行重复的任务。但是,它不能接收输入值。
我在这里有一个叫做temp-from-sensor的脚本,它使用我们刚刚学过的读取电压函数和函数voltofa来测量来自传感器的电压并将其转换为温度。为了展示温度传感器的有效性,我连接了一个网络摄像头来监控我办公室的恒温器。我从网络摄像头获得了一组图像,我将它与温度值一起显示出来。为此,我使用MATLAB支持包中的预览功能用于网络摄像头。
有了这些,我们已经看到了如何使用MATLAB和Arduino板测量温度或任何模拟信号。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。