站内搜索
发作品签到
【训练营_进阶班】物联网红外遥控器
标准版

【训练营_进阶班】物联网红外遥控器

工程标签

DIY设计

5.0k
0
0
12

简介

暂无

简介:暂无

开源协议

GPL 3.0

创建时间:2020-08-06 14:17:09更新时间:2022-07-12 15:30:35

描述

注:本项目硬件正在进行更新,想做的朋友可以等待最新版PCB,以下项目介绍针对当前版本,最新版本地址可以前往我的主页查看 : )

功能简介

本项目是基于 ESP8266STC89C52 的万能红外遥控器,可通过阿里云平台web界面进行红外家电的控制,并可通过 DS18B20 获取当前室内温度进行显示,工作状态可通过 WS2812B 进行显示。

该项目选择 STC89C52 单片机进行红外信号调制和 DS18B20 的读取,之后通过串口将温度发送给 ESP8266ESP8266 配网之后连接至阿里云平台,之后定时上传温度数据并接收控制页面发送的遥控信息,然后通过串口控制 STC89C52 发送对应的红外遥控信号。系统等待配网、配网成功以及发射遥控信号时均可通过 WS2812B 进行状态指示,指示灯可在控制页面关闭。

硬件介绍

因为硬件部分比较简单,原理图部分已经按功能划分好了,所以在这里电路介绍就比较简单也不放上对应的贴图了。

STC89C52最小系统

STC89C521 最小系统电路除芯片外只外接了一个12Mhz的晶振和两个电容,引出了串口用于程序的烧录。

ESP8266最小系统

ESP8266 最小系统也是比较简单,只需两个电阻一个电容,模块型号使用的是 ESP-12F,设计了两个按键用于复位和烧录,同样引出了串口,便于烧录。

3.3V电源电路

3.3V电源芯片选择的是 AMS1117,电路简单,主要用于给 ESP8266WS2812B 和串口电平转换电路等供电,配有一个LED指示灯用于观察输出是否正常。

红外二极管驱动电路

红外二极管采用灌电流驱动,每个二极管串联1K的限流电阻,在使用时要注意电流的大小,避免对单片机造成损害。

DS18B20电路

DS18B20 供电电源为5V,使用时在数据脚上拉一个4.7K的电阻即可。

WS2812B电路

WS2812B 主要用于指示系统状态,供电电源为3.3V,信号脚连接至 ESP8266 的11号引脚。

串口电平转换电路

STC89C52 的串口电压为5V,ESP8266 的串口电压为3.3V所以在它们串口通信时需要通过电平转换电路,防止 ESP8266 因电压过高出现问题。

外壳设计

外壳的设计选择亚克力材料,外壳图纸使用立创EDA绘制,项目地址如下:

物联网红外遥控器外壳

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

实物图片及功能演示

先放两张立创EDA的3D预览图

QQ截图20200824032639.png

QQ截图20200824032714.png

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

IMG_996820200818152013.JPG

演示视频已上传至附件。

控制界面展示

控制界面目前只有空调和电视两个,因为阿里云 IOT studio 只剩下web可视化的开发了,所以就先做一个web界面测试一下设备的功能,后面会重新开发一个app用于控制设备。

下图为web控制界面的图片,空调界面上方会显示室内温度和室外温度,下方为空调设置按钮,电视界面的左侧是基本的电视遥控器按钮,右侧的表格可以放电视节目单。

QQ截图20200824034436.png

QQ截图20200824034455.png

QQ截图20200824035104.png

设计问题及后续计划

设计问题

  • 在实际焊接时因为焊接原因导致 STC89C52 电路无法工作,因为时间原因没法再购买芯片,所以通过飞线将红外二极管的驱动脚连接至 ESP8266
  • 在驱动红外二极管时采用灌电流驱动,最初PCB设计中共有6个红外二极管,打样后发现灌电流过大,超过 STC89C52 单个IO口承受能力,所以在实际焊接时只焊接了3个二极管,虽然二极管数量减少但红外信号覆盖范围依然很大。
  • 外壳设计时预留的USB数据线接口比较小,导致数据线塞不进去,只能不安装有USB口的那一面外壳,现在外壳尺寸已经修改,可直接使用。
  • 耗费时间最长的还是红外信号的编解码,解码部分使用 arduinoIRremote.h 库完成,在解码电视遥控器时解码很成功,但在解码空调遥控器时因为程序问题导致遥控信号接收不全,因为某品牌空调遥控信号分为两段中间通过20ms低电平连接,但因为20ms时间过长导致只能接收前半段信号。虽然后面在网上找到了遥控信号的格式,但调试时还是有问题,只能等逻辑分析仪到货后再添加空调遥控的功能了。
  • 红外编码最开始使用的 STC89C52,但因为焊接问题后面就换到 ESP8266 了,不过 STC89C52 我也只添加了 NEC 协议的信号调制,换到 ESP8266 之后发现信号调制有现成的库,所以第二版会取消 STC89C52

后续计划

  • 取消 STC89C52 电路,红外遥控信号的调制通过 ESP8266 完成。
  • 增加红外接收二极管,可进行红外遥控信号的学习。
  • 增加 DHT11 传感器,取消 DS18B20,控制界面增加湿度显示。
  • 增加 ESP8266 自动下载电路,便于更新程序。
  • 外壳以及PCB尺寸与第一版相同。
  • 开发配套的 Android app,不再使用web界面进行控制。
  • 取消3.3V电源指示灯(太亮了,影响对状态指示灯的观察)。

因为开学后要考试,所以项目更新会比较慢,最新版程序基本写好,硬件部分会抽时间更新。

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
演示视频.MP4
82
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航