IR - 传输 IR NEC 原始数据并解码
材料准备
AmebaD [AMB21 / AMB22 / AMB23 / BW16 ] x 2
Grove – 红外线发射器 x1 (Figure 1)
Grove – 红外线接收器 x1 (Figure 2)
范例说明
在此范例中,我们使用两个Ameba RTL8722模块,它们分别与红外线(IR)发射器和IR接收器连接,以发送和接收IR NEC 原始数据。
有关更多详细信息,请参阅SB-Projects的主题 IR Remote Control Theory 学习IR遥控器操作的理论以及IR协议说明。在此范例中,我们将使用NEC(Now Renesas,也称为日语格式)作为传输协议。
8位元地址和8位元命令长度。
具扩展模式,地址长度加倍。
为了确保可靠性,发送两次地址和命令。
Pulse distance modulation.
载波频率为38kHz。
Bit Time为1.125ms或2.25ms。
有关更多详细信息,请参阅SB-Projects的主题 IR Remote Control Theory 学习IR遥控器操作的理论以及IR协议说明。 在此范例中,我们将使用NEC(Now Renesas,也称为日语格式)作为传输协议。
图七和图八显示了AMB21 / AMB22板的红外发射器和接收器的引脚配置。
图九和图十显示了BW16板的红外发射器和接收器的引脚配置。
正确设置连接后,我们将介绍此范例的编码部分。首先,确保在Arduino IDE中选择了正确的Ameba开发板:“Tools”->“Board”。
在“File”->“Examples”->“ AmebaIRDevice”->“ IRSendRAW”中打开“ IRSendRAW”范例(图十一),并将其上传到与IR Emitter连接的第一块板上:
成功上传IRSendRaw的范例代码后,您可能需要从“File”->“Examples”->“ AmebaIRDevice”->“ IRRecvNEC”上传与IR接收器连接的第二块板的IRRecvNEC范例。
打开IR接收器的serial monitor并按两块开发板上的重置按钮后,将每3秒接收一次数据“ 48”(由于具有delays()函式,因此不必强制等待)。解码来自接收引脚D8的信号并使用逻辑分析仪和脉冲视图发送引脚D9(图十二)后,使用IR NEC协议解码接收数据后,结果也显示为“ 48”。
程式码说明











