帮助或提示解码红外协议
不久前,我买了一架简单而便宜的红外遥控小玩具直升机(与这架直升机相同-叫做“钻石陀螺”或“钻石部队”)。为了娱乐,我一直在研究通过Arduino控制它。 更新:弄清楚了协议;看答案 其他人已经分享了他们的成果,他们可以入侵另一架红外玩具直升机并对其红外协议进行解码。真的很酷,但不幸的是我的直升机使用了不同的协议。我不太清楚的一个。(我应该补充一点,对我来说,电子产品纯粹是一种业余爱好,因此我可能忽略了一些显而易见的东西)。 就像上面的第二个链接一样,我将控制器拆开了,找到了控制LED的IC引脚(顺便说一下,IC的标记已被擦除),并连接了一个逻辑分析仪。 有很多好的数据,但是我仍然无法弄清楚协议。该站点是一个很好的资源,但是列出的协议似乎都不适合。我发现的其他任何东西似乎都不适合我捕获到的信号。不过,我不得不想象这是一个简单的现成协议,只是因为它是一种便宜的小玩具。 因此,如果您有任何想法,我将不胜感激。也许我只是看错了。 (图片下方的更多信息) 信号/协议特征 我在控制器设置为通道A的情况下以16MHz的频率捕获了该信号。应该准确,及时。(您可以选择3个IR通道,但使用其他两个通道不会改变特性,仅改变数据包本身的一部分。)时序非常一致(最大+/- 10µs)。数据包以不同的间隔重复,但至少相距约100毫秒。 载波:38kHz @ 50%占空比 最低: -短:285µs- 长:795µs 高: -短:275µs- 长:855µs 每包始终为17高。 控制/输入 直升机的3个控件:“油门”(即升/转子速度),俯仰(前/后)和偏航(绕转子轴旋转)均由2个指尖控制。它们都有一定的范围(不仅仅是开/关),据我所知,它们都是在单个数据包中传输的。左/右输入仅在发送其他内容时发送,因此我在采样时应用了最大油门。一旦您将指尖推过某个阈值/死区,便发送了自己的触发数据包上的油门和俯仰输入(在“ min”标签下方的图形中,是将控件缓慢推过其死区时发送的第一个数据包)。 它还有用于左右修剪的按钮,因为直升机完全不是一种精密仪器,否则会缓慢旋转。不幸的是,向左/向右修剪按钮似乎并没有发送每次增加或减少某些东西的信号(这对于确定协议很方便)。它似乎只是一个命令,告诉直升机向左/向右修剪,然后跟踪它。