主要内容

传感器的应用

本示例向您展示如何使用Simulink®Apple iOS设备支持包金宝app来设计算法金宝app,并使用自定义GUI增强算法。

简介

运动传感器的原始输出非常嘈杂,即使当设备放在一个稳定的表面上时也会迅速变化。在本例中,您将实现一个简单的低通滤波器,它可以平滑Gyroscope的输出,过滤后的输出用于控制自定义GUI。

下面几节将描述如何指定低通过滤器,如何在设备上运行,如何分析输出,最后添加使用输出的自定义GUI。

先决条件

我们建议填写开始使用苹果iOS设备而且与苹果iOS设备通信的例子。

所需的产品下载188bet金宝搏

  • DSP系统工具箱

所需的硬件

  • iPhone, iPod或iPad

  • USB电缆连接设备到您的主机计算机

任务1 -过滤器设计

1.打开传感器数据过滤模型。

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

3.选择硬件实现窗格并查看所打开的页面上的参数。

4.点击设备的选择并确保设备匹配您的设备设置。

5.在模型中,检查模拟模式工具栏上的为外部停止时间设置为40。

6.在模型中,单击运行按钮,以在Apple iOS设备上运行模型。

7.一旦模型运行完成,双击绘制数据图…块中绘制数据。

任务2 -构建一个基础应用程序

1.打开传感器的应用模型。

2.这个模型使用相同的过滤器来平滑陀螺仪数据,并将过滤后的数据发送给应用程序使用ToApp块。

3.双击ToAppblock,并观察指定的函数名:setAngles。调用此函数时使用三个单一精度值的向量作为输入。

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

5.选择硬件实现窗格并查看所打开的页面上的参数。

6.单击部署到硬件按钮。该模型现在将被部署到iOS设备上。

任务3 -更新生成的应用程序

1.在ios_sensorapplication_ert_rtw/ios_sensorapplication下打开应用程序的Xcode项目。

2.在Xcode IDE项目窗口中,打开ios_sensorapplication > ios_sensorapplication > InfoViewController.mm。

3.现在可以添加自定义函数setAngles在模型中的ToApp块中指定。以在InfoViewController中添加如下行为例。在调试器窗口中打印值:

-(void)setAngles:(float*)inAngles {NSLog(@"X: %g, Y: %g, Z: %g", inAngles[0], inAngles[1], inAngles[2]);}

4.在Xcode IDE中,选择Xcode > Product > Run在您的设备上运行应用程序。

5.移动设备,注意在Xcode调试器窗口中打印的值。

任务4 -添加一个旋转膜

1.您可以使用InfoViewController的setAngles方法根据输入值旋转图形。为此,您可以使用OpenGL创建一个对象并旋转一个对象。

2.为了方便起见,这里有一个更新的InfoViewController。Mm提供了支持包。金宝app和InfoViewController一起。附带文件:InfoViewController.h、Main_iPad. mm。故事板,Main_iPhone.storyboard。将这些文件复制到项目目录。您可以在MATLAB命令提示符中执行以下命令:

copyfile(fullfile(fileparts(which('ios_sensorapplication')),'InfoViewController.h'), 'ios_sensorapplication /ios_sensorapplication','f') copyfile(fullfile(fileparts(which('ios_sensorapplication')),'InfoViewController.mm'), 'ios_sensorapplication_ert_rtw/ios_sensorapplication','f') copyfile(fullfile(fileparts(which('ios_sensorapplication')),'Main_iPad.storyboard'),'ios_sensorapplication_ert_rtw/ios_sensorapplication','f') copyfile(fullfile(fileparts(which('ios_sensorapplication')),'Main_iPhone.storyboard'), 'ios_sensorapplication_ert_rtw/ios_sensorapplication','f')

3.由于本例使用OpenGL,更新Xcode项目以添加以下框架:GLKit.framework和OpenGLES.framework。在Xcode项目窗口中,选择ios_sensorapplication。选择构建阶段。在“Link Binary with Libraries”下,按“+”添加GLKit.framework和OpenGLES.framework。

4.在Xcode IDE中,选择Xcode > Product > Run在您的设备上运行应用程序。

5.移动设备,观察l型膜的旋转。

其他可以尝试的事情

用加速度计替换陀螺仪,重复同样的练习。还可以试着围绕三个轴旋转薄膜。

总结

这个例子向您展示了如何使用苹果iOS设备的Simulink支持包来设计金宝app算法,并金宝app使用自定义GUI增强算法。