流行科技 发表于 2022-5-9 22:29

【平头哥RVB2601创意应用开发】红外设备控制

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><b>项目中打算用到红外控制设备,所以本篇介绍,如何进行红外设备协议的编写发送。一下根据标准的NEC红外协议来的。</b></span></span></p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><b>先看下协议要求:</b></span></span></p>

<p style="text-align:justify"> &nbsp;</p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><b>首先协议是需要有一个载波的,38Khz。我们的开发板的IO管脚就能产生这样的方波。</b></span></span></p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><b>但是板载没有红外发射二极管。所以我自己外接了一个,如下:</b></span></span></p>

<p style="text-align:justify"> &nbsp;<span style="font-size:10.5pt"><span style="font-family:等线"><b>之后我们需要进行IO初始化,产生方波。</b></span></span></p>

<p style="text-align:justify"> &nbsp;</p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><b>其中我标注的那行就是配置方波频率的。26是us单位的周期。所以算下大概在38Khz左右。</b></span></span></p>

<p style="text-align:justify"> &nbsp;</p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><b>示波器测量大概是的。</b></span></span></p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><b>接下来就是协议部分。</b></span></span></p>

<p style="text-align:justify"> &nbsp;</p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><b>此部分我就是按照协议来的,中间用了延时函数。即可完成所需要的波形</b></span></span></p>

<p style="text-align:justify"> &nbsp;</p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><b>如果你要逻辑分析仪就更加方便了,可以查看波形数据是不是正确的。</b></span></span></p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><b>然后找一份要控制设备的协议码。我这里选择的是空调。</b></span></span></p>

<p style="text-align:justify"> &nbsp;</p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><b>他有完整的协议。</b></span></span></p>

<p style="text-align:justify"> &nbsp;</p>

<p style="text-align:justify"> &nbsp;</p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><b>所以我们只需要定义发送开和关的数组即可。</b></span></span></p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><b>之后运行就能开空调了和关空调了。效果如下:</b></span></span></p>

<p style="text-align:justify"><iframe allowfullscreen="true" frameborder="0" height="450" src="//player.bilibili.com/player.html?bvid=13a411Y7vn&amp;page=1" style="background:#eee;margin-bottom:10px;" width="700"></iframe><br />
&nbsp;</p>

<div id="qb-sougou-search" style="display: none; opacity: 0; left: 10px; top: 42.9524px;">
<p>搜索</p>

<p class="last-btn">复制</p>
<iframe src=""></iframe></div>

lugl4313820 发表于 2022-5-10 15:54

看着就是很牛的作品呀。感应距离怎么样,还有就是抗干扰如何。。
页: [1]
查看完整版本: 【平头哥RVB2601创意应用开发】红外设备控制