加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

基于STM32的DHT11溫濕度控制系統(tǒng)仿真設(shè)計(jì)

09/05 10:13
5221
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
實(shí)物圖
相關(guān)方案
  • 方案介紹
    • 演示視頻
    • 1.主要功能
    • 2.仿真
    • 3. 程序
    • 4. 設(shè)計(jì)報(bào)告
    • 5.設(shè)計(jì)內(nèi)容 百度云網(wǎng)盤下載鏈接
  • 相關(guān)文件
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

仿真圖proteus 8.9

程序編譯器:keil 5

編程語言:C語言

設(shè)計(jì)編號(hào):C0076

演示視頻


基于STM32的DHT11溫濕度控制系統(tǒng)仿真設(shè)計(jì)(仿真+程序+報(bào)告+講解)

1.主要功能

結(jié)合實(shí)際情況,基于STM32F103單片機(jī)設(shè)計(jì)一個(gè)溫濕度采集控制系統(tǒng)。該系統(tǒng)應(yīng)滿足的功能要求為:

1、以STM32為最小系統(tǒng)電路進(jìn)行連接,用液晶顯示屏顯示溫度、濕度、溫度閾值,濕度閾值。

2、用DHT11溫濕度傳感器進(jìn)行溫濕度的測(cè)量。

3、可以通過按鍵可以設(shè)置溫室度閾值。

4、當(dāng)溫度達(dá)到設(shè)置的閾值時(shí),風(fēng)扇進(jìn)行轉(zhuǎn)動(dòng),由此來達(dá)到散熱降溫的目的。當(dāng)濕度不足設(shè)定的閾值時(shí),加濕器開始工作。

主要硬件設(shè)備:STM32F103單片機(jī)、DHT11溫濕度模塊、按鍵、LCD1602液晶屏幕。

以下為本設(shè)計(jì)資料展示:

2.仿真

整體設(shè)計(jì)方案

該系統(tǒng)為溫濕度采集控制系統(tǒng),其主要的功能有:以stm32為最小系統(tǒng)電路進(jìn)行連接,用液晶顯示屏顯示溫度、濕度數(shù)據(jù)。同時(shí)用溫濕度傳感器進(jìn)行溫濕度的采集與測(cè)量。溫濕度采集器可以通過按鈕進(jìn)行溫濕度測(cè)量的轉(zhuǎn)化。通過按鍵可以設(shè)置閾值。當(dāng)溫度達(dá)到報(bào)警的閾值時(shí)散熱繼電器開始工作,帶動(dòng)發(fā)動(dòng)機(jī)進(jìn)行轉(zhuǎn)動(dòng),由此來達(dá)到散熱的目的。當(dāng)濕度達(dá)到一定的閾值時(shí),加濕繼電器開始工作,這里以LED燈亮代表工作。該系統(tǒng)就是采集室內(nèi)溫濕度,當(dāng)不滿足要求時(shí)自動(dòng)進(jìn)行室內(nèi)溫度、濕度的調(diào)整。

測(cè)試如下所示:

開始仿真后LCD1602第一行T顯示檢測(cè)的溫度值,H顯示濕度值。第二行的表示閾值。濕度低于閾值,加濕器開始工作。溫度高于閾值,風(fēng)扇啟動(dòng),用于降溫,可以通過按鍵調(diào)整閾值。

img

3. 程序

img

main函數(shù)

#include "main.h"
/****全局變量******************************************/
char lcd_dat1[20];//液晶第一行
char lcd_dat2[20];//液晶第二行
uint16_t temp_dat;//溫度變量
uint16_t hum_dat;//濕度變量
uint16_t set_temp_dat=27;//設(shè)置溫度變量
uint16_t set_hum_dat=50;//設(shè)置濕度變量
uint8_t setnum;//設(shè)置變量

/**********函數(shù)申明****************************************/
void ADC1_Init(void);
uint16_t Read_Adc1(uint8_t ch);//通道采樣1次
uint16_t light_intensity(uint32_t dat);//光強(qiáng)函數(shù);
void KEY_IO_Init(void);//按鍵初始化
void EXTIx_Init(void);//外部中斷
void Relay_IO_Init(void); //控制繼電器引腳io初始化
void EXTI0_IRQHandler(void);
void EXTI1_IRQHandler(void);
void EXTI2_IRQHandler(void);
/*****************************************
	main函數(shù)
*****************************************/
int main(void){
	uint8_t count_i;
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//中斷向量分組 2
	//按鍵和繼電器引腳初始化
	KEY_IO_Init();
	Relay_IO_Init();
	EXTIx_Init();//外部中斷初始化
  LCD_init();    //LCD1602初始化
	LCD_clr();//LCD清屏幕
	
	DHT11_Init();//溫濕度傳感器初始化
	
	ADC1_Init();//adc采樣初始化 用于ad類型傳感器
	
	
	
	while(1){	
		count_i++;
		//if(count_i>50)
		{
			//傳感器數(shù)據(jù)采集
			if(DHT11_ReadData())//溫濕度采集
			{
				temp_dat=DHT11_GetTem();
				temp_dat=temp_dat/256;
				delay_ms(10);
				hum_dat=DHT11_GetHum();
				hum_dat=hum_dat/256;
			}

					//液晶顯示:T溫度  H濕度,
			sprintf(lcd_dat1,"T:%d    H:%d n",temp_dat,hum_dat);//轉(zhuǎn)換溫度,濕度
			LCD_prints(0,0,lcd_dat1);//液晶顯示第一行
			if(setnum==0)
			{
				sprintf(lcd_dat2,"  %d   %d   n",set_temp_dat,set_hum_dat);///轉(zhuǎn)換設(shè)置溫度,設(shè)置濕度
				LCD_prints(0,1,lcd_dat2);//液晶顯示第二行
			}
				if(setnum	== 1)
			{
				sprintf(lcd_dat2,"  %d^  %d  n",set_temp_dat,set_hum_dat);///轉(zhuǎn)換設(shè)置溫度,設(shè)置濕度
				LCD_prints(0,1,lcd_dat2);//液晶顯示第二行
			}
			if(setnum	== 2)
			{
				sprintf(lcd_dat2,"  %d   %d^  n",set_temp_dat,set_hum_dat);///轉(zhuǎn)換設(shè)置溫度,設(shè)置濕度
				LCD_prints(0,1,lcd_dat2);//液晶顯示第二行
			}
			if(setnum	== 3)
			{
				sprintf(lcd_dat2,"  %d   %d   ^n",set_temp_dat,set_hum_dat);///轉(zhuǎn)換設(shè)置溫度,設(shè)置濕度
				LCD_prints(0,1,lcd_dat2);//液晶顯示第二行
			}
		}
		if(temp_dat>set_temp_dat)//比較溫度
			Relay1=1;
		else
			Relay1=0;
		if(hum_dat<set_hum_dat)//比較濕度
			Relay2=1;
		else
			Relay2=0;	
	}

}

4. 設(shè)計(jì)報(bào)告

部分內(nèi)容:

該系統(tǒng)主要由stm32f103r6作為單片機(jī)最小系統(tǒng)、由DHTT1溫濕度傳感器、LM016L液晶顯示屏、繼電器、電機(jī)、LED燈、按鍵等硬件組成。

1主控制器選擇

主控芯片采用STM32F103C6單片機(jī),其管腳圖下圖所示。

img

圖3.1 STM32F103C6引腳圖

STM32F103C6是STM32系列單片機(jī)的典型產(chǎn)品,STM32單片機(jī)有很多個(gè)系列,其中包括基本型、USB基本型、增強(qiáng)型以及互聯(lián)型幾大系列,這寫系列的STM32單片機(jī)都是具有性能高、功耗低、成本低等特點(diǎn)。其內(nèi)部結(jié)構(gòu)圖如圖 3.2所示:

img

圖 3.2 STM32內(nèi)部結(jié)構(gòu)圖

本課題采用的是STM32F103C6單片機(jī)芯片,這是是一款A(yù)RM M3內(nèi)核的增強(qiáng)型微控制器,這款內(nèi)核的工作頻率是能夠達(dá)到72MHz的,它擁有著128K字節(jié)的閃存和極其豐富的外設(shè),如GPIO口,串口,定時(shí)器,中斷,數(shù)模轉(zhuǎn)換,實(shí)時(shí)時(shí)鐘,看門狗SPI,IIC,CAN總線等部分組成。STM32F103系列單片機(jī)的性能在同一個(gè)類別的產(chǎn)品中是最高的,它能夠在-40°C -85°C溫度下正常地進(jìn)行工作,工作的電壓范圍為2V-3.6V,具有低功耗的節(jié)能工作模式,閃存存儲(chǔ)器的容量為64K字節(jié)。

電源電路:本課題電源由USB接口提供5V直流電

復(fù)位電路:按鍵SW1接入高電平到STM32內(nèi)部NRST引腳,NRST上脈沖只要持續(xù)大于300ns的即可觸發(fā)單片機(jī)復(fù)位。

晶振電路:外接8M晶振,通過倍頻產(chǎn)生最高72MHz工作頻率。

下載電路:本課題選用SWD下載電路,只需要引出SWDIO、SWCLK、VCC3.3V、GND,在MDK下載選項(xiàng)中選擇SWD即可下載程序到單片機(jī)上。

img

5.設(shè)計(jì)內(nèi)容 百度云網(wǎng)盤下載鏈接

下載鏈接見視頻

img

  • 設(shè)計(jì)資料獲取聯(lián)系方式.doc

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
KSZ8081RNACA 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER, QCC24

ECAD模型

下載ECAD模型
$0.77 查看
NC7SZ74K8X 1 Fairchild Semiconductor Corporation D Flip-Flop, LVC/LCX/Z Series, 1-Func, Positive Edge Triggered, 1-Bit, Complementary Output, CMOS, PDSO8, 3.10 MM, MO-187CA, US-8
$0.56 查看
S25FL512SAGBHIC13 1 Cypress Semiconductor Flash, 128MX4, PBGA24, FBGA-24
暫無數(shù)據(jù) 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜