功能說明
功能如下:
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); } }
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
單片機
+關注
關注
6023文章
44378瀏覽量
628606 -
OLED
+關注
關注
119文章
6130瀏覽量
223118 -
物聯網
+關注
關注
2894文章
43353瀏覽量
366668 -
STM32
+關注
關注
2258文章
10828瀏覽量
352546
原文標題:【畢業設計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單片機和51單片機
萌新初入單片機領域,常會遇到STM32和51單片機兩大種類,無法選擇其一來提升技術,也不確定哪個單片機更適合后續技術進階提升和發展,今天這篇文將全方位對比
發表于 03-02 14:18
?2.9w次閱讀
基于STM32單片機的衣柜系統設計
本次衣柜系統的設計使用STM32單片機作為控制中心,系統通過DHT11進行溫濕度檢測,通過MQ-2進行煙霧濃度檢測,通過DS1302進行時鐘檢測,檢測到的數據通過OLED顯示,通過ESP8266模塊進行數據的上傳和下發,通過繼電
基于51單片機的藍牙衣柜系統設計
本次藍牙衣柜系統使用的是STC89C52單片機作為主控芯片,通過DHT11檢測溫濕度,通過過DS1302定時模塊進行定時,通過DS18b20檢測溫度,通過光電管檢測人體,采集到的數據會上傳到單片機中
評論