【训练营_进阶班】物联网红外遥控器
简介
暂无
简介:暂无开源协议
:GPL 3.0
描述
注:本项目硬件正在进行更新,想做的朋友可以等待最新版PCB,以下项目介绍针对当前版本,最新版本地址可以前往我的主页查看 : )
功能简介
本项目是基于 ESP8266 和 STC89C52 的万能红外遥控器,可通过阿里云平台web界面进行红外家电的控制,并可通过 DS18B20 获取当前室内温度进行显示,工作状态可通过 WS2812B 进行显示。
该项目选择 STC89C52 单片机进行红外信号调制和 DS18B20 的读取,之后通过串口将温度发送给 ESP8266,ESP8266 配网之后连接至阿里云平台,之后定时上传温度数据并接收控制页面发送的遥控信息,然后通过串口控制 STC89C52 发送对应的红外遥控信号。系统等待配网、配网成功以及发射遥控信号时均可通过 WS2812B 进行状态指示,指示灯可在控制页面关闭。
硬件介绍
因为硬件部分比较简单,原理图部分已经按功能划分好了,所以在这里电路介绍就比较简单也不放上对应的贴图了。
STC89C52最小系统
STC89C521 最小系统电路除芯片外只外接了一个12Mhz的晶振和两个电容,引出了串口用于程序的烧录。
ESP8266最小系统
ESP8266 最小系统也是比较简单,只需两个电阻一个电容,模块型号使用的是 ESP-12F,设计了两个按键用于复位和烧录,同样引出了串口,便于烧录。
3.3V电源电路
3.3V电源芯片选择的是 AMS1117,电路简单,主要用于给 ESP8266、WS2812B 和串口电平转换电路等供电,配有一个LED指示灯用于观察输出是否正常。
红外二极管驱动电路
红外二极管采用灌电流驱动,每个二极管串联1K的限流电阻,在使用时要注意电流的大小,避免对单片机造成损害。
DS18B20电路
DS18B20 供电电源为5V,使用时在数据脚上拉一个4.7K的电阻即可。
WS2812B电路
WS2812B 主要用于指示系统状态,供电电源为3.3V,信号脚连接至 ESP8266 的11号引脚。
串口电平转换电路
STC89C52 的串口电压为5V,ESP8266 的串口电压为3.3V所以在它们串口通信时需要通过电平转换电路,防止 ESP8266 因电压过高出现问题。
外壳设计
外壳的设计选择亚克力材料,外壳图纸使用立创EDA绘制,项目地址如下:

用立创EDA编辑器打开外壳的图纸,依次点击 文件——导出——DXF 在弹出的窗口中选择只选择导线,然后点击导出即可。导出的文件可以发给淘宝店家加工或者自己切割,亚克力厚度2MM左右即可,PCB的厚度是1MM。上下层外壳连接使用M2螺柱,螺柱尺寸分别是 M2.0*8+5 M2.0*5+5。
实物图片及功能演示
先放两张立创EDA的3D预览图


这是通电工作时的图片,飞线原因后面会有说明,WS2812B 没有点亮,是因为旁边的LED电源指示灯太亮,全开的话拍照就不太清楚了。。。

演示视频已上传至附件。
控制界面展示
控制界面目前只有空调和电视两个,因为阿里云 IOT studio 只剩下web可视化的开发了,所以就先做一个web界面测试一下设备的功能,后面会重新开发一个app用于控制设备。
下图为web控制界面的图片,空调界面上方会显示室内温度和室外温度,下方为空调设置按钮,电视界面的左侧是基本的电视遥控器按钮,右侧的表格可以放电视节目单。



设计问题及后续计划
设计问题
- 在实际焊接时因为焊接原因导致
STC89C52电路无法工作,因为时间原因没法再购买芯片,所以通过飞线将红外二极管的驱动脚连接至ESP8266。 - 在驱动红外二极管时采用灌电流驱动,最初PCB设计中共有6个红外二极管,打样后发现灌电流过大,超过
STC89C52单个IO口承受能力,所以在实际焊接时只焊接了3个二极管,虽然二极管数量减少但红外信号覆盖范围依然很大。 - 外壳设计时预留的USB数据线接口比较小,导致数据线塞不进去,只能不安装有USB口的那一面外壳,现在外壳尺寸已经修改,可直接使用。
- 耗费时间最长的还是红外信号的编解码,解码部分使用
arduino的IRremote.h库完成,在解码电视遥控器时解码很成功,但在解码空调遥控器时因为程序问题导致遥控信号接收不全,因为某品牌空调遥控信号分为两段中间通过20ms低电平连接,但因为20ms时间过长导致只能接收前半段信号。虽然后面在网上找到了遥控信号的格式,但调试时还是有问题,只能等逻辑分析仪到货后再添加空调遥控的功能了。 - 红外编码最开始使用的
STC89C52,但因为焊接问题后面就换到ESP8266了,不过STC89C52我也只添加了NEC协议的信号调制,换到ESP8266之后发现信号调制有现成的库,所以第二版会取消STC89C52。
后续计划
- 取消
STC89C52电路,红外遥控信号的调制通过ESP8266完成。 - 增加红外接收二极管,可进行红外遥控信号的学习。
- 增加
DHT11传感器,取消DS18B20,控制界面增加湿度显示。 - 增加
ESP8266自动下载电路,便于更新程序。 - 外壳以及PCB尺寸与第一版相同。
- 开发配套的
Android app,不再使用web界面进行控制。 - 取消3.3V电源指示灯(太亮了,影响对状态指示灯的观察)。
因为开学后要考试,所以项目更新会比较慢,最新版程序基本写好,硬件部分会抽时间更新。
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。










