功能說明
功能如下:
1、用stm32控制ds18b20采集溫度
2、然后按鍵可以設置上下限溫度
3、采集的溫度低于下限溫度時候打開加熱片開始加熱
4、加熱到上限溫度關閉加熱片停止加熱
5、采集的溫度可以在oled顯示
6、然后弄個按鍵控制一個紫外線燈模塊,按一下打開紫外線燈一段時間,30s后自動關閉
7、將采集的溫度上傳到物聯(lián)網平臺onenet
系統(tǒng)框圖
原理圖
程序源代碼-部分
int main(void) { unsigned char *dataPtr = NULL; unsigned short timeCount = 0; //發(fā)送間隔變量 delay_init(); //延時函數初始化 NVIC_Configuration(); //設置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應優(yōu)先級 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發(fā)送提示信息(要開始發(fā)送數據了) OneNet_SendData();//發(fā)送數據給onenet printf("send_data_end "); timeCount = 0; ESP8266_Clear(); } dataPtr = ESP8266_GetIPD(0);//獲取平臺返回的數據 if(dataPtr != NULL)//如果返回數據不為空 OneNet_RevPro(dataPtr);//平臺返回數據檢測 delay_ms(10); } }
審核編輯:湯梓紅
-
單片機
+關注
關注
6067文章
44960瀏覽量
648762 -
OLED
+關注
關注
119文章
6276瀏覽量
227594 -
物聯(lián)網
+關注
關注
2930文章
46093瀏覽量
390192 -
STM32
+關注
關注
2291文章
11022瀏覽量
363411
原文標題:【畢業(yè)設計002】基于STM32的智能衣柜設計(原理圖、源代碼、實物照片、設計說明、參考資料等)
文章出處:【微信號:精通單片機與嵌入式,微信公眾號:精通單片機與嵌入式】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
如何利用51單片機實現(xiàn)智能衣柜的設計
基于單片機的智能衣柜有哪些功能
基于物聯(lián)網的智能衣柜系統(tǒng)設計資料分享
如何利用單片機去完成衣柜除濕照明系統(tǒng)的設計
基于單片機的衣柜除濕照明系統(tǒng)的設計
51單片機和STM32單片機有哪些區(qū)別

基于單片機的智能衣柜

基于51單片機的智能衣柜(WIFI)

基于單片機的衣柜除濕照明系統(tǒng)

【畢業(yè)設計】【單片機俱樂部】基于單片機的衣柜除濕照明的設計【仿真設計】

【畢業(yè)設計】【單片機俱樂部】基于單片機的衣柜除濕照明的設計【實物設計】

基于STM32單片機的衣柜系統(tǒng)設計

基于51單片機的藍牙衣柜系統(tǒng)設計

評論