功能说明
功能如下:
1、用stm32控制ds18b20采集温度
2、然后按键可以设置上下限温度
3、采集的温度低于下限温度时候打开加热片开始加热
4、加热到上限温度关闭加热片停止加热
5、采集的温度可以在oled显示
6、然后弄个按键控制一个紫外线灯模块,按一下打开紫外线灯一段时间,30s后自动关闭
7、将采集的温度上传到物联网平台onenet
系统框图
原理图
程序源代码-部分
int main(void) { unsigned char *dataPtr = NULL; unsigned short timeCount = 0; //发送间隔变量 delay_init(); //延时函数初始化 NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 LED_Init(); //LED端口初始化 KEY_Init(); //初始化与按键连接的硬件接口 uart2_init(115200);//串口2初始化 YHGUI_Config(); //OLED初始化 YHGUI_DispString(0,0,"正在初始化>>>>>>",16,1); //OLED显示初始化 YHGUI_DispString(0,32,"正在连接onenet",16,1); ESP8266_Init(); //初始化ESP8266 printf("8266_INIT_END "); RELAY=1; LED0=1; while(DS18B20_Init())//温度初始化 { } DS18B20_Get_Temp();//温度初始化 while(OneNet_DevLink()) //接入OneNET YHGUI_DispString(0,32,"连接onenet成功 ",16,1); delay_ms(500); printf("接入onenet成功"); YHGUI_DispString(0,32," ",16,1); YHGUI_DispString(0,0," ",16,1); while(1) { keyscan(); temperature = DS18B20_Get_Temp();//获取温度 temperature=temperature/10; if(temperature<0) { temperature=-temperature; //转为正数 } if(set_flag==0){ if(time_miao==1) sprintf(dis1," 恒温外卖柜 %02ds ",add_miao); else sprintf(dis1," 恒温外卖柜 "); YHGUI_DispString(0,0,dis1,16,1);} else if(set_flag==1)YHGUI_DispString(0,0," 温度上限设置 ",16,1); else if(set_flag==2)YHGUI_DispString(0,0," 温度下限设置 ",16,1); sprintf(dis1," 当前温度:%02d℃ ",temperature); YHGUI_DispString(0,16,dis1,16,1); //显示 sprintf(dis1," 温度上限:%02d℃ ",temp_high); YHGUI_DispString(0,32,dis1,16,1); //显示 sprintf(dis1," 温度下限:%02d℃ ",temp_low); YHGUI_DispString(0,48,dis1,16,1); //显示 if(temperaturetemp_high)RELAY=0; if(++timeCount >= 5) //时间间隔1s { if(time_miao==1){add_miao++;LED0=1;}else LED0=0; if(add_miao>30){add_miao=0;time_miao=0;} delay_ms(100); humidityH=11; humidityL=22; temperatureH=temperature; //温度整数部分 temperatureL=0; //温度小数部分 printf("hum temp=%d .%d %d .%d ",humidityH,humidityL,temperatureH,temperatureL); printf( "OneNet_SendData ");//通过串口1发送提示信息(要开始发送数据了) OneNet_SendData();//发送数据给onenet printf("send_data_end "); timeCount = 0; ESP8266_Clear(); } dataPtr = ESP8266_GetIPD(0);//获取平台返回的数据 if(dataPtr != NULL)//如果返回数据不为空 OneNet_RevPro(dataPtr);//平台返回数据检测 delay_ms(10); } }
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
单片机
+关注
关注
6034文章
44528浏览量
633604 -
OLED
+关注
关注
119文章
6184浏览量
223918 -
物联网
+关注
关注
2905文章
44361浏览量
371841 -
STM32
+关注
关注
2266文章
10880浏览量
355080
原文标题:【毕业设计002】基于STM32的智能衣柜设计(原理图、源代码、实物照片、设计说明、参考资料等)
文章出处:【微信号:精通单片机与嵌入式,微信公众号:精通单片机与嵌入式】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
如何利用51单片机实现智能衣柜的设计
设计简介:本设计是基于单片机的智能衣柜,主要实现以下功能:实时测量衣柜温湿度,并可自动进行除湿;获取当前时间,且可通过按键调整;可通过按键设置紫外线消毒的开始时间和结束时间实现自动消毒
发表于 11-19 06:27
基于单片机的智能衣柜有哪些功能
设计简介:本设计是基于单片机的智能衣柜(WIFI版),主要实现以下功能:1、时间计时(DS1302)2、WIFI监测与控制3、定时消毒(时间段控制)4、温湿度测量与控制(湿度排风控制)5、系统有
发表于 11-19 06:32
如何利用单片机去完成衣柜除湿照明系统的设计
设计简介:本设计是基于单片机的衣柜除湿照明系统,主要实现以下功能:可通过LCD1602显示温湿度;可通过按键调整温湿度最大值;通过DHT11监测温湿度;通过人体红外检测是否有人。标签:51单片机
发表于 02-18 06:52
基于单片机的衣柜除湿照明系统的设计
项目编号:mcuclub-108设计简介:资料下载网址:项目名:基于单片机的衣柜除湿照明系统单片机:STC89C52功能:1、通过DHT11检测衣柜中温度和湿度,当温度大于设定最大阈值
发表于 02-18 06:06
基于单片机的智能衣柜
设计简介:本设计是基于单片机的智能衣柜,主要实现以下功能:实时测量衣柜温湿度,并可自动进行除湿; 获取当前时间,且可通过按键调整; 可通过按键设置紫外线消毒的开始时间和结束时间实现自动
发表于 11-12 15:06
•21次下载
基于51单片机的智能衣柜(WIFI)
设计简介:本设计是基于单片机的智能衣柜(WIFI版),主要实现以下功能:1、时间计时(DS1302)2、WIFI监测与控制3、定时消毒(时间段控制)4、温湿度测量与控制(湿度排风控制)5、系统有
发表于 11-13 09:06
•54次下载
基于单片机的衣柜除湿照明系统
单片机、LCD1602、DHT11、人体红外题目扩展:智能环境系统。衣柜除湿照明系统-实物设计 - 电子校园编号: CP-51-2021-049-SW 仿真链接: 衣柜除湿照明系统-仿
发表于 12-23 19:32
•12次下载
【毕业设计】【单片机俱乐部】基于单片机的衣柜除湿照明的设计【仿真设计】
项目编号:mcuclub-108设计简介:资料下载网址:www.mcuclub.cn项目名:基于单片机的衣柜除湿照明系统单片机:STC89C52功能:1、通过DHT11检测衣柜中温度和
发表于 12-23 19:33
•7次下载
【毕业设计】【单片机俱乐部】基于单片机的衣柜除湿照明的设计【实物设计】
项目编号:mcuclub-108设计简介:资料下载网址:www.mcuclub.cn项目名:基于单片机的衣柜除湿照明系统单片机:STC89C52功能:1、通过DHT11检测衣柜中温度和
发表于 12-23 19:34
•7次下载
基于STM32单片机的衣柜系统设计
本次衣柜系统的设计使用STM32单片机作为控制中心,系统通过DHT11进行温湿度检测,通过MQ-2进行烟雾浓度检测,通过DS1302进行时钟检测,检测到的数据通过OLED显示,通过ESP8266模块进行数据的上传和下发,通过继电
基于51单片机的蓝牙衣柜系统设计
本次蓝牙衣柜系统使用的是STC89C52单片机作为主控芯片,通过DHT11检测温湿度,通过过DS1302定时模块进行定时,通过DS18b20检测温度,通过光电管检测人体,采集到的数据会上传到单片机中
评论