单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7742|回复: 21
收起左侧

51单片机多功能遥控器制作(根据预设信息控制空调)

  [复制链接]
z2426158 发表于 2017-6-19 21:27 | 显示全部楼层 |阅读模式
LZ在前一段时间做电子系统设计,虽然是电类的学生但是主要是搞电网方向的,对单片机之类的东西是纯纯的初学者,在51黑电子论坛里看了很多大神的作品,也得到了很多大神提供的资料,甚是感激;于是决定把自己做的东西也放出来,供大家参考。

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

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


制作出来的实物图:

XK2233

XK2233

显示屏幕

显示屏幕

0.png

单片机源程序:
  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, 下载次数: 108)

评分

参与人数 8黑币 +161 收起 理由
dww465757120 + 30 共享资料的黑币奖励!
luo6824791 + 5 赞一个!
364611194 + 5 共享资料的黑币奖励!
monster12138 + 5 赞一个!
arthuryu + 5 赞一个!
四叶草男孩儿 + 5 共享资料的黑币奖励!
qjzyx + 6 赞一个!
admin + 100 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

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 | 显示全部楼层
厉害,赞
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51Hei单片机16群 联系QQ:125739409;技术交流QQ群7344883

Powered by 单片机教程网

快速回复 返回顶部 返回列表