历史上的今天
返回首页

历史上的今天

今天是:2024年09月29日(星期日)

正在发生

2021年09月29日 | 基于51单片机的WiFi的温湿度智能开关设计

2021-09-29 来源:eefocus

一.硬件方案

硬件电路主要由单片机电路、温湿度采集电路、液晶显示电路、继电器电路、wifi模块电路组成。本设计采用STC89C51单片机完成整个系统的控制流程。手机端软件设置操作界面登陆账号,wifi模块连入网络,实现系统设计。


主要由51单片机+最小系统+LCD1602液晶显示模块+温湿度采集模块+继电器驱动模块+风扇模块+LED指示灯模块+按键模块+AT24C02存储模块+蜂鸣器报警模块;如图:

二.设计功能

(1)AT24c02芯片掉电存储设置的上下限。

(2)四个按键为设置、加、减、确定,实现了阀值的调节。

(3)LCD1602液晶显示,上面行显示当前的温度和湿度,下面行显示相应的冷、热、干、湿。

(4)配用全数字型温湿度传感器DHT11,温度测量范围0℃–50℃,湿度测量范围20%RH—90%RH,可以满足一般需要。

(5)当超过阀值的时候,有蜂鸣器闪烁报警提示。并有开关可以关闭或打开报警.

(6)当温度或湿度超限后,报警信号灯点亮同时相应的继电器吸合.


三.设计原理图

(1)原理图主要采用AD软件进行设计,如图:

(2)Protues仿真图如下:

(3)PCB图

四.软件设计

主程序源码


void main()

{

char *str2="AT+CIPSEND=14rn";

unsigned char i;

 

memset(&RsBuf[1],' ',18);

    Uart_init();

    lcd_init();

wifi_init();


while(1)

{

  if(FlagStart==1)

     TR0=0;

             RH();

  FlagStart = 0;

write_1602com(0x83);   //指定第一行第三个位置

write_1602dat(temperature%100/10+0x30);   //显示温度的十位

write_1602dat(temperature%100%10+0x30);   //显示温度个位

write_1602com(0x8d);   //选中第一行第十三个位置

write_1602dat(humidity%100/10+0x30);   //显示湿度十位

write_1602dat(humidity%100%10+0x30);   //显示湿度个位

SendString("{"UN":"yhdifiot024@163.com","VER":"A1.1","ID":"234103","MAC":"18fe35f1cd4a","TP":"");

//784551388@qq.com是账号  234100是ID

         SendASC(temperature%100/10+0x30);   //1

         SendASC(temperature%10+0x30); //1

         SendString("","HM":"");    //  8

         SendASC(humidity%100/10+0x30);   //1

         SendASC(humidity%10+0x30); //1

         SendString("","SOC":"99","RET":"1"}rn");  

TR0=1;

Timer0_count=0;

Timer0_miao=0;

}

  

write_1602com(0xc7); //选中第二行第七个位置

if(LED1) //如果LED1等于1

    write_1602dat('0'); //显示0

else //LED1不等于1

write_1602dat('1'); //显示1

if(LED2)

    write_1602dat('0');

else

write_1602dat('2');

if(LED3)

    write_1602dat('0');

else

write_1602dat('3');

if(LED4)

    write_1602dat('0');

else

write_1602dat('4');


delay(100);

}

    

}

推荐阅读

史海拾趣

AURORA公司的发展小趣事

AURORA公司成立于2016年,初出茅庐便面临着巨大的挑战。然而,公司的三位联合创始人Chris Urmson、J. Andrew Bagnell和Sterling Anderson均来自自动驾驶汽车领域的顶尖团队,拥有丰富的经验和深厚的技术背景。他们凭借对自动驾驶技术的深刻理解和前瞻性眼光,为AURORA的发展奠定了坚实的基础。在初创时期,AURORA通过与多家汽车制造商合作,共同设计和开发传感器、软件和数据服务,逐渐在自动驾驶领域崭露头角。

DUCATI公司的发展小趣事

AURORA公司成立于2016年,初出茅庐便面临着巨大的挑战。然而,公司的三位联合创始人Chris Urmson、J. Andrew Bagnell和Sterling Anderson均来自自动驾驶汽车领域的顶尖团队,拥有丰富的经验和深厚的技术背景。他们凭借对自动驾驶技术的深刻理解和前瞻性眼光,为AURORA的发展奠定了坚实的基础。在初创时期,AURORA通过与多家汽车制造商合作,共同设计和开发传感器、软件和数据服务,逐渐在自动驾驶领域崭露头角。

DREMEL公司的发展小趣事

在电子行业的快速发展中,Dremio公司以其独特的数据治理技术崭露头角。他们开发了一种新型的数据处理引擎,能够直接在云数据湖中查询和分析数据,无需将数据复制到专有数据仓库中。这一创新技术大大提高了数据处理效率,降低了成本,并为企业提供了更灵活的数据管理方式。Dremio凭借这一技术,迅速在电子行业中树立了领先地位。

ETTINGER公司的发展小趣事

Ettinger与英国著名汽车品牌Bentley建立了长期合作伙伴关系。作为Bentley汽车皮件配饰和皮具产品的指定供应商,Ettinger为Bentley提供了高品质的皮具产品,进一步提升了品牌的知名度和影响力。这种合作伙伴关系的建立,也为Ettinger带来了更多的商业机会和发展空间。

GWM Associates公司的发展小趣事
检查电路中的反馈网络是否稳定,调整反馈电阻或电容的值以稳定增益。
Horizon Electronics Enterprises Group公司的发展小趣事

在21世纪初,随着数字技术的兴起,Horizon Electronics Enterprises Group(以下简称“Horizon”)由一群对电子技术充满热情的工程师创立。公司初期专注于研发高性能的半导体芯片,以解决当时市场上对高速、低功耗芯片的迫切需求。通过不懈努力,Horizon成功研发出了一款具有突破性的芯片产品,该产品在数据处理速度和能效比上远超同类产品,迅速获得了市场的认可。这一技术创新不仅为公司赢得了首批客户,也为后续发展奠定了坚实的技术基础。

问答坊 | AI 解惑

关于滤波电容、去耦电容、旁路电容作用

关于滤波电容、去耦电容、旁路电容作用…

查看全部问答>

vxworks的使用

int t1,t2; printf(\"please input 1:\"); scanf(\"%d\\n\",&t1); switch(t1) { case 1:{printf(\"case1\\n\"); scanf(\"%d\",&t2);printf(\"t2=%d\\n\",t2); break;} } ------------------------------------------- 在屏幕上: 我输入1 ...…

查看全部问答>

串口通信的问题

我最近碰到2个问题,实在搞不懂,所以请教一下各位大哥。。。 1、我通过我的硬件键盘,按键,然后在串口调试助手上显示相应的键值,但是上面显示的数值前面,总有一些诡异的符号。比如我按6,就会显示66666。    我希望只显示出一 ...…

查看全部问答>

几个人同时开发一个项目,写的C语言文件怎么管理 合并?????

公司要三个人开发一个ARM项目,uc/os系统,各自写自己的模块,最后怎么才能合并起来呢?? 有什么好的管理合并软件没有????…

查看全部问答>

MC55 没有收到网络上发来的数据

在调试中,我的AT命令是 AT^SICS=0,conType,GPRS0↙ //选择GPRS工作模式 AT^SICS=0,user,gprs↙ //用户名称 AT^SICS=0,passwd,gprs↙ //密码 AT^SICS=0,apn,cmnet↙ //网络运营商 AT^SISS=1,srvType,socket↙ //服务类型为socket   ...…

查看全部问答>

上网iesimple提问

我在网上看到有人写CE的浏览器程序时,他的代码为: extern \"C\" DWORD __stdcall SetProcPermissions(DWORD); extern \"C\" DWORD __stdcall GetCurrentPermissions(); CWnd *pWnd = NULL; HWND hWnd; hWnd = ::FindWindow(NULL, _T(\"\\\ ...…

查看全部问答>

这样写那里错了?

NTSTATUS DriverEntry(IN PDRIVER_OBJECT pDriObj,IN PUNICODE_STRING pRegPath) {   ...   //Attach Device   status = IoAttachDevice(g_DevObj,&DevName,&g_OldDevObj);   ... } NTSTATUS Tdi ...…

查看全部问答>

怎样可以使McBSP的FSX频率与CLKX同步

各位大虾,请问怎么使2812的FSX频率和CLKX频率不同步,我现在能够调出FSX频率,但是CLKX频率与FSX频率一直同步,就是同升同降。可是所需的芯片要求他们两个不同步,该怎么设置呢?谢谢各位了!!…

查看全部问答>

sim300 求助啊

sim300接通电话后。。从电话那头说话。。。sim300听不到。。。但是从sim300这头说话。。电话那头可以听得到。。;。。不知道为什么、、。、求助…

查看全部问答>

AD 9下 库等窗口的设置

     AD9下窗口设置在 察看->工作区面板->system路径下,有剪切板,元件库等选项,在窗口前打上对号即可在主界面下显示。…

查看全部问答>