国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

嵌入式畢設分享 stm32 wifi遠程溫控風扇系統(tǒng)

這篇具有很好參考價值的文章主要介紹了嵌入式畢設分享 stm32 wifi遠程溫控風扇系統(tǒng)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


0 前言

??
這兩年開始畢業(yè)設計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。

為了大家能夠順利以及最少的精力通過畢設,學長分享優(yōu)質畢業(yè)設計項目,今天要分享的是

?? 畢業(yè)設計 stm32 wifi遠程溫控風扇系統(tǒng)

??學長這里給一個題目綜合評分(每項滿分5分)

  • 難度系數(shù):3分
  • 工作量:3分
  • 創(chuàng)新點:4分

?? 項目分享:見文末!文章來源地址http://www.zghlxwxcb.cn/news/detail-826329.html

嵌入式畢設分享 stm32 wifi遠程溫控風扇系統(tǒng),單片機

實物演示效果

畢業(yè)設計 stm32 wifi遠程溫控風扇系統(tǒng) - 單片機 嵌入式 物聯(lián)網

1 主要功能

按照時間規(guī)劃和目標進度完成開發(fā)基于STM32遠程智能降溫系統(tǒng)的電路設計、程序設計、程序調試、軟硬結合調試,從而實現(xiàn)風扇降溫系統(tǒng)的自動智能模式和遠程手動模式。

(1)自動智能模式
自動智能模式可根據(jù)設備的溫濕度傳感器進行時實數(shù)據(jù)檢測,進行自動反饋達到自動開啟風扇降溫。

(2)遠程手動模式
在自動智能模式中無法滿足降溫特殊需求情況,可根據(jù)特殊需求切換遠程手動模式,在開發(fā)已有的客戶端上發(fā)送降溫命令,從而實現(xiàn)根據(jù)特殊需求情況降溫的遠程手動模式。

2 系統(tǒng)架構

(1)空氣溫濕度傳感器

DHT11 是一款濕溫度一體化的數(shù)字傳感器。該傳感器包括一個電阻式測濕元件和一個 NTC測溫元件,并與一個高性能 8 位單片機相連接。通過單片機等微處理器簡單的電路連接就能夠實時的采集本地濕度和溫度。DHT11 與單片機之間能采用簡單的單總線進行通信,僅僅需要一個 I/O 口。傳感器內部濕度和溫度數(shù)據(jù) 40Bit 的數(shù)據(jù)一次性傳給單片機,數(shù)據(jù)采用校驗和方式進行校驗,有效的保證數(shù)據(jù)傳輸?shù)臏蚀_性。DHT11 功耗很低,5V 電源電壓下,工作平均最大電流 0.5mA。

(2)光照強度傳感器
光照強度的監(jiān)測采用的是bh1750光照強度傳感器。有接近視覺靈敏度的光譜靈敏度特性,支持I2CBUS接口,支持1.8v邏輯輸入接口。傳感器有兩種可選的I2Cslave地址,無需其他外部件。光源依賴性弱,受紅外線影響很小。傳感器通過降低功率功能,實現(xiàn)低電流化。通過50Hz/60Hz除光噪音功能實現(xiàn)穩(wěn)定的測定,最小誤差變動在±20%。

(3)WiFi通信模塊
ESP8266是一款高性能的無線 WIFI模塊。ESP8266 模塊采用串口(LVTTL)與 MCU(或其他串口設備)通信,內置 TCP/IP協(xié)議棧,能夠實現(xiàn)串口與 WIFI 之間的轉換。通過ESP8266模塊,傳統(tǒng)的串口設備只是需要簡單的串口配置,即可通過網絡(WIFI)傳輸自己的數(shù)據(jù)。
ATK-ESP8266 模塊支持 LVTTL 串口,兼容 3.3V 和 5V 單片機系統(tǒng),可以很方便的與你的產品進行連接。模塊支持串口轉 WIFI STA、串口轉 AP 和 WIFI STA+WIFI AP 的模式,從而快速構建串口-WIFI 數(shù)據(jù)傳輸方案。

嵌入式畢設分享 stm32 wifi遠程溫控風扇系統(tǒng),單片機

使用到的硬件器件

  • STM32F103RCT6開發(fā)板 * 1
  • DHT11溫濕度傳感器 * 1
  • 繼電器模塊 * 1
  • Wifi - ESP01S * 1
  • 1.44寸液晶屏(SPI接口) * 1
  • 小風扇模塊 * 1
  • 杜邦線若干

3 核心軟件設計

控制系統(tǒng)軟件使用 C 語言編程。

使用模塊化設計, 除主程序外, 還有各功能子程序, 分別執(zhí)行直流電機驅動調速及溫度采集、 顯示等功能, 編輯環(huán)境采用集成開發(fā)環(huán)環(huán)境 Keil。

程序總體運行流程圖如下:

嵌入式畢設分享 stm32 wifi遠程溫控風扇系統(tǒng),單片機

3.3.2 初始化

系統(tǒng)初始化包括 STM32 系統(tǒng)定時器初始化, GPIO 口初始化以及 LCD1602 初始化等。

嵌入式畢設分享 stm32 wifi遠程溫控風扇系統(tǒng),單片機

3.3.3 溫度采集與顯示

DS18B20 溫度傳感器進行溫度采集時, 要依次進行初始化, ROM 操作指令, 存儲器操作指令, 數(shù)據(jù)傳輸?shù)炔僮?/p>

嵌入式畢設分享 stm32 wifi遠程溫控風扇系統(tǒng),單片機

篇幅有限,不過多復述詳細設計細節(jié),詳細的設計分享在論文中。。。

關鍵代碼

#include "stm32f10x.h"
#include "bsp_SysTick.h"
#include <LCD1602.h>
#include "bsp_ds18b20.h"
int main()
{ int PWM,low,zhouqi;
float wendu;
 int wendu1;
 zhouqi=500;
 low=zhouqi-PWM;
 SysTick_Init();
 init1602();
lcdpos(1,0);
writestring("TEM: 00.0");
 GPIO_SetBits(GPIOB,GPIO_Pin_0);
while( DS18B20_Init()) 
 {
lcdpos(0,0);
 writestring(" no ds18b20 exit");
}
 lcdpos(0,0);
 writestring("ds18b20 exit");
 for(;;)
 {
DS18B20_Get_Temp(wendu);
 if (wendu<0)
 { lcdpos(1,4);
 writestring("-");
}
  wendu1=wendu*100;
 lcdpos(1,5);
 write_dat(wendu1/10000+0x30);
lcdpos(1,6);
  write_dat(wendu1%10000/1000+0x30);
  lcdpos(1,7);
  write_dat(wendu1%1000/100+0x30);
  lcdpos(1,9);
  write_dat(wendu1%100/10+0x30);
  lcdpos(1,10);
write_dat(wendu1%10+0x30);
  Delay_ms(2000);
 if(wendu1>30)
 { low=500;
 GPIO_SetBits(GPIOB,GPIO_Pin_0);
Delay_ms(PWM);
}  
 if(wendu1<15)
 { low=0;
  GPIO_SetBits(GPIOB,GPIO_Pin_0);
  Delay_ms(PWM);
}
 if(wendu1>=15&wendu1<20)
 { low=100;
GPIO_SetBits(GPIOB,GPIO_Pin_0);
 Delay_ms(PWM);
 GPIO_ResetBits(GPIOB,GPIO_Pin_0);
  Delay_ms(low);
} 
  if(wendu1>=20&wendu1<25)
  {
low=200;
  GPIO_SetBits(GPIOB,GPIO_Pin_0);
  Delay_ms(PWM);
  GPIO_ResetBits(GPIOB,GPIO_Pin_0);
  Delay_ms(low);
  }
 if(wendu1>=25&wendu1<30)
 { low=300;
GPIO_SetBits(GPIOB,GPIO_Pin_0);
  Delay_ms(PWM);
  GPIO_ResetBits(GPIOB,GPIO_Pin_0);
  Delay_ms(low);
}
 }
}
2.DS18B20 子程序
#include "bsp_ds18b20.h"
/*
* 函數(shù)名: DS18B20_GPIO_Config
* 描述 : 配置 DS18B20 用到的 I/O 口
* 輸入 : 無
* 輸出 : 無
*/
static void DS18B20_GPIO_Config(void)
{ 
/*定義一個 GPIO_InitTypeDef類型的結構體*/
GPIO_InitTypeDef GPIO_InitStructure;
/*開啟 DS18B20_PORT 的外設時鐘*/
RCC_APB2PeriphClockCmd(DS18B20_CLK, ENABLE);
/*選擇要控制的 DS18B20_PORT 引腳*/
GPIO_InitStructure.GPIO_Pin = DS18B20_PIN;
/*設置引腳模式為通用推挽輸出*/
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
/*設置引腳速率為 50MHz */
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
/*調用庫函數(shù), 初始化 DS18B20_PORT*/
GPIO_Init(DS18B20_PORT, &GPIO_InitStructure);
GPIO_SetBits(DS18B20_PORT, DS18B20_PIN);
}
/*
* 函數(shù)名: DS18B20_Mode_IPU
* 描述 : 使 DS18B20-DATA 引腳變?yōu)檩斎肽J?* 輸入 : 無
* 輸出 : 無
*/
static void DS18B20_Mode_IPU(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
/*選擇要控制的 DS18B20_PORT 引腳*/
GPIO_InitStructure.GPIO_Pin = DS18B20_PIN;
/*設置引腳模式為浮空輸入模式*/
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
/*調用庫函數(shù), 初始化 DS18B20_PORT*/
GPIO_Init(DS18B20_PORT, &GPIO_InitStructure);
}
/*
* 函數(shù)名: DS18B20_Mode_Out_PP
* 描述 : 使 DS18B20-DATA 引腳變?yōu)檩敵瞿J?* 輸入 : 無
* 輸出 : 無
*/
static void DS18B20_Mode_Out_PP(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
/*選擇要控制的 DS18B20_PORT 引腳*/
GPIO_InitStructure.GPIO_Pin = DS18B20_PIN;
/*設置引腳模式為通用推挽輸出*/
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
/*設置引腳速率為 50MHz */
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
/*調用庫函數(shù), 初始化 DS18B20_PORT*/
GPIO_Init(DS18B20_PORT, &GPIO_InitStructure);
}
/*
*主機給從機發(fā)送復位脈沖
*/
static void DS18B20_Rst(void)
{
/* 主機設置為推挽輸出 */
DS18B20_Mode_Out_PP();
DS18B20_DATA_OUT(LOW);
/* 主機至少產生 480us 的低電平復位信號 */
Delay_us(750);
/* 主機在產生復位信號后, 需將總線拉高 */
DS18B20_DATA_OUT(HIGH);
Delay_us(15);
}
/*
* 檢測從機給主機返回的存在脈沖
* 0: 成功
* 1: 失敗
*/
static uint8_t DS18B20_Presence(void)
{
uint8_t pulse_time = 0;
/* 主機設置為上拉輸入 */
DS18B20_Mode_IPU();
while( DS18B20_DATA_IN() && pulse_time<100 )
{
pulse_time++;
Delay_us(1);
} 
/ * 經過 100us 后, 存在脈沖都還沒有到來*/
if( pulse_time >=100 )
return 1;
else
pulse_time = 0;

/* 存在脈沖到來, 且存在的時間不能超過 240us */
while( !DS18B20_DATA_IN() && pulse_time<240 )
{
pulse_time++;
Delay_us(1);
} 
if( pulse_time >=240 )
return 1;
else
return 0;
}
/*
* 從 DS18B20 讀取一個 bit
*/
static uint8_t DS18B20_Read_Bit(void)
{
uint8_t dat; /* 讀 0 和讀 1 的時間至少要大于 60us */
DS18B20_Mode_Out_PP();
/* 讀時間的起始: 必須由主機產生 >1us <15us 的低電平信號 */
DS18B20_DATA_OUT(LOW);
Delay_us(10);
/ * 設置成輸入, 釋放總線, 由外部上拉電阻將總線拉高 */
DS18B20_Mode_IPU();
//Delay_us(2);
if( DS18B20_DATA_IN() == SET )
dat = 1;
else
dat = 0;
/* 這個延時參數(shù)請參考時序圖 */
Delay_us(45);
return dat;
}
/*
* 從 DS18B20 讀一個字節(jié), 低位先行
*/
uint8_t DS18B20_Read_Byte(void)
{
uint8_t i, j, dat = 0;
for(i=0; i<8; i++)
{
j = DS18B20_Read_Bit();
dat = (dat) | (j<<i);
}
return dat;
}
/*
* 寫一個字節(jié)到 DS18B20, 低位先行
*/
void DS18B20_Write_Byte(uint8_t dat)
{
uint8_t i, testb;
DS18B20_Mode_Out_PP();
for( i=0; i<8; i++ )
{
testb = dat&0x01;
dat = dat>>1; 
/* 寫 0 和寫 1 的時間至少要大于 60us */
if (testb)
{  
DS18B20_DATA_OUT(LOW);
/* 1us < 這個延時 < 15us */
Delay_us(8);
DS18B20_DATA_OUT(HIGH);
Delay_us(58);
} 
else
{  
DS18B20_DATA_OUT(LOW);
/* 60us < Tx 0 < 120us */
Delay_us(70);
DS18B20_DATA_OUT(HIGH);  
/* 1us < Trec(恢復時間) < 無窮大*/
Delay_us(2);
}
}
}
void DS18B20_Start(void)
{
DS18B20_Rst(); 
DS18B20_Presence();
DS18B20_Write_Byte(0XCC);  /* 跳過 ROM */
DS18B20_Write_Byte(0X44);  /* 開始轉換 */
}
uint8_t DS18B20_Init(void)
{
DS18B20_GPIO_Config();
DS18B20_Rst();
return DS18B20_Presence();
}
float DS18B20_Get_Temp(float f_tem)
{
uint8_t tpmsb, tplsb;
short s_tem;
DS18B20_Rst(); 
DS18B20_Presence();
DS18B20_Write_Byte(0XCC); /* 跳過 ROM */
DS18B20_Write_Byte(0X44);    /* 開始轉換 */
DS18B20_Rst();
DS18B20_Presence();
DS18B20_Write_Byte(0XCC);    /* 跳過 ROM */
DS18B20_Write_Byte(0XBE);    /* 讀溫度值 */
tplsb = DS18B20_Read_Byte(); 
tpmsb = DS18B20_Read_Byte();
s_tem = tpmsb<<8;
s_tem = s_tem | tplsb;
I f( s_tem < 0 )  /* 負溫度 */
f_tem = (~s_tem+1) * 0.0625;
else
f_tem = s_tem * 0.0625;
return f_tem;
}

/*******************************************************************
篇幅有限,只展示部分代碼
********************************************************************/

4 實現(xiàn)效果

嵌入式畢設分享 stm32 wifi遠程溫控風扇系統(tǒng),單片機

演示視頻

畢業(yè)設計 stm32 wifi遠程溫控風扇系統(tǒng) - 單片機 嵌入式 物聯(lián)網

5 最后

包含內容

嵌入式畢設分享 stm32 wifi遠程溫控風扇系統(tǒng),單片機

?? 項目分享:見文末!

到了這里,關于嵌入式畢設分享 stm32 wifi遠程溫控風扇系統(tǒng)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • stm32畢設分享 Stm32酒駕檢查系統(tǒng) - 單片機 嵌入式 物聯(lián)網

    stm32畢設分享 Stm32酒駕檢查系統(tǒng) - 單片機 嵌入式 物聯(lián)網

    ?? 這兩年開始畢業(yè)設計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設,學長分享優(yōu)質畢業(yè)設計項目,今天

    2024年01月23日
    瀏覽(92)
  • stm32畢設分享 stm32實現(xiàn)車牌識別系統(tǒng) -物聯(lián)網 嵌入式 單片機

    stm32畢設分享 stm32實現(xiàn)車牌識別系統(tǒng) -物聯(lián)網 嵌入式 單片機

    ?? 這兩年開始畢業(yè)設計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設,學長分享優(yōu)質畢業(yè)設計項目,今天

    2024年02月20日
    瀏覽(28)
  • 嵌入式畢設分享 基于單片機的風速測量系統(tǒng) - 物聯(lián)網 嵌入式 stm32 arduino

    嵌入式畢設分享 基于單片機的風速測量系統(tǒng) - 物聯(lián)網 嵌入式 stm32 arduino

    ?? 這兩年開始畢業(yè)設計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設,學長分享優(yōu)質畢業(yè)設計項目,今天

    2024年02月20日
    瀏覽(32)
  • 嵌入式畢設分享 基于單片機的智能音響設計與實現(xiàn) -物聯(lián)網 嵌入式 stm32

    嵌入式畢設分享 基于單片機的智能音響設計與實現(xiàn) -物聯(lián)網 嵌入式 stm32

    ?? 這兩年開始畢業(yè)設計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設,學長分享優(yōu)質畢業(yè)設計項目,今天

    2024年02月22日
    瀏覽(38)
  • 嵌入式畢設分享 stm32與openmv的目標跟蹤系統(tǒng)

    嵌入式畢設分享 stm32與openmv的目標跟蹤系統(tǒng)

    文章目錄 0 前言 課題簡介 設計框架 3 硬件設計 4 軟件設計 判斷被測物體所在區(qū)域 5 最后 ?? 這兩年開始畢業(yè)設計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師

    2024年02月13日
    瀏覽(17)
  • 嵌入式畢設分享 stm32人臉識別快遞柜系統(tǒng)(源碼+硬件+論文)

    嵌入式畢設分享 stm32人臉識別快遞柜系統(tǒng)(源碼+硬件+論文)

    ?? 這兩年開始畢業(yè)設計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設,學長分享優(yōu)質畢業(yè)設計項目,今天

    2024年04月10日
    瀏覽(150)
  • stm32畢設分享 stm32智能運動計步系統(tǒng) - 物聯(lián)網 嵌入式 單片機

    stm32畢設分享 stm32智能運動計步系統(tǒng) - 物聯(lián)網 嵌入式 單片機

    ?? 這兩年開始畢業(yè)設計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設,學長分享優(yōu)質畢業(yè)設計項目,今天

    2024年02月20日
    瀏覽(102)
  • stm32畢設分享 基于stm32的便攜用電功率統(tǒng)計系統(tǒng) -物聯(lián)網 嵌入式 單片機

    stm32畢設分享 基于stm32的便攜用電功率統(tǒng)計系統(tǒng) -物聯(lián)網 嵌入式 單片機

    ?? 這兩年開始畢業(yè)設計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設,學長分享優(yōu)質畢業(yè)設計項目,今天

    2024年02月22日
    瀏覽(23)
  • 嵌入式畢設分享 stm32的人體健康狀態(tài)檢測系統(tǒng)(項目開源)

    嵌入式畢設分享 stm32的人體健康狀態(tài)檢測系統(tǒng)(項目開源)

    ?? 這兩年開始畢業(yè)設計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設,學長分享優(yōu)質畢業(yè)設計項目,今天

    2024年03月22日
    瀏覽(93)
  • stm32畢設分享 stm32單片機酒精濃度酒駕檢測系統(tǒng) - 物聯(lián)網 嵌入式

    stm32畢設分享 stm32單片機酒精濃度酒駕檢測系統(tǒng) - 物聯(lián)網 嵌入式

    ?? 這兩年開始畢業(yè)設計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設,學長分享優(yōu)質畢業(yè)設計項目,今天

    2024年02月20日
    瀏覽(92)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包