功能說明
功能如下:
1、用stm32控制ds18b20采集溫度
2、然后按鍵可以設(shè)置上下限溫度
3、采集的溫度低于下限溫度時(shí)候打開加熱片開始加熱
4、加熱到上限溫度關(guān)閉加熱片停止加熱
5、采集的溫度可以在oled顯示
6、然后弄個(gè)按鍵控制一個(gè)紫外線燈模塊,按一下打開紫外線燈一段時(shí)間,30s后自動(dòng)關(guān)閉
7、將采集的溫度上傳到物聯(lián)網(wǎng)平臺(tái)onenet
系統(tǒng)框圖

原理圖

程序源代碼-部分
int main(void)
{
unsigned char *dataPtr = NULL;
unsigned short timeCount = 0; //發(fā)送間隔變量
delay_init(); //延時(shí)函數(shù)初始化
NVIC_Configuration(); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應(yīng)優(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; //轉(zhuǎn)為正數(shù)
}
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," 溫度上限設(shè)置 ",16,1);
else if(set_flag==2)YHGUI_DispString(0,0," 溫度下限設(shè)置 ",16,1);
sprintf(dis1," 當(dāng)前溫度:%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) //時(shí)間間隔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; //溫度整數(shù)部分
temperatureL=0; //溫度小數(shù)部分
printf("hum temp=%d .%d %d .%d
",humidityH,humidityL,temperatureH,temperatureL);
printf( "OneNet_SendData
");//通過串口1發(fā)送提示信息(要開始發(fā)送數(shù)據(jù)了)
OneNet_SendData();//發(fā)送數(shù)據(jù)給onenet
printf("send_data_end
");
timeCount = 0;
ESP8266_Clear();
}
dataPtr = ESP8266_GetIPD(0);//獲取平臺(tái)返回的數(shù)據(jù)
if(dataPtr != NULL)//如果返回?cái)?shù)據(jù)不為空
OneNet_RevPro(dataPtr);//平臺(tái)返回?cái)?shù)據(jù)檢測
delay_ms(10);
}
}
審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
-
單片機(jī)
+關(guān)注
關(guān)注
6078文章
45562瀏覽量
672990 -
OLED
+關(guān)注
關(guān)注
121文章
6368瀏覽量
234187 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2948文章
48072瀏覽量
417776 -
STM32
+關(guān)注
關(guān)注
2312文章
11187瀏覽量
374421
原文標(biāo)題:【畢業(yè)設(shè)計(jì)002】基于STM32的智能衣柜設(shè)計(jì)(原理圖、源代碼、實(shí)物照片、設(shè)計(jì)說明、參考資料等)
文章出處:【微信號:精通單片機(jī)與嵌入式,微信公眾號:精通單片機(jī)與嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
熱點(diǎn)推薦
如何利用51單片機(jī)實(shí)現(xiàn)智能衣柜的設(shè)計(jì)
設(shè)計(jì)簡介:本設(shè)計(jì)是基于單片機(jī)的智能衣柜,主要實(shí)現(xiàn)以下功能:實(shí)時(shí)測量衣柜溫濕度,并可自動(dòng)進(jìn)行除濕;獲取當(dāng)前時(shí)間,且可通過按鍵調(diào)整;可通過按鍵設(shè)置紫外線消毒的開始時(shí)間和結(jié)束時(shí)間實(shí)現(xiàn)自動(dòng)消毒
發(fā)表于 11-19 06:27
基于單片機(jī)的智能衣柜有哪些功能
設(shè)計(jì)簡介:本設(shè)計(jì)是基于單片機(jī)的智能衣柜(WIFI版),主要實(shí)現(xiàn)以下功能:1、時(shí)間計(jì)時(shí)(DS1302)2、WIFI監(jiān)測與控制3、定時(shí)消毒(時(shí)間段控制)4、溫濕度測量與控制(濕度排風(fēng)控制)5、系統(tǒng)有
發(fā)表于 11-19 06:32
如何利用單片機(jī)去完成衣柜除濕照明系統(tǒng)的設(shè)計(jì)
設(shè)計(jì)簡介:本設(shè)計(jì)是基于單片機(jī)的衣柜除濕照明系統(tǒng),主要實(shí)現(xiàn)以下功能:可通過LCD1602顯示溫濕度;可通過按鍵調(diào)整溫濕度最大值;通過DHT11監(jiān)測溫濕度;通過人體紅外檢測是否有人。標(biāo)簽:51單片機(jī)
發(fā)表于 02-18 06:52
基于單片機(jī)的衣柜除濕照明系統(tǒng)的設(shè)計(jì)
項(xiàng)目編號:mcuclub-108設(shè)計(jì)簡介:資料下載網(wǎng)址:項(xiàng)目名:基于單片機(jī)的衣柜除濕照明系統(tǒng)單片機(jī):STC89C52功能:1、通過DHT11檢測衣柜中溫度和濕度,當(dāng)溫度大于設(shè)定最大閾值
發(fā)表于 02-18 06:06
51單片機(jī)和STM32單片機(jī)有哪些區(qū)別
大部分朋友可能都知道51單片機(jī)和stm32單片機(jī)也知道一般入門會(huì)先學(xué)習(xí)51單片機(jī)在學(xué)習(xí)stm32單片機(jī)
發(fā)表于 08-13 17:32
?17次下載
基于單片機(jī)的智能衣柜
設(shè)計(jì)簡介:本設(shè)計(jì)是基于單片機(jī)的智能衣柜,主要實(shí)現(xiàn)以下功能:實(shí)時(shí)測量衣柜溫濕度,并可自動(dòng)進(jìn)行除濕; 獲取當(dāng)前時(shí)間,且可通過按鍵調(diào)整; 可通過按鍵設(shè)置紫外線消毒的開始時(shí)間和結(jié)束時(shí)間實(shí)現(xiàn)自動(dòng)
發(fā)表于 11-12 15:06
?21次下載
基于51單片機(jī)的智能衣柜(WIFI)
設(shè)計(jì)簡介:本設(shè)計(jì)是基于單片機(jī)的智能衣柜(WIFI版),主要實(shí)現(xiàn)以下功能:1、時(shí)間計(jì)時(shí)(DS1302)2、WIFI監(jiān)測與控制3、定時(shí)消毒(時(shí)間段控制)4、溫濕度測量與控制(濕度排風(fēng)控制)5、系統(tǒng)有
發(fā)表于 11-13 09:06
?54次下載
基于單片機(jī)的衣柜除濕照明系統(tǒng)
單片機(jī)、LCD1602、DHT11、人體紅外題目擴(kuò)展:智能環(huán)境系統(tǒng)。衣柜除濕照明系統(tǒng)-實(shí)物設(shè)計(jì) - 電子校園編號: CP-51-2021-049-SW 仿真鏈接: 衣柜除濕照明系統(tǒng)-仿
發(fā)表于 12-23 19:32
?12次下載
【畢業(yè)設(shè)計(jì)】【單片機(jī)俱樂部】基于單片機(jī)的衣柜除濕照明的設(shè)計(jì)【仿真設(shè)計(jì)】
項(xiàng)目編號:mcuclub-108設(shè)計(jì)簡介:資料下載網(wǎng)址:www.mcuclub.cn項(xiàng)目名:基于單片機(jī)的衣柜除濕照明系統(tǒng)單片機(jī):STC89C52功能:1、通過DHT11檢測衣柜中溫度和
發(fā)表于 12-23 19:33
?10次下載
【畢業(yè)設(shè)計(jì)】【單片機(jī)俱樂部】基于單片機(jī)的衣柜除濕照明的設(shè)計(jì)【實(shí)物設(shè)計(jì)】
項(xiàng)目編號:mcuclub-108設(shè)計(jì)簡介:資料下載網(wǎng)址:www.mcuclub.cn項(xiàng)目名:基于單片機(jī)的衣柜除濕照明系統(tǒng)單片機(jī):STC89C52功能:1、通過DHT11檢測衣柜中溫度和
發(fā)表于 12-23 19:34
?7次下載
全方位對比STM32單片機(jī)和51單片機(jī)
萌新初入單片機(jī)領(lǐng)域,常會(huì)遇到STM32和51單片機(jī)兩大種類,無法選擇其一來提升技術(shù),也不確定哪個(gè)單片機(jī)更適合后續(xù)技術(shù)進(jìn)階提升和發(fā)展,今天這篇文將全方位對比
發(fā)表于 03-02 14:18
?3.5w次閱讀
基于STM32單片機(jī)的衣柜系統(tǒng)設(shè)計(jì)
本次衣柜系統(tǒng)的設(shè)計(jì)使用STM32單片機(jī)作為控制中心,系統(tǒng)通過DHT11進(jìn)行溫濕度檢測,通過MQ-2進(jìn)行煙霧濃度檢測,通過DS1302進(jìn)行時(shí)鐘檢測,檢測到的數(shù)據(jù)通過OLED顯示,通過ESP8266模塊進(jìn)行數(shù)據(jù)的上傳和下發(fā),通過繼電
基于51單片機(jī)的藍(lán)牙衣柜系統(tǒng)設(shè)計(jì)
本次藍(lán)牙衣柜系統(tǒng)使用的是STC89C52單片機(jī)作為主控芯片,通過DHT11檢測溫濕度,通過過DS1302定時(shí)模塊進(jìn)行定時(shí),通過DS18b20檢測溫度,通過光電管檢測人體,采集到的數(shù)據(jù)會(huì)上傳到單片機(jī)中
基于STM32單片機(jī)的智能衣柜設(shè)計(jì)
評論