本文作者:立创开源硬件平台 OSHWHub 用户@lengyuefeng,禁止商用,未经许可禁止转载,点击查看原文章
为什么又要做个遥控器呢,原因有二:其一,因为我舍友在底下自习室,别人把空调总是开的很低,他身体受不了,他就想着调高一点,奈何他手机没有红外,空调又没有遥控器,都没有,那就只能做一个了。其二,因为立创EDA最近有一个活动,既然有活动,那肯定有奖励啊,贯彻白嫖精神,必须得参加啊,但白嫖也是有原则的,(总要做点什么东西吧),于是就做个红外遥控器吧。
红外遥控有发送和接收两个部分组成。发射端采用单片机将待发送的二进制信号编码调制为一系列的脉冲串信号,通过红外发射管发射红外信号。红外接收完成对红外信号的接收、放大、检波、整形、并解调出遥控编码脉冲。
红外遥控发射装置,其主要元件为红外发光二极管,单只红外发光二极管的发射功率约为100mw。
红外遥控的控制距离约为10米。
2、数据协议
最常见的数据协议是:==NEC编码。== 还有其他协议:ITT 、a Nokia 、NRC、Sharp、Sony
红外遥控协议组成: 一般是引导码、用户码、按键码、重复码、按键反码、结束码等组成。
红外遥控载波频率: 33K 、 36K 、 36.6K 、 38K 、 40K 、 56K 。常用38K,以37.916K最准确。红外载波占空比:1/3 、1/2、不常用的有1/4。
3、编码
红外遥控发射采用PPM编码方式,当发射时,将发射一组108ms的编码脉冲。遥控编码脉冲由前导码、16位地址码(8位地址码、8位地址码的反码)和16位操作码(8位操作码、8位操作码的反码)组成。
通过对用户码的检验,每个遥控器智能控制一个设备动作,这样可以有效地防止多个设备之间的干扰。
编码后面还要有编码的反码,用来检测编码接收的正确性,防止误操作,增强系统的可靠性。
前导码是一个遥控器的起始部分,由一个9ms的高电平(起始码)和一个4.5ms的低电平(结果码)组成,作为接收数据的准备脉冲。
以脉宽为0.56ms、周期为1.12ms的组合表示二进制的”0“,以脉宽为1.68ms、周期为2.24ms的组合表示二进制的”1“。
其他解码说明、解码过程,程序的编写和烧录可参考原工程,更为详细。
4、硬件制作
主控芯片我采用的是STC8A8K-44脚的单片机,主要是因为我手里头还有两个。这个功能也是非常强悍的,但我都没有用到,有点浪费了。
之前那个红外电路不能正常工作,捣鼓了好久,就是不行。之前开发板上有一个红外发射,我换成那个电路就可以工作了。
为什么我要加一个显示屏呢,这是因为我需要显示当前空调的一些状态信息,这样我就能清楚直观的看到空调的当前状态,方便我进行下一步操作。
没什么好说的,就是把5V转化为3.3V使用。
因为是遥控器吗,那么肯定是便携式的,那肯定要加一个电池,电池是3.7V左右,我的单片机工作在5V,那么肯定要转换为5V。
既然我们都用到电池,那么肯定要有充电电路,电池没电了,总不能把电池扣下来,充好电再装上去吧,太麻烦,直接插电充。
因为空调的控制按键比较多,这里我就用了一个4x4的矩阵按键, 这样可以用更少的IO口控制更多的按键,可以节省单片机资源。
这个是扩展功能,后续会在屏幕上显示当前的时间,这样,可以更大的利用单片机的资源。
这个也是扩展模块,后续如果想做成学习型的红外遥控器,那么保存数据肯定少不了,这个模块可以存储数据,并且速度也不慢。
这也是扩展模块。后续想要做成联网的,只要把遥控器放到空调旁边,通过手机就可以控制空调的打开和关闭,实现远程控制,这个应用也是非常方便的。
5、成品展示
演示视频:见附件
6、文档
工程附件
本文作者:立创开源硬件平台 OSHWHub 用户@lengyuefeng,禁止商用,未经许可禁止转载
SX32Y025000BK1T003/无源晶振 | 0.222 | |
XO32C008000GDHE001/有源晶振 | 1.46 | |
XO32C024000GBHE003/有源晶振 | 1.46 | |
SX32Y008000BC1T001/无源晶振 | 0.5772 | |
SX32Y012000BK1T005/无源晶振 | 0.2331 | |
GRM21BZ71E106KE15L/贴片电容(MLCC) | 0.272017 | |
GRM188Z71A106KA73D/贴片电容(MLCC) | 0.210359 | |
GRM188Z71C475KE21D/贴片电容(MLCC) | 0.240259 | |
ATMEGA48PA-AU/单片机(MCU/MPU/SOC) | 6.17 | |
GRM035R60J475ME15D/贴片电容(MLCC) | 0.162562 |
50万+现货SKU
品类不断扩充中
科技智能大仓储
最快4小时发货
正品有保障
物料可追溯
明码标价节省时间
一站式采购元器件