文件交换

图片缩略图

RC接收Arduino的驱动块

版本01年2月15日(2.23 MB)通过 塞吉奥Biagioni
控制使用RC发射机和接收机使用Simulink一个Arduino机器人金宝app

16个下载

更新2015年10月5日

查看许可证

与此块中,用户可以使用的Simulink针对其从RC发射机接收信金宝app号,一个Arduino生成代码。
当RC接收器的输出连接到Arduino时,这个自定义驱动块输出RC信号的脉冲长度(以微秒为单位),它直接对应于信号的值。

这个材料是为了支持文章“Arduino和Simuli金宝appnk的R/C控制器”。金宝app
https://www.hackster.io/matlab-makers/r-c-controller-for-arduino-and-金宝appsimulink-be5aee

文档:
有关演示如何使用block的示例和文档,请参阅主文档页的“补充软件”部分。将有链接到“Arduino遥控接收工具箱”。

遗留代码:
要访问旧版本,请在安装后下面的命令:
CD(完整文件(returnArduinoRCReceivePath, '老', 'rcreceive'))

测试:
该驱动块使用Cirrus-DPR-4FM发射机和接收机进行了测试。所有的接收器输出伺服协议,因此块将与所有的RC发射机/接收机工作。

该块的工作与Arduino的乌诺,兆丰2560和所致。支持的最大信道是6。金宝app

引用作为

塞尔吉奥Biagioni(2020年)。RC接收Arduino的驱动块(//www.tatmou.com/matlabcentral/fileexchange/45541-rc-receive-driver-block-for-arduino),MATLAB中央文件交换。检索

意见及评级(18

非常感谢你开发了这么多有用的东西…

嗨,塞吉奥,
你为我们的大问题提出了一个很好的解决方案,谢谢。
我使用的块,它有良好的输出时间常数0.5秒。但在模拟小样本时间,如0.002秒,输出有不稳定的值之间的变化,真正的pwm值和值小于'500'。

嗨塞尔吉奥,

当我在simulink模型中有一个Arduino PWM块和这个RC接收块时,RC接收块输出的是随机值。金宝app你知道这个问题吗?

嗨塞尔吉奥!

我将开始一个项目,我需要在Matlab R2014b的RC接收驱动块函数。

你可以寄给我吗?

我的邮箱是edgar.hernandez01@iest.edu.mx

谢谢!


我有2个Simul金宝appink模型,一个用于使用DUE Arduino的,一个用于四转子动态模型控制器(外部模式)(部署在兆Arduino的)。现在这Simulink模型金宝app我应该把这个遥控接收机块?

问候
Zakarya

托德

我有这个驱动程序有问题:它只能在外部模式。如果我只是把它部署到我欧诺,它永远不会调用阶跃函数。我有一个类似的问题,当我试图使用MATLAB系统模块建立一个自动对焦马达屏蔽驱动器,并且被告知我需要写TLC代码,使其工作。

AMIT KASANA

嗨塞尔吉奥,
I'm使用Atmega328。我现在尝试atmega2560如本例中使用,并且一个正常工作。
你有另一个想法为什么它不应该与一个Arduino纳米工作?
顺便说一下,在未来,我正在研究arduino微由于四个可能的中断插脚。
与微加工的块呢?
非常感谢
干杯
托马斯

电子邮件:wegelethomas@aol.com
以防万一的答复可能会更长.-)

你好托马斯,
你的Arduino Nano有ATmega168或ATmega328处理器吗?

塞尔吉奥

嗨塞尔吉奥,

我只是想知道该块是否可与一个Arduino纳米为好;
我对INT通道引脚3和PWM PIN6所有的测试都没有做工精细。
也许你有个小建议可以参考。

谢谢
托马斯

嗨,肖恩,
大听到的。由于您使用的是Arduino的乌诺,你应该指定仅有的两个块引脚,2和3。

请接受我最美好的祝愿,
塞尔吉奥

嘿塞尔吉奥,

感谢您以前帮助,无一不精现在的工作。

只是想知道,我将使用一个Arduino UNO这个块只具有比4 Arduino的大型可用2针。如果我只使用2个引脚,做我需要在所有修改的代码?我应该只是输入2个引脚或输入引脚4(其中最后2是随机的)

谢谢,
肖恩

非常感谢塞尔吉奥·

嗨塞尔吉奥,

非常感谢这一点。

虽然我目前被困在windows XP和有困难获得窗口SDK用于它的rc接收块。*任何建议吗?

干杯
肖恩

嗨,安德里亚,
你可以复制我在0-4通道中所做的一切,并展开必要的数组。我可以帮你做,但是我手头上没有6频道的tx/rx要测试。具体步骤如下:

1.打开RC接收驱动块
2.变更数据属性 - >输出端口“行”至6
3.在库,对农村信用社要改变定义:
挥发性rcChannel rcc [6] = {{0 1 0, 0}, {0 2 0, 0}, {0 3 0, 0}, {0 4 0, 0}, {0 5 0, 0}, {0 6 0, 0}};
4.在库,添加无效calc4和calc5中断服务程序,就像calc0-4被定义
5.在输出中,将持续时间矢量更改为:
静态uint16_t持续时间[6]= {0,0,0,0,0};
6.在输出中,为通道4和5添加updateflag“if语句”
7.在输出中,添加[4]=持续时间[4],添加[5]=持续时间[5]
8.在离散更新中,为calc4和calc5添加附加中断
9.构建S-Function构建块
10.修改运行(“sfcn_rcreceive”)

安德里亚

伟大的工作塞吉奥!我现在有4个频道,我要怎么升级到6个频道呢?

此致

安德里亚

测试模型建立在R2013b中。如果您使用的是以前版本的MATLAB(即R2013a),那么如果您尝试在外部模式下运行模型,可能会收到错误信息。

错误消息的例子:
错误发生在执行外部模式MEX文件“ext_comm”:
期待1xN字符串数组的主机名

为了解决这个问题,创建新模型并复制RC接收块进去。

请享用!
塞尔吉奥

Akeel

更新

15.2.01

增加了对R2金宝app015b的支持

15.1.1.0

-升级模块使用MATLAB系统对象代替S-Function Builder,使安装更快捷
- 块从4扩大到6个通道
- 增加状态外港从块,以指示何时在信道上被接收的数据

1.4.0.0

增加了对Ar金宝appduino的应有的支持

1.3.0.0

更新所需的工具箱,只需要MATLAB和Simulink。金宝app

1.2.0.0

调整后的版权

1.1.0.0

删除mex文件,更新所需产品。下载188bet金宝搏

MATLAB版本兼容性
创建与R2015b
与任何版本兼容
平台兼容性
窗户 macOS Linux的
致谢

启发:设备驱动程序

文档/块/ HTML /

文档/示例/ HTML /

文档/ HTML /

文档/释放/ html /

文档/设置/ HTML /