标题: 51单片机多功能遥控器制作(根据预设信息控制空调) [打印本页]

作者: z2426158    时间: 2017-6-19 21:27
标题: 51单片机多功能遥控器制作(根据预设信息控制空调)
LZ在前一段时间做电子系统设计,虽然是电类的学生但是主要是搞电网方向的,对单片机之类的东西是纯纯的初学者,在51黑电子论坛里看了很多大神的作品,也得到了很多大神提供的资料,甚是感激;于是决定把自己做的东西也放出来,供大家参考。

再次说明我不是这个方面的专家,有些东西做的确实糟糕,只能供大家参考一下,从里面找一找需要的东西。
首先说明一下我这个设备:这是一个基于51单片机的多功能遥控器,通过温湿度模块收集数据,并实时在显示屏上显示,根据预设的信息通过遥控模块来控制空调,这个模块还可以学习并发射其他指令,并且,通过ESP8266模块,可以初步实现(真的浪费了8266这个模块了...你们完全可以用一些较为便宜的模块来代替)手机通过网络对设备的控制。

所用到的元器件有:STC90C52RC、ESP8266-01S、XK2233红外模块(这个是在淘宝一个店里买的,店家说这个模块用的是XK2233单片机,具体叫什么不确定,性能不稳定,控制距离非常短,特别坑)、DHT11、LCD1602。
我们一开始预想能做出最终的自己的板子,但是无奈队友太坑,画的板子都是错最后印出来不能用,不得已只能拿着开发板去验收。
下面的附件是这个设备完整的工程,运行环境keil5。点开就可以用,编译是没有bug的,不过在实际运行的过程中可能会有一些问题,比如,我在两块不同的开发板上跑这个程序,一块正常,另一块的屏幕则会显示一些意想不到的字符并且不受控制(我就是因为这个原因最后才不得已拿着我的大开发板去验收)。


制作出来的实物图:



单片机源程序:
  1. /*****************************
  2. * 系统运行文件
  3. * 建档:2017年4月25日
  4. * 最后编辑:2017年4月25日
  5. * 作者:ZHY
  6. *****************************/

  7. #include <SYS.h>

  8. int mode=0;//0-自动,1-制热,2-制冷,3除湿,4-吹风

  9. /*****************************
  10. * 程序函数
  11. *****************************/
  12. void SYS()
  13. {
  14.         getDHT11();//获取温湿度
  15.         Lcd1602_Stat();//依据当前状态显示
  16.         while(SYS_SW)//工作开关打开
  17.         {
  18.                 xk_setmod();//设置空调型号
  19.                 xk_on();//开机
  20.                 xk_settemp();//设置温度26°C        
  21.                 while(1)
  22.                 {
  23.                         getDHT11();
  24. /********************************调节温度********************************/
  25.                 if(T_H==2&&T_L>=5&&T_L<=7)//温度在25到27°C之间,温度合适,准备调节湿度
  26.                 {                        
  27.                 }
  28.                 if((T_H==2&&T_L<5)||T_H<2)//温度低于预设值
  29.                 {
  30.                         if(SYS_CW)//如果工作在制热模式,选择制热模式
  31.                         {
  32.                                 if(mode!=1)
  33.                                 {
  34.                                         xk_warm();
  35.                                         mode=1;
  36.                                 }
  37.                         }
  38.                         else//如果工作在制冷模式,准备调节湿度
  39.                         {
  40.                         }
  41.                 }
  42.                 if((T_H==2&&T_L>7)||T_H>2)//温度高于预设值
  43.                 {
  44.                         if(SYS_CW)//制热模式准备调节湿度
  45.                         {
  46.                         }
  47.                         else//制冷模式
  48.                         {
  49.                                 if(mode!=2)
  50.                                 {
  51.                                         xk_cold();
  52.                                         mode=2;
  53.                                 }
  54.                         }
  55.                 }        
  56. /********************************调节湿度********************************/
  57.                 if(T_H==2&&T_L>5&&T_L<7&&RH_H>=6)//如果过于潮湿,除湿(这里只是示意一下,实际上湿度的判断应该与温度相结合)
  58.                 {
  59.                         if(mode!=3)
  60.                         {
  61.                                 xk_aref();
  62.                                 mode=3;
  63.                         }
  64.                 }
  65.                 else if(T_H==2&&T_L>5&&T_L<7&&RH_H<=6)//各项参数均符合要求,吹风增加室内对流,促进温湿度平衡//或者干脆删掉这一项,太鸡肋了
  66.                 {
  67.                         xk_blow();
  68.                         mode=4;
  69.                 }        
  70. /********************************关闭空调********************************/
  71.                 if(!SYS_SW)//如果系统开关被关闭,则关闭空调
  72.                 {
  73.                         xk_off();
  74.                         break;
  75.                 }
  76.                 Lcd1602_Stat();
  77.         }
  78.                 if(!SYS_SW)
  79. ……………………

  80. …………限于本文篇幅 余下代码请从51黑下载附件…………
  81. 单片机源程序如下:
复制代码

所有资料51hei提供下载:
demo.rar (49.38 KB, 下载次数: 210)


作者: admin    时间: 2017-6-19 22:45
好资料,51黑有你更精彩!!!
作者: kid0    时间: 2018-1-8 14:12
好资料,51黑有你更精彩!!!
作者: 四叶草男孩儿    时间: 2018-1-11 13:51
新手学习了,再找这方面的资料,小白一个,倒是对这个感兴趣,想学习用arduino来试试
作者: qjzyx    时间: 2018-1-11 15:40
谢谢分享!向你学习!
作者: 杀马特    时间: 2018-1-21 18:59
好资料,51黑有你更精彩
作者: tanshi706    时间: 2018-1-31 15:50
感谢分享
作者: tanshi706    时间: 2018-1-31 15:51
好资料,51黑有你更精彩!!!
作者: tpart    时间: 2018-5-4 14:29
正好想做万能遥控,感谢啦,好资料
作者: tpart    时间: 2018-5-11 13:08
感谢分享感谢分享感谢分享
作者: laigo    时间: 2018-7-16 11:18
积分不够,LZ XK2233红外模块的淘宝链接方便发我下不
作者: 小猫猫爱吃鱼    时间: 2018-7-16 13:52
laigo 发表于 2018-7-16 11:18
积分不够,LZ XK2233红外模块的淘宝链接方便发我下不

ESP8266-WIFI无线红外遥控器(固件版) - 51单片机 单片机论坛
http://www.51hei.com/bbs/dpj-119058-1.html

一体化红外学习型遥控器,NEC解码、发射测试成功 - 51单片机 单片机论坛 http://www.51hei.com/bbs/dpj-119972-1.html


作者: hslcac    时间: 2018-8-5 21:22

好资料,51黑有你更精彩!!!
作者: remotecontrol    时间: 2018-12-4 14:24
赞一个
作者: dianzi541    时间: 2019-2-9 20:43
可否加上你的QQ一起探讨447552331
作者: SSxue    时间: 2019-2-25 09:48
很厉害  但是keil版本好高啊   keil5
作者: jeffreyzzy    时间: 2019-5-26 11:01
用stc89c52rc需要重新编译吗
作者: haldng    时间: 2019-5-26 19:33
楼主厉害啊
作者: 1299812700    时间: 2019-6-3 20:59
赞一个
作者: duyi324    时间: 2019-7-1 09:15

楼主厉害啊
作者: fanli    时间: 2019-7-1 13:55
厉害,赞
作者: 1124136815    时间: 2019-9-16 08:45
先赞

作者: m182892    时间: 2019-9-16 13:56
好资料,51黑有你更精彩!!!
作者: m182892    时间: 2019-9-16 13:59
怎么下载是空文件夹,没有内容的。
作者: yyj123456789    时间: 2019-10-24 18:58
想要学习一波
作者: 学习不爱我    时间: 2020-4-4 17:36
我的第一个电子工程设计想法和楼主差不多,现在正在学习,对我来说,第一步画原理图就够难了。
作者: SGZ2021    时间: 2021-7-26 11:03
不错啊,博主优秀
作者: 神之cheems    时间: 2025-5-23 23:21
非常感谢,找了好久
作者: 神之cheems    时间: 2025-5-23 23:22
感谢你的分享,我找了好久了
作者: 张dada    时间: 2025-5-26 11:42
不错的 好资料,51黑有你更精彩!!!





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1