三轴倾斜计算中断使用LIS3DH FIFO数据准备好
这个例子展示了如何使用FIFO数据准备中断LIS3DH线性加速度计的连接到一个Arduino®板的倾斜传感器。这样做是下游使用函数调用子系统从FIFO缓冲区读取加速度值传感器。
下游传感器块放置在函数调用子系统。传感器的输出块发送给一个MATLAB函数块数据平均,计算和倾斜。
在倾斜传感使用加速度计值的更多信息,见使用倾角传感的加速度计。
金宝appArduino的硬件支持
Arduino由于
Arduino达芬奇
Arduino超级2560
Arduino兆理应
Arduino微
Arduino MKR1000
Arduino MKR WIFI 1010
Arduino MKR零
Arduino 3.0纳米
机器人Arduino控制板
Arduino机器人汽车板
Arduino Uno
Arduino Nano 33物联网
先决条件
你开始这个例子之前,完成开始使用Arduino硬件的例子。
所需的硬件
金宝app支持Arduino电路板
LIS3DH传感器
USB电缆
试验板线
硬件连接
连接的INT1销LIS3DH传感器销3 Arduino董事会。
连接SDA、sci、3.3 v, Arduino电路板的接地销LIS3DH传感器各自的别针。
硬件配置的模型
打开这个示例中所使用的模型,在MATLAB命令提示符输入以下命令:
open_system (“arduino_lis3dh_tiltdetection_fifointerrupt.slx”);
模型预配置与Arduino兆2560。如果您正在使用一个不同的Arduino电路板,改变硬件板通过执行以下步骤:
1。导航到建模>模型设置打开配置参数对话框。
3所示。打开硬件实现面板,从硬件板列表中,选择Arduino电路板,您正在使用的类型。
3所示。点击应用。点击好吧关闭对话框。
LIS3DH上配置FIFO数据准备中断的中断服务例程(ISR)
1。在外部中断处理程序模型的区域,双击外部中断,并确保的价值密码参数设置为3,就是一样的Arduino销连接INT1销LIS3DH传感器。如果需要,您可以更改密码。例如,如果连接INT1到另一个销在Arduino董事会支持外部中断。金宝app
2。LIS3DH传感器块放置在下游功能call-sub系统。块的输出连接到MATLAB功能块。MATLAB函数FIFO数据获得的平均值,计算和每个轴的倾斜。
3所示。I2C的AVR的目标,要求工作在ISR,地方sei ();
在ISR。的sei ()
使用系统输出块添加到模型中。sei()是谨慎为AVR的目标,而不是只包括手臂的目标。
4所示。确保生成数据准备中断INT1销参数选择,并确保启用了FIFO和数量的样本,以读取FIFO(学会)。在本例中,数据更新预计在100赫兹(指定的ODR)和读取FIFO的样本数量是10。
启动监视和优化模型的动作
在监视和优化作用,模型是在硬件部署为C代码。从硬件代码获取实时数据。完成数据采集和参数调优,而应用程序在硬件上运行。
注意:确保Arduino电路板上使用有足够的内存来运行该应用程序的硬件。董事会如Arduino Uno,低内存,可能不支持这个应用程序。金宝app
1。在硬件选项卡,模式部分中,选择板上运行(外模式)然后点击监视和优化。
模式窗口的左下角显示状态模型准备时,下载和运行在硬件仿真软件模型。金宝app在仿真过程中,销3 Arduino每上升的边缘产生一个中断信号,触发函数调用子系统。
2。将传感器和验证的变化值在每个时间步中通过双击显示块显示数据区域的模型。