Madhu Govindarajan,Mathworks
马铃薯®可用于快速分析和可视化从连接到Arduino的传感器收集的数据®。从温度传感器收集并绘制实时数据,然后使用一些内置MATLAB函数分析数据。
下载代码用于此视频。
我创建了一个名为温度记录的脚本,我已经将其丢弃到部分中。要运行一段代码和前进到下一个位置,可以使用Matlab编辑器内的运行和高级按钮。我有一个来自DNP 36传感器的数据表的快照。我们可以看到温度与其提供的电压输出成正比。这是等式。当我运行部分时,我们可以看到温度读物在这个房间里,都在摄氏度和华氏温度。
我正在使用相同的等式来使用TIC和TOC收集指定时间段的数据。我们可以看到收集此数据需要很长时间。这是因为MATLAB向设备发送串行命令并每次收集新数据点时接收响应。这导致瓶颈,这决定了我们可以获得数据的最快速度。我们还可以看到数据非常波朗。
首先,让我们来计算MATLAB可以收集数据的频率,然后来看看为什么数据如此。所以频率约为72赫兹。数据是如此波朗为,因为我们使用的Arduino是一个8位设备,它只读取其模拟引脚上的0到1023之间的值。并记住,电压范围为0至5.因此,当我们使用这些值时,我们可以看到它对应于约0.5摄氏度和1华氏度的读数。这解释了为什么数据如此波涛汹涌的原因,因为即使电压值的小变化也意味着存在显着的温度变化。
通常,在收集它们时,请遵守数据值是有助于的。在此期间,我用手指触摸温度传感器,看看测量值如何变化,如果我可以影响温度。所以正在使用的功能是动画行,这使得将新数据流入绘图。此函数的其他有用功能是数据自动存储在绘图中,我们不必记录它。我已经设置了脚本,所以当我按下按钮时,它会停止收集数据。
让我们看看我们收集的数据。此数据肯定需要一些后处理。可以通过施加移动平均滤波器去除温度信号中的高频噪声。从数据表中,我们知道温度传感器在室温下具有约2摄氏度的公差。因此,使用此信息,我计算了最大和最小的可能值,并绘制了收集和过程数据。
这里的连续线是过滤的数据。使用该图中的虚线表示温度传感器容差。现在我们已经完成了所有分析并且可以看到数据,我们可能希望保存到文件所收集的数据。这样做的一种方法是将数据存储在表中,然后将表本身写入文件。您可以看到该文件具有所有必要的信息和收集的数据本身。谢谢大家。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。