主要内容

与Arduino®硬件通信

这个例子展示了如何调优参数和监控在Arduino板上运行的算法的信号。

金宝app支持的硬件:

  • Arduino Mega 2560.

  • Arduino兆理应

  • Arduino由于

  • Arduino达芬奇

  • Arduino微

  • Arduino Uno.

  • Arduino MKR1000

  • Arduino MKR WiFi 1010

  • Arduino MKR零

  • Arduino Nano 3.0.

  • Arduino机器人控制板

  • Arduino机器人电机

  • Arduino Nano 33物联网

  • Arduino Nano 33 BLE感觉

此示例的可用版本:

Arduino Mega 2560板:arduino_communication

为Arduino Mega 2560预先配置了所提供的模型,可以在“支持的硬件”部分中列出的任何电路板上,通过在任务中描述的模型的配置参数对话框中更改“硬件板”参数,如此金宝app这个例子中的2。

介绍

金宝app用于Ar金宝appduino硬件的Simulink支持包使您可以从您开发算法的相同Simulink®模型监控和调整在Arduino板上运行的算法。

在本例中,您将了解如何在算法执行时对其进行实时调优和监控。在开发算法时,通常需要以迭代方式确定关键算法参数的适当值。例如,一个监视算法可以测量房间中的运动能量,可以使用一个阈值来确定存在环境噪声的入侵者。如果阈值设置得太低,算法可能会错误地将任何移动解释为入侵者。如果阈值设置过高,算法可能根本无法检测到任何运动。在这种情况下,可以通过尝试不同的值来获得正确的阈值,直到达到理想的算法性能。这个迭代过程称为参数调整。

金宝appSimulink的外部模式特性允许您在模型在目标硬件上运行时更改某些参数值,而无需停止模型,从而加快参数调优过程。当您在Simulink中更改参数值时,修改后的参数值将立即传递给目标硬件。金宝app参数调优活动的影响可以通过在Simulink中查看范围或显示上的算法信号来监视。金宝app

此示例介绍了Simulink金宝app外部模式通过向您展示如何:

  • 设置Simulink和Arduino Board之间的通信金宝app。

  • 使用Simu金宝applink模型调整在Arduino板上运行的算法的参数。

  • 使用Si金宝appmulink范围监视在Arduino板上运行的算法状态。

先决条件

在您开始此示例之前,我们建议您完成入门Arduino®硬件例子。

需要硬件

要运行这个例子,你需要以下硬件:

  • 金宝app支持的Arduino Board.

  • USB电缆

  • 引领

  • 220欧姆电阻

  • 面包板电线

  • 小面包板(推荐)

模型

示例模型如下图所示:

任务1 - 将LED连接到Arduino输出引脚

在这个任务中,您将把一个LED连接到Arduino数字输出引脚,这样您就可以看到引脚逻辑状态的变化。

1.将220欧姆电阻的一端连接到Arduino板上的数字输出引脚9。使用推荐的面包板和面包板电线。

2.将LED的长腿(正)连接到电阻。将短腿(负)连接到Arduino板上的地面销。

任务2 - 配置支持的Arduino硬件的模型金宝app

在此任务中,您将为支持的Arduino板配置模型。金宝app

1.打开与Arduino硬件沟通模型。

2.在Simulin金宝appk模型中,单击仿真>模型配置参数打开配置参数对话。

3.选择硬件实现窗格中选择所需的Arduino硬件硬件板参数列表。请勿更改其他设置。

4.点击好的

任务3 -模拟模型

要模拟该模型,请遵循以下步骤:

1.观察模型播放房间中记录的运动能量,并将其与阈值进行比较,以检测入侵。

2.在模型中,改变仿真模式在工具栏上正常的.这告诉Simulink金宝app在主机上运行模型。请参阅下面的任务4以在Arduino目标硬件上运行模型。

3.在模型中,单击运行按钮在Simulink工具栏金宝app中。

4.点击范围块。注意,该算法检测到多个入侵。

5.点击停止按钮。金宝app

任务4 - 在外部模式下运行模型

1.将USB电缆从您的电脑连接到Arduino板。

2.在模型中,改变仿真模式在工具栏上外部

3.在模型中,单击运行按钮。

任务5 - 通过串行与模型通信

此时,您的模型正在Arduino板上运行。由于模型在硬件上运行,它使用USB的串行连接在外部模式下与Simulink模型进行通信。金宝app

1.请注意,连接到9脚的LED几乎一直在发光。这意味着所选阈值太低,算法甚至会错误地将微小的运动能量变化视为入侵。您需要找到阈值的更优值。

2.双击临界点块在模型中,增加其值,然后单击好的或者应用.这改变了在单板上运行的模型中的阈值。

3.检查LED的发光模式是否有变化。按照正确的算法,LED应该每10秒和11.5秒亮一次。

4.如果LED光源图案没有变化,重复步骤2和3,直到找到正确的阈值。

5.点击停止按钮。金宝app

串行通信故障排除

1.错误提示“试图通过端口与主机名127.0.0.1建立连接…”'表示本地环回上的TCP/IP端口17725被其他应用程序持有。外部模式在后台使用一个进程来缓冲数据并改进数据日志记录。该进程需要端口17725。

2.高基率可能导致范围窗口中的时间冻结。这是Arduino板上的固件的限制。使用FTDI芯片作为USB串行网桥解决了此问题。

任务6 -配置Model以TCP/IP外部模式运行

请参阅文档部分:配置模型以在以太网上以外部模式运行

任务7 - 配置模型以在WiFi上以外部模式运行

请参阅文档部分:配置模型以在WiFi或串行上以外部模式运行

其他要尝试的事情

  • 监视模型中的其他信号。例如,添加另一个范围来监视所记录的运动能量的值。

  • 改进检测算法,过滤掉任何小于0.2秒的运动能量变化。

概括

此示例显示了用于调谐和监视在Arduino板上运行的算法的工作流程。在这个例子中,您学到了:

  • 如何使用外部模式功能调整Arduino板上的算法参数。