scratch创意设计 发表于 2022-7-20 16:10:08

ASR扩展库——红外收发扩展库

本帖最后由 scratch创意设计 于 2022-7-22 12:53 编辑

扩展库使用说明——红外收发扩展库
一、概述
   红外线的应用,从日常生活到军工产品都有。如:红外线开关、医疗保健、遥控器、红外接口、防盗装置、红外遥感以及红外侦察等。日常生活中接触最多的是红外线遥控器,被广泛使用在各种类型的家电产品上(如遥控开关、智能开关等)。
    目前红外遥控器广泛使用的两种遥控码格式,一种是NEC Protocol 的PWM( 脉冲宽度调制) 标准,一种是Philips RC-5 Protocol 的PPM( 脉冲位置调制) 标准。
    本扩展库为通过单片机来实现红外NEC编码,驱动红外模块发送红外信号来控制对应的设备。
二、硬件连接方式    红外发送模块是一款38KHz红外线发射传感器,可发射标准38KHz的调制信号,通过对单片机进行编程,即可实现对38KHzIR信号接收设备的指令操作。工作电压是5V,调制频率是38KHz。
    红外接收模块是一款38KHz红外线接收传感器,可接收标准38KHz调制的遥控器信号,通过对单片机进行编程,即可实现对遥控器信号的解码操作。和单片机、红外发送模块配合使用可实现红外无线通讯。工作电压是5V,调制频率是38KHz。
三、编码协议
NEC编码协议说明



四、库的函数功能

参数:设置红外接收的引脚

返回参数: 一个字节数据。

返回参数: 一个字节数据。

返回参数: 0,没有接收到数据;其他值,数据长度。

红外接收回调函数,50uS调用一次

红外发送脉冲信号,选择PWM引脚。
注意:红外发送初始化前,需要选择有对应PWM功能引脚,PA2设置引脚复用功能如下图所示


设置引脚PA2复用功能为第五功能,即PWM0,如上图所示。PA2第一复用功能为PA2(GPIO),第二复用功能为IIS0_SDI,第三复用功能为IIC0_SDA,第四复用功能为UART1_TX,第五复用功能为PWM0,第六复用功能为RC_CLK_V。

参数:地址,一个字节数据;命令,一个字节数据

临界保护:一段在执行的时候不能被中断的代码段。
五、综合案例1号ASR PRO设备红外接收



2号ASR PRO设备红外发送


打开1号ASR PRO设备的串口监视器,然后唤醒2号ASR PRO设备,向2号ASR PRO设备发出“一号按键”、“二号按键”“三号按键”“四号按键”指令,1号ASR PRO设备通过红外接收模块接收到2号ASR PRO设备的红外发射模块发送的红外NEC码,串口打印出NEC码的地址和数据。

hxydmt 发表于 2022-10-6 23:02:19

只能发送NEC码,可玩性太小了:L

marry119 发表于 2022-10-26 12:40:24

大神,啥时候升级一下支持Philips RC-5 Protocol 的PPM

marry119 发表于 2022-10-26 13:57:06

marry119 发表于 2022-10-26 12:40
大神,啥时候升级一下支持Philips RC-5 Protocol 的PPM

感谢大神分享,发现遥控器还是 NEC多

408490923 发表于 2022-11-8 02:30:34

强烈希望能支持nec16位码发射

ghy168 发表于 2023-4-14 23:15:38

哥哥,能帮写一个红外收发程序吗?
页: [1]
查看完整版本: ASR扩展库——红外收发扩展库