功能介绍:采用51单片机作为主控CPU,采用DHT11传感器采集温湿度,采用继电器驱动风扇进行散热和排湿,采用继电器驱动功率电阻加热进行升温,采用继电器驱动雾化模块进行加湿,当温湿度数据超过或者低于设置值,蜂鸣器会进行报警,并且会启动对应的继电器措施,LCD1602显示相关数据,并且可以通过蓝牙HC-06模块将数据进行上传到手机APP,程序有中文注释,新手容易看懂,文末有资料分享;
下面是实物演示视频和相关实物图片
69-基于51单片机温湿度自动调节自动恒温恒湿系统蓝牙上传APP(程序+原理图+元器件清单全套资料)


下面是程序部分展示(程序有中文注释,新手容易看懂)
部分程序展示:void main(){unsigned int temperature;unsigned int humidity;SCON = 0x50; //8位数据,可变波特率TMOD |= 0x20; //设定定时器1为8位自动重装方式TL1 = 0xFD; //设定定时初值TH1 = 0xFD; //设定定时器重装值ET1 = 0; //禁止定时器1中断TR1 = 1; //启动定时器1TI=1;ES = 1;EA = 1;lcd1602_init();delay_ms(1000);jiashi=jiare=san=1; delay_ms(1000);while(1){L1602_string(1,1,"WD:");L1602_string(1,8,"SD:");L1602_string(1,6,"C");L1602_string(1,13,"%");DHT11_Read_Date(&temperature,&humidity); //读取温湿度delay_ms(50);DHT11_Read_Date(&temperature,&humidity); //读取温湿度delay_ms(50);DHT11_Read_Date(&temperature,&humidity); //读取温湿度delay_ms(50);L1602_int(1,4,temperature);L1602_int(1,11,humidity);L1602_int(2,1,15); L1602_string(2,3,"-");L1602_int(2,4,30);L1602_string(2,6,"C");//显示温度预设值L1602_int(2,9,50); L1602_string(2,11,"-");L1602_int(2,12,80);L1602_string(2,14,"%");//显示湿度预设值if(temperature<15)//温度低于下限开始加热{jiare=0;}else jiare=1;if(temperature>30||humidity>80) san=0;//温度大于上限 或者 湿度大于上限 开风扇else san=1;if(humidity<50) jiashi=0; //湿度小于下限 开加湿else jiashi=1;if(temperature<15||temperature>30||humidity<50||humidity>80)//异常蜂鸣器报警beep=0;else beep=1;printf("WD:%d C\r\n",temperature%100);//蓝牙发送温度delay_ms(200);printf("SD:%d \r\n",humidity%100);//蓝牙发送湿度delay_ms(200);}}
程序打开办法:特别注意:下载资料包以后一定要先解压!!!(建议解压到桌面上,文件路径太深会导致程序打开异常),解压后再用keil5打开。

原理图采用【AD】altium designer打开,文件中有安装包


下面是资料包文件展示

本文介绍了基于51单片机的温湿度自动调节系统,使用DHT11传感器采集数据,通过继电器控制风扇、加热和加湿,当条件变化时报警并联动LCD1602显示及蓝牙上传至手机APP。附带详尽的程序代码和操作指南。
3594

被折叠的 条评论
为什么被折叠?



