锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

红外遥控器

时间:2023-01-24 06:30:00 线串接56k电阻au3电阻器定时器丝印6k三极管

文章目录

  • 前言
  • 续言
  • 一、红外基础知识
  • 二、数据协议
  • 三、编码
    • 1.编码基础
    • 2.编码格式
  • 红外解码过程
  • 五、控制空调
    • 1.准备阶段
    • 2.解码
    • 3.编写程序
    • 4.烧写程序
  • 六、遥控遥控硬件
    • 1.主控芯片
    • 2.红外发射
    • 3.OLED显示屏
    • 4.稳压电路
    • 5.升压电路
    • 6.充电电路
    • 7.矩阵按键
    • 8.时钟电路
    • 9.存储芯片
    • 10.WIIF模块
  • 七、电路板焊接调试
    • 1.首先焊接单片机和电源部件
    • 2.焊接升压电路
    • 3.焊接时钟和存储芯片
    • 4.焊接背面
    • 5.焊接红外和按键
    • 6.最后效果
  • ==========测试完毕

前言

还记得大一的时候开始学习单片机,那时候就接触了红外接收,也正常通信过,用的是配套的遥控器。后来发现实验室的开发板上还有一个红外发射头,既然如此,为什么不去做一个红外遥控器呢?

我还记得大二暑假的时候,在家闲着没事的时候,想做一个红外遥控器来控制家里的电器。我想控制的第一件事是家里的电视(创维)。

傻傻的:
当时是电视的遥控器,直接用原来的红外接收程序接收。结果发现,即使一直按一个按钮,它的代码也会一直改变(笑死)。当时可能还是处于无知状态,从来没有找到原因。后来听说要用示波器测试(或者逻辑分析仪),因为没有这些东西,就搁置了。

在大二下学期,当时花了二十多大洋买了一个小型的逻辑分析仪,就又折腾了一下,通过红外接收和逻辑分析仪,再加上一个遥控器,齐活,胡乱搞了一通,算是能实现实验室空调的一些简单的控制,算是基本成功了吧。

续言

为什么要做遥控器,原因有二:

第一:因为我的室友在下面的自习室,其他人总是打开空调很低,他的身体无法忍受,他想提高一点,但他的手机没有红外线,空调没有遥控器,没有,只能做一个。

二是因为立创EDA最近有一个活动动。既然有活动,就必须有奖励。要贯彻白嫖精神,就必须参与,但白嫖也有原则(总要做点什么),所以做一个红外遥控器。

一、红外基础知识

红外遥控器由发送和接收两部分组成。发射机将待发送的二进制信号编码调整为一系列脉冲串信号,并通过红外发射管发射红外信号。红外接收完成了红外信号的接收、放大、波检测、整形手术,并调整了遥控编码脉冲。

红外遥控发射装置的主要部件是红外发光二极管,单个红外发光二极管的发射功率约为100mw。

红外遥控的控制距离约为10米。

二、数据协议

最常见的数据协议是NEC编码。
还有其他协议:ITT 、a Nokia 、NRC、Sharp、Sony

红外遥控协议组成: 一般是引导码、用户码、按键码、重复码、按键反码、结束码等组成。

红外遥控载波频率: 33K 、 36K 、 36.6K 、 38K 、 40K 、 56K 。常用38K,以37.916K最准确的红外载波占空比:1/3 、1/2,1/4不常用。

三、编码

1.编码基础

采用红外遥控发射PPM编码射时,将发射一组108ms编码脉冲。遥控编码脉冲由前导码、16位地址码(8位地址码、8位地址码反码)和16位操作码(8位操作码、8位操作码反码)组成。

通过检查用户码,每个遥控器智能控制一个设备的动作,可以有效防止多个设备之间的干扰。

编码后面还有反码,用来检测编码接收的正确性,防止误操作,提高系统的可靠性。

2.编码格式

前导码是遥控器的起始部分,从9开始ms高电平(起码)和4.5ms作为接收数据的准备脉冲,由低电平(结果码)组成。

以脉宽为0.56ms、周期为1.12ms组合表示二进制0,脉宽为1.68ms、周期为2.24ms组合表示二进制1。

红外解码过程

1 、单片机配置寄存器,打开P推荐使用32脚下降沿中断和定时器中断 8 位置自动重新安装,最大定时96us.

2 、当引导码38KHz红外照射接收器时,接收器向单片机输出低电平P3.2脚触发下降边缘的中断 。

3 、首先保存定时器的时间值,然后清除定时器的自定义变量(非寄存器) ) 。

4 、下一次38KHz当它到来时,继续触发下降边缘的中断。和前一次一样。在清除自定义变量之前,先保存时间值。

5 、上述 红外遥控器最基本的时差是两次沿中间下降的时差。

6 、根据时间长短,判断出现正确的引导码后,保存后续32个时间长度(即连续下降边,时差) ) 。

7 、分 分别判断8位数据的时间长度。根据协议识别1和0。 八位在前高位在后。

8 、 整个NRC协议的顺序是 :9ms 4.5ms 引导码 、8用户机器代码 、8位机器反码 、8位按键码 、8位按键反码。

配套红外遥控编码
在这里插入图片描述

五、控制空调

1.准备阶段

首先有一个空调的遥控器和一个红外接收头,还需要一个逻辑分析仪和带的上位机软件。

2.解码

首先,我们需要知道空调遥控器的编码格式

接收红外接收头的数据引脚,然后打开上位机的逻辑分析仪,

点击start开始采集,在采集的过程中我们按下遥控器要解码的一个按键。

逻辑分析仪之后会出现波形,
如下:

在这里,我已经写下了波形是0还是1。
记住编码格式是:

每8个二进制数据是一个字节,然后这8个二进制从低到高发送,
例如:1011 0010 表示第一个字节
所以我们知道前面是低,后面是高,所以从高到低应该是0100 1101 正确的编码是4D,后面也是如此。

我在这里测量了关空调的指令,所以得出结论,关空调的指令是

uchar code ir_close[6]= { 
        0x4D,0xB2,0xDE,0x21,0x07,0xF8};//关空调指令

后面的测试也是类似的,我就不写出来了。

下面是美的空调(型号:RN02U/BG)的一些编码。

== 固定编码==
下面这些编码是固定的,不改变。

unsigned char shangxiafeng[6] = { 
        0x9D,0x62,0xAF,0x50,0x20,0xDF}; //上下风
unsigned char zuoyoufeng[6] = { 
        0x9D,0x62,0xAF,0x50,0xE0,0x1F};  //左右风

== 不固定编码==
下面这些编码不是固定的,是组合编码
关于组合编码的格式:

4D B2 :这两个码是固定的
第三个字节:表示风速
第四个字节:表示风速的反码
第五个字节:高4位表示模式,低四位表示温度
第六个字节:高4位表示模式的反码,低4位表示温度的反码
4D B2 FD 02 3A C5
FD 02代表风速大小
3 C代表模式
A 5代表温度

模式:
1.自动 1110 E
2.制冷 1111 F
3.抽湿 1101 D
4.制热 1100 C

风速
AU: FD 02
20%:FF 00
40%:F9 06
60%:FA 05
80%:FC 03
F%(测试不成功):FC 03

温度:
17: 0000 0 18:1000 8 19:1100 C
20:0100 4 21:0110 6 22:1110 E
23:0101 A 24:0100 2 25:1100 3
26:1011 B 27:1001 9 28:0001 1
29:1010 5 30:1101 D

3.编写程序


更多详细的内容,请查找完整的代码。

4.烧写程序

将程序烧录到开发板,验证即可。

六、遥控器硬件制作

1.主控芯片

主控芯片我采用的是STC8A8K-44脚的单片机,主要是因为我手里头还有两个。这个功能也是非常强悍的,但我都没有用到,有点浪费了。

2.红外发射

之前那个红外电路不能正常工作,捣鼓了好久,就是不行。之前开发板上有一个红外发射,我换成那个电路就可以工作了。

3.OLED显示屏

为什么我要加一个显示屏呢,这是因为我需要显示当前空调的一些状态信息,这样我就能清楚直观的看到空调的当前状态,方便我进行下一步操作。

4.稳压电路

没什么好说的,就是把5V转化为3.3V使用。

5.升压电路

因为是遥控器吗,那么肯定是便携式的,那肯定要加一个电池,电池是3.7V左右,我的单片机工作在5V,那么肯定要转换为5V。

6.充电电路

既然我们都用到电池,那么肯定要有充电电路,电池没电了,总不能把电池扣下来,充好电再装上去吧,太麻烦,直接插电充。

7.矩阵按键

因为空调的控制按键比较多,这里我就用了一个4x4的矩阵按键,
这样可以用更少的IO口控制更多的按键,可以节省单片机资源。

8.时钟电路

这个是扩展功能,后续会在屏幕上显示当前的时间,这样,可以更大的利用单片机的资源。

9.存储芯片

这个也是扩展模块,后续如果想做成学习型的红外遥控器,那么保存数据肯定少不了,这个模块可以存储数据,并且速度也不慢。

10.WIIF模块

这也是扩展模块。后续想要做成联网的,只要把遥控器放到空调旁边,通过手机就可以控制空调的打开和关闭,实现远程控制,这个应用也是非常方便的。

七、电路板焊接调试

1.先焊接单片机和电源部分

首先我们要确定电源没有问题,因为这个是内部晶振,所以晶振不用管,焊接这一部分之后,我们就可以看看是否能把程序烧录到单片机。

这一部分如果没有问题的话,基本就成功了,后续都是辅助。

2.焊接升压电路

升压电路是把电池的3.7V升压到5V。

3.焊接时钟和存储芯片

这一部分是扩展电路,我们需要就焊,不焊也没有影响

4.焊接背面

背面是按键的一些电阻,蜂鸣器的三极管,红外的三极管

5.焊接红外和按键

焊接完这一部分,我们基本就焊接完毕

6.最后效果

最后我们下载程序,可以出现这个界面,按每个按键(看丝印)执行对应的功能。

==========测试完毕

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章