基于51单片机的WiFi的温湿度智能开关设计

最新更新时间:2021-11-02来源: eefocus关键字:51单片机  WiFi 手机看文章 扫描二维码
随时随地手机看文章

一.硬件方案

硬件电路主要由单片机电路、温湿度采集电路、液晶显示电路、继电器电路、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);

}

    

}

关键字:51单片机  WiFi 编辑:什么鱼 引用地址:基于51单片机的WiFi的温湿度智能开关设计

上一篇:基于单片机mp3音乐播放器设计
下一篇:基于51单片机的蓝牙计步器设计

推荐阅读最新更新时间:2023-09-19 02:06

51单片机旋转led(POV-LED)显示系统设计报告与代码
摘要 随着社会的发展,科技也得到进步。相对的,人们对人文的需要也越来越重视。我们从科技服务于人文的角度出发,设计出本POV-LED显示系统。该系统使用STC89C52RC作为主要控制单元,采用的是POV -LED(POV即persistence of vision视觉停留)技术,借助人眼的视觉暂留效果,通过旋转LED灯的方式来显示各种图像。原理是通过电动机带动上层的LED灯绕电机为中心轴高速旋转,同时单片机采集传感器反馈的信息,控制各个LED灯在旋转平面对应的位置上点亮,构成一幅点阵画,由于人的视觉暂留效果,会认为LED是同时点亮的,从而显示图像。 一、系统设计方案 1.1、总体方案 本设计采用双电源供电的方式,一部分供给
[单片机]
<font color='red'>51单片机</font>旋转led(POV-LED)显示系统设计报告与代码
51单片机串口接收数据
单片机每次发送或者接受完数据(8位数据将保存在缓冲区中),会自动触发接受或者发送中断。因此只需要中断置位以后再缓冲区中读数据(或者发送数据)。 1 /************************************************* 2 *receive code(HEX) 3 * $ P M T K 1 8 0 * 3 B \n \r 4 * 24 50 4D 54 4B 31 38 30 2A 33 42 0D 0A 5 *************************************************/ 6 7 unsign
[单片机]
51单片机应用系统软件设计经验
  在进行应用系统的总体设计时,软件设计和硬件设计应统一考虑,相结合进行。当系统的 电路 设计定型后,软件的任务也就明确了 ,系统中的软件是根据系统功能要求设计的。   一般地讲,软件的功能可分为两大类。一类是执行软件,它能完成各种实质性的功能,如测量,计算,显示,打印,输出控制等;另一类是监控软件,它是专门用来协调各执行模块和操作者的关系,在系统软件中充当组织调度角色。由于应用系统种类繁多,程序编制者风格不一,因此应用软件因系统而异。尽管如此,作为优秀的系统软件还是有其共同特点和其规律的。设计人员在进行程序设计时应从以下几个方面加以考虑:   根据软件功能要求,将系统软件分成若干个相对独立的部分,根据它们之间的联系和时间上的
[单片机]
51单片机教程:单片机存储器结构
单片机内部存储结构分析 我们来思考一个问题,当我们在编程器中把一条指令写进单片要内部,然后取下单片机,单片机就可以执行这条指令,那么这条指令一定保存在单片机的某个地方,并且这个地方在单片机掉电后依然可以保持这条指令不会丢失,这是个什么地方呢?这个地方就是单片机内部的只读存储器即ROM(READ ONLY MEMORY)。为什么称它为只读存储器呢?刚才我们不是明明把两个数字写进去了吗?原来在89C51中的ROM是一种电可擦除的ROM,称为FLASH ROM,刚才我们是用的编程器,在特殊的条件下由外部设备对ROM进行写的操作,在单片机正常工作条件下,只能从那面读,不能把数据写进去,所以我们还是把它称为ROM。 数的本质和物
[单片机]
<font color='red'>51单片机</font>教程:单片机存储器结构
关于51单片机电子时钟精度的问题
前几天用STC89C52单片机制作了一个电子时钟,经过一段时间的实验,发现时间精度存在误差,一分钟慢4秒左右。 这可了不得,十分钟就要慢40秒,一天下来不得慢半96分钟!!! 这个单片机晶振频率为11.0592mhz,和大部分时钟的晶振频率相同,应该没有问题。 后天考虑到源代码: 在定时器中断函数里: void t0(void) interrupt 1 using 0 { tcount++; if(tcount==4000) {tcount=0; second++; if(second==60) {second=0; minute++; if(m
[单片机]
51单片机驱动ADC0809的C语言程序
#include reg51.h #include intrins.h #define uchar unsigned char #define uint unsigned int sbit CLK=P1^3; sbit ST=P1^2; sbit EOC=P1^1; sbit OE=P1^0; uchar code table ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay(uint z); void display(uchar d); void main() { TMOD=0x02;//方
[单片机]
51单片机P3口的功能,各控制引脚的功能及使用方法介绍
P3口有两个功能: 除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。 有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的, 即:编程脉冲:30脚(ALE/PROG) 编程电压(25V):31脚(EA/Vpp) 接触过工业设备的兄弟可能会看到有些印刷线路板上会有一个电池,这个电池是干什么用的呢?这就是单片机的备用电源,当外接电源下降到下限值时,备用电源就会经第二功能的方式由第9脚(即RST/VPD)引入,以保护内部RAM中的信息不会丢失。 (注:这些引脚的功能应用,除9脚
[单片机]
<font color='red'>51单片机</font>P3口的功能,各控制引脚的功能及使用方法介绍
C51单片机interrupt和using的使用
8051 系列 MCU 的基本结构包括:32 个 I/O 口(4 组8 bit 端口);两个16 位定时计数器;全双工串行通信;6 个中断源(2 个外部中断、2 个定时/计数器中断、1 个串口输入/输出中断),两级中断优先级;128 字节内置RAM;独立的 64K 字节可寻址数据和代码区。中断发生后,MCU 转到 5 个中断入口处之一,然后执行相应的中断服务 处理程序。中断程序的入口地址被编译器放在中断向量中,中断向量位于程序代码段的最低地址处,注意这里的串口输入/输出中断共用一个中断向量。8051的中断向量表如下: 中断源 中断向量 上电复位 0000H 外部中断0 0003H 定时器0 溢出 000BH 外部中断1 001
[单片机]

推荐帖子

向soso姐等人道歉
向soso姐,小小白,feman5012,wanghongyang说对不起。 首先,不管出于什么原因,都不应该轻易说什么失望不失望的,这是底线问题。 其次,没有谅解soso姐及小小白版主,如果在发帖之前能先询问下情况,就不会有今天这么多情况了。 再次,最无辜的受害者feman5012网友,那个活动我以为是按总分计算,所以一时气愤,说的很难听,希望feman5012网友不要介意。 最后,希望wanghongyang网友能理解我一时气愤,胡言乱语。
wisology 51单片机
分布式车身控制模块将引领发展潮流
据奥尔威咨询近期研究显示,近年来车身网络控制技术在我国汽车行业开始普及应用。与车身网络技术有关的汽车车身控制模块(BodyCon-trolModule,简称BCM)正处于起步阶段,未来市场前景可观。目前,国内整车厂应用的车身控制模块产品主要采用进口的或者由国内外资企业生产的产品。本土生产企业虽然有企业已经在研发和生产,但发展步履维艰,面临技术和市场两个发展瓶颈。我国BCM业成新潜力市场 国内BCM市场竞争激烈,外资企业占据了我国轿车BCM配套市场,成为国内主流企业,而本土企业则向客车
1ying 汽车电子
求LED恒流驱动电路
各位大侠,能不能介绍一个输出2.7V,50mA的LED恒流驱动电路,输入为4.2V到3.5V的锂电池。谢谢喽。求LED恒流驱动电路
whwshiyuan1984 模拟电子
0402元件改成0201甚至01005 除了耐压、精度、贴片工艺 还需要注意哪些细节
0402元件改成0201甚至01005除了耐压、精度、贴片工艺还需要注意哪些细节 0402元件改成0201甚至01005除了耐压、精度、贴片工艺还需要注意哪些细节
QWE4562009 分立器件
用MLX90614开发发烧检测门系统
不多说!红外测温用的 用MLX90614开发发烧检测门系统
wuxiujiang 单片机
Altium Designer 17 全套入门完整版视频教程
全套视频下载地址:https://pan.baidu.com/s/1jIBQNkE 回帖领取下载密码:本帖隐藏的内容a7xz 此内容由EEWORLD论坛网友小崇伟原创,如需转载或用于商业用途需征得作者同意并注明出处 AltiumDesigner17全套入门完整版视频教程
小崇伟 PCB设计
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved