红外遥控接收发射原理及ESP8266实现
红外遥控是利用近红外光进行数据传输的一种控制方式。近红外光波长0.76um~1.5um ,红外遥控收发器件波长一般为 0.8um~0.94um ,具有传输效率高,成本低,电路实现简单,抗干扰强等特点,在家用电器上被广泛使用。
红外遥控一般有发射和接收两部分组成,发射元件为红外发射管,接收一般采用一体化红外接收头,但发射载波频率与接收头固定频率需一致才能正确接收。
一、发射
1. 调制
红外遥控是以调制方式发射数据,将数据调制到固定的载波上发送,调制发送抗干扰能力更强,传送距离也更远。红外发送首先要解决的就是调制问题。
目前主流的调制方式有PPM和PWM。
- PPM:脉冲位置调制,调制脉冲宽度不变,用脉冲间隔来区分0和1。如下图所示,脉冲宽度不变都是560us,脉冲间隔改变。逻辑1总时间为2.25ms,逻辑0中时间长度为1.12ms。
图1:PPM调制
- PWM:脉冲宽度调制,脉冲间隔不变,调制脉冲宽度改变。如下图所示,脉冲间隔 为600us,脉冲宽度不同。逻辑1高电平时间为1.2ms,逻辑0高电平时间为0.6ms。
图2:PWM调制
调制载波频率一般在30KHz到60KHz之间,常用的载波有33K,36K,36.6K,38K,40K,56K等,其中38K使用最多。
常用占空比有1/3、1/2,1/3最多。
2. 红外传输协议
常用的红外传输协议有ITT协议、NEC协议、Nokia NRC协议、Sharp协议、Philips RC-5、RC-6 RECS-80协议、Sony SIRC协议等,其中最常见的为NEC协议。
常见NEC协议分析:
l 载波38KHz,逻辑1为2.25ms,脉冲时间560us;逻辑0为1.12ms,脉冲时间560us
图3:NEC逻辑’0’与逻辑’1’
l 协议格式
图4:NEC红外载波发送协议
(1) 首先发送9ms的高电平脉冲
(2) 然后发送4.5ms的低电平
(3) 接下来是8bit的地址码(低位在前)
(4) 然后是8bit的地址反码,用于检验地址码是否出错
(5) 接下来的是8bit的命令码(低位在前)
(6) 然后是8bit的命令反码,用于检验命令码是否出错。
l 重复码
图5:NEC重复发送载波协议
如果一直按着一个键,将以110ms为周期发送重复码,重复码由9ms高电平、2.25ms低电平及560us高电平组成。
图6:NEC重复码
3. 编码
虽然不同协议都对各自的协议格式做了不同定义,但总体而言还是有高低电平组成的一串数据。
对于红外发射,就是按照协议规定高电平时间内,在红外输出口输出固定频率载波;低电平则直接输出低。红外接收头接到载波时输出高电平,没有载波时输出低电平,完成数据解码。
图7:NEC解码后协议
二、接收
红外接收常采用一体化红外接收头,集红外接收、放大、滤波、比较器输出等功能,并输出MCU可识别的TTL信号的。常用的一体化红外接收头有SCR638、HS0038、VS1838等。
SCR638
HS0038
图8:一体化接收头
红外接收应用电路图:
图9:红外接收典型应用
三、ESP8266红外发送与接收
ESP8266定义了1个IR红外遥控接口,IR红外遥控接口由软件实现,接口定义如下:
图10:ESP8266红外管脚定义
1. 发送
在ESP8266上用于发送的载波可以通过以下方式实现:
1) I2S的BCK
2) WS管脚产生
3) 由GPIO中的sigma-delta功能在任意GPIO口产生载波。
其中sigma-delta产生的载波占空比约为20%,推荐使用MTMS管脚(GPIO14),可产生准确的38KHz且占空比为50%的标准方波。
2. 接收
红外接收功能通过GPIO的边沿中断实现,读取系统时间,将2次时间相减可以得到波形持续时间,然后通过软件逻辑实现红外协议处理。
红外遥控接收发射原理及ESP8266实现的更多相关文章
- 玩转X-CTR100 l STM32F4 l 红外遥控接收
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] X-CTR100控制器具有红外接收头,例程 ...
- GP1UM26(78)1RK远程红外遥控接收IC数据手册学习
1.Features 该系列IC具有多种BMP带通频率可供选择,典型的GP1UM261RK带通频率为38KHz,内部的前置放大器等放大电路工作频率均为38KHz. Compact紧凑型,体积小 2.i ...
- C8051 PCA实现红外遥控接收
这里使用的处理器是C8051F005.红外接收头接处理器引脚,中断方式接收按键数据. 一 PCA介绍 1.1 PCA 可编程计数器阵列(PCA)提供增强的定时器功能,与标准8051计数器/定时器相比, ...
- 基于Arduino、STM32进行红外遥控信号接收
catalogue . 遥控器原理简介 . 红外遥控原理 . 常见红外遥控器红外线信号传输协议 . 遙控器的发展 . 实验过程 . 攻击面 . 基于STM32实现红外信号解码 1. 遥控器原理简介 0 ...
- 基于FPGA的红外遥控解码与PC串口通信
基于FPGA的红外遥控解码与PC串口通信 zouxy09@qq.com http://blog.csdn.net/zouxy09 这是我的<电子设计EDA>的课程设计作业(呵呵,这个月都拿 ...
- 基于Arduino的红外遥控
1.红外接收头介绍 一.什么是红外接收头? 红外遥控器发出的信号是一连串的二进制脉冲码.为了使其在无线传输过程中免受其他红外信号的干扰,通常都是先将其调制在特定的载波频率上,然后再经红外发射二极管 ...
- Arduino红外遥控系列教程2013——红外转码
教程三:红外转码教程——用电视遥控器取代机顶盒遥控器 前言前段时间看到了使用红外遥控的X-Bot机器人[链接],感觉很有意思.最近开始玩Arduino与红外,一方面打算将来用于BOXZ的之间的通讯控制 ...
- 基于STM32的红外遥控重点解析
本文有两个内容:一.红外遥控协议的的讲解:二.解码程序解析(参考正点原子的代码) 红外的介绍.优点.缺点就不给大家说了,进入正题 一.红外遥控协议的的讲解 红外遥控的编码目前广泛使用的是:NEC Pr ...
- 手机遥控器,3.5mm耳机接口红外遥控改造解析
很多家电都用红外遥控,如电视机.机顶盒.空调.电风扇等.越来越多的遥控器反而给我们带来了更多的问题,有时找不到遥控器放哪儿了,或者混淆了都是麻烦,事实上对手机进行简单的改造,可以自制一个万能红外遥控器 ...
随机推荐
- Redis学习笔记(五)——数据结构之哈希(Hash)
一.介绍 Redis hash是一个string类型的field和value的映射表,hash特别设于用于存储对象. Redis中每个hash可以存储232 - 1 键值对(40多亿). 基本命令: ...
- DOSbox简单运行操作
打开DOSbox 先输入 mount c e:\dos e:\dos 是我的电脑上DOSbox的安装位置,你们自己的电脑上位置不同,自己找找. 2.输入 c: ,再输入 masm 结果如下 : ...
- django 连接 mysql数据库
1.安装mysqlclient pip install mysqlclient 或 pycharm --> File --> settings --> Project: (项目名称) ...
- NB-IoT技术适合在哪些场景应用
LPWAN,Low Power Wide Area Network,低功耗广域网.名字里就有它的两个最重要的特点:低功耗.广覆盖.目前比较主流的有:NB-IoT.LoRa.Sigfox.eMTC.NB ...
- Android Studio的第一次经历
第一个简单APP的制作是从xml开始的,通过在java新建一个empty activity,并在layout里找到对应的xml文件进行编写.每编写一个xml就要事先新建 一个对应的empty ac ...
- WC2019 填坑记
2019年1月8日 1.Luogu P2147 [SDOI2008]洞穴勘测 (LCT模板题&LCT学习) 2019年1月9日 2.LuoguP3203 [HNOI2010]弹飞绵羊 (LC ...
- POJ2432 Around the world
题意描述 Around the world 在一个圆上有 \(n\) 点,其中有 \(m\) 条双向边连接它们,每条双向边连接两点总是沿着圆的最小弧连接. 求从 \(1\) 号点出发并回到 \(1\) ...
- P1948 [USACO08JAN]Telephone Lines S
题意描述 在无向图中求一条从 \(1\) 到 \(N\) 的路径,使得路径上第 \(K+1\) 大的边权最小. 等等,最大的最小...如此熟悉的字眼,难道是 二分答案. 下面进入正题. 算法分析 没错 ...
- linux查找大文件及详细问题
查询大文件du -h --max-depth=1 查询指定目录下面的文件大小du -h --max-depth=1 /path 使用find命令查找大于200M文件 find / -type f -s ...
- phpstorm XDebug 调试
最近要实现php功能,要提供个接口提供访问,但是我就是个菜鸡,网上找了一堆,所以来提供踩坑心得了 参考文档: https://blog.csdn.net/yinhangbbbbb/article/de ...