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

【STM32】DHT11溫濕度模塊傳感器詳解&代碼

這篇具有很好參考價(jià)值的文章主要介紹了【STM32】DHT11溫濕度模塊傳感器詳解&代碼。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、DHT11產(chǎn)品介紹

DHT11是數(shù)字溫濕度傳感器,測(cè)量范圍:濕度20%-95%,溫度0-50℃,廣泛應(yīng)用于加濕器、溫濕度計(jì)、空調(diào)、汽車等領(lǐng)域。

二、典型應(yīng)用電路

dht11代碼,STM32,stm32,單片機(jī),嵌入式硬件,DHT11
如上圖DATA引腳用于MCU與DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時(shí)間4ms左右(超時(shí)時(shí)間的判斷)。一次完整的數(shù)據(jù)傳輸為40bit,高位先出(MSB最高有效位有線傳輸)
數(shù)據(jù)傳送正確時(shí)校驗(yàn)和數(shù)據(jù)等于:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù),所得結(jié)果的末8位。
如:
濕度:60.5% 60 05
溫度:26.7℃ 26 07
60+5+26+7=98
98&0xFF=98=1001 1000

三、DHT11溫濕度模塊的通信過(guò)程

dht11代碼,STM32,stm32,單片機(jī),嵌入式硬件,DHT11
四、示例代碼
顯示室內(nèi)溫度和濕度
效果圖:
dht11代碼,STM32,stm32,單片機(jī),嵌入式硬件,DHT11

1、DHT11初始化

void dht11_init(void)
{
	//打開端口G的硬件時(shí)鐘,就是供電
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOG,ENABLE);


	GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_9; 	//9號(hào)引腳
	GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_OUT;	//輸出模式
	GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;	//開漏
	GPIO_InitStructure.GPIO_Speed = GPIO_High_Speed;//高速,速度越高,響應(yīng)越快,但是功耗會(huì)更高
	GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_NOPULL;//不使能上下拉電阻
	GPIO_Init(GPIOG,&GPIO_InitStructure);

	//只要有輸出模式,肯定會(huì)有初始電平的狀態(tài),看連接設(shè)備的說(shuō)明書
	PGout(9)=1;

}

2、

int32_t dht11_read(uint8_t *buf)
{
	uint32_t t=0;
	int32_t i=0,j=0;
	uint8_t d=0;
	uint8_t *p=buf;
	uint8_t check_sum=0;
	
	GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_9; 	//9號(hào)引腳
	GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_OUT;	//輸出模式
	GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;	//開漏
	GPIO_InitStructure.GPIO_Speed = GPIO_High_Speed;//高速,速度越高,響應(yīng)越快,但是功耗會(huì)更高
	GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_NOPULL;//不使能上下拉電阻
	GPIO_Init(GPIOG,&GPIO_InitStructure);	
	
	PGout(9)=0;
	delay_ms(18);
	
	PGout(9)=1;
	delay_us(30);
	
	GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_9; 	//9號(hào)引腳
	GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_IN;	//輸入模式
	GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;	//開漏
	GPIO_InitStructure.GPIO_Speed = GPIO_High_Speed;//高速,速度越高,響應(yīng)越快,但是功耗會(huì)更高
	GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_NOPULL;//不使能上下拉電阻
	GPIO_Init(GPIOG,&GPIO_InitStructure);
	
	//等待低電平出現(xiàn)
	t=0;
	while(PGin(9))
	{
		t++;
		delay_us(1);
		
		if(t >= 4000)
			return -1;
	}

	//用超時(shí)檢測(cè)的方法測(cè)量低電平的合法性
	t=0;
	while(PGin(9)==0)
	{
		t++;
		delay_us(1);
		
		if(t >= 100)
			return -2;
	}	
	
	//用超時(shí)檢測(cè)的方法測(cè)量高電平的合法性
	t=0;
	while(PGin(9))
	{
		t++;
		delay_us(1);
		
		if(t >= 100)
			return -3;
	}	
	
	for(j=0; j<5; j++)
	{
		//接收一個(gè)字節(jié)的數(shù)據(jù)
		for(d=0,i=7; i>=0; i--)
		{
			//用超時(shí)檢測(cè)的方法測(cè)量低電平的合法性
			t=0;
			while(PGin(9)==0)
			{
				t++;
				delay_us(1);
				
				if(t >= 100)
					return -4;
			}

			//延時(shí)40us (延時(shí)時(shí)間在28us ~ 70us)
			delay_us(40);
			
			if(PGin(9))
			{
				d|=1<<i;	//將d變量對(duì)應(yīng)的bit置1
				
				//等待高電平持續(xù)完畢
				t=0;
				while(PGin(9))
				{
					t++;
					delay_us(1);
					
					if(t >= 100)
						return -5;
				}			
			}
		}	
		p[j]=d;
	}
	
	//延時(shí)50us,可以忽略通訊結(jié)束的低電平
	delay_us(50);
	
	//計(jì)算校驗(yàn)和,檢查接收到的數(shù)據(jù)是否準(zhǔn)確
	check_sum = (p[0]+p[1]+p[2]+p[3])&0xFF;
	
	if(check_sum == p[4])
		return 0;
	
	return -6;
}

3、main函數(shù)實(shí)現(xiàn)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-523661.html

int main(void)
{
	uint8_t buf[5];
	int32_t rt;
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);
	
	/* 初始化串口1波特率為115200bps,若發(fā)送/接收數(shù)據(jù)有亂碼,請(qǐng)檢查PLL */
	usart1_init(115200);
	
	dht11_init();

	printf("this is dht11 test\r\n");
	
	printf("1<<6=%X \r\n",1<<6);	
	printf("1<<3=%X \r\n",1<<3);		
	
	while(1)
	{
		rt = dht11_read(buf);
		
		if( rt == 0)
		{
			printf("T:%d.%d H:%d.%d\r\n",buf[2],buf[3],buf[0],buf[1]);
		
		}
		else
		{
			printf("dht11 read error code is %d\r\n",rt);
		}

		//官方要求,每6秒
		delay_ms(6000);
	}
}

到了這里,關(guān)于【STM32】DHT11溫濕度模塊傳感器詳解&代碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • stm32連接DHT11溫濕度傳感器

    stm32連接DHT11溫濕度傳感器

    目錄 1. DHT11簡(jiǎn)介 1.1. 連接電路? 1.2. 串行接口 (單線雙向) ?2. cubeMX設(shè)置 3. 代碼開發(fā) ?3.1. 實(shí)現(xiàn)定時(shí)函數(shù) 3.2. 打開串口調(diào)試 3.4. 測(cè)試代碼實(shí)現(xiàn) 4. 運(yùn)行效果 信息如下: 建議連接線長(zhǎng)度短于20米時(shí)用5K上拉電阻,大于20米時(shí)根據(jù)實(shí)際情況使 用合適的上拉電阻 ?DHT11的供電電壓為 3-5

    2023年04月16日
    瀏覽(95)
  • STM32+DHT11采集溫濕度傳感器數(shù)據(jù)

    STM32+DHT11采集溫濕度傳感器數(shù)據(jù)

    ????????DHT11 是一款濕溫度一體化的數(shù)字傳感器。該傳感器包括一個(gè)電阻式測(cè)濕元件和一個(gè) NTC 測(cè)溫元件,并與一個(gè)高性能 8 位單片機(jī)相連接。通過(guò)單片機(jī)等微處理器簡(jiǎn)單的電路連接就能夠 實(shí)時(shí)的采集本地濕度和溫度。 DHT11 與單片機(jī)之間能采用簡(jiǎn)單的單總線進(jìn)行通信,僅

    2024年02月07日
    瀏覽(39)
  • 玩轉(zhuǎn)傳感器——DHT11溫濕度傳感器(STM32版)

    玩轉(zhuǎn)傳感器——DHT11溫濕度傳感器(STM32版)

    DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長(zhǎng)期穩(wěn)定性。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接。因此該產(chǎn)

    2024年02月03日
    瀏覽(27)
  • 【STM32(HAL庫(kù))--DHT11溫濕度傳感器】

    【STM32(HAL庫(kù))--DHT11溫濕度傳感器】

    stm32控制DHT11溫濕度傳感器,進(jìn)行溫濕度的讀取.以下是自己的一點(diǎn)學(xué)習(xí)過(guò)程和心得,若有不妥之處,還望各位大佬指正,在下感激不盡. DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器 。 它應(yīng)用專用的數(shù)字模塊采集技術(shù)溫濕度傳感技術(shù), 確保產(chǎn)品具有極高

    2024年04月15日
    瀏覽(28)
  • STM32+DHT11溫濕度傳感器(含完整代碼)

    STM32+DHT11溫濕度傳感器(含完整代碼)

    前言 DHT11數(shù)字溫濕度傳感器是一種數(shù)字信號(hào)輸出的溫濕度傳感器,具有高可靠性和長(zhǎng)期穩(wěn)定性。它采用專用的數(shù)字模塊和溫濕度傳感技術(shù),提供準(zhǔn)確的溫濕度數(shù)據(jù)。傳感器內(nèi)部包含感濕元件和測(cè)溫元件,并與高性能單片機(jī)連接。因此,該傳感器具有優(yōu)異的品質(zhì)、快速響應(yīng)、抗

    2024年04月08日
    瀏覽(29)
  • [STM32]HAL庫(kù)STM32CubeMX+DHT11溫濕度傳感器

    [STM32]HAL庫(kù)STM32CubeMX+DHT11溫濕度傳感器

    目錄 所用的工具: 知識(shí)概括: DHT11介紹: DHT11性能說(shuō)明: 接口說(shuō)明 ?電源引腳 串行接口?? 工程創(chuàng)建 1、設(shè)置RCC 2、時(shí)鐘設(shè)置 3、項(xiàng)目文件設(shè)置 4、設(shè)置IO口(DATA) 5、TIM時(shí)鐘配置 6、USART配置 ? 程序編寫: ? ? ? ???1、TIM3實(shí)現(xiàn)微秒(us)級(jí)延時(shí)函數(shù): 2、IO口配置 3、DHT11檢測(cè)

    2024年02月09日
    瀏覽(30)
  • STM32F4_DHT11數(shù)字溫濕度傳感器

    STM32F4_DHT11數(shù)字溫濕度傳感器

    目錄 前言 1. DHT11簡(jiǎn)介 2. DHT11數(shù)據(jù)結(jié)構(gòu) 3. DHT11的傳輸時(shí)序 3.1 DHT11開始發(fā)送數(shù)據(jù)流程 3.2 主機(jī)復(fù)位信號(hào)和DHT11響應(yīng)信號(hào) 3.3 數(shù)字 “0” 信號(hào)表示方法 3.4 數(shù)字 “1” 信號(hào)表示方法 4. 硬件分析 5. 實(shí)驗(yàn)程序詳解 5.1 main.c 5.2 DHT11.c 5.3 DHT11.h ????????DHT11數(shù)字溫濕度傳感器 不但能測(cè)溫度

    2024年02月08日
    瀏覽(88)
  • Clion開發(fā)Stm32之溫濕度傳感器(DHT11)驅(qū)動(dòng)編寫

    涵蓋之前文章: Clion開發(fā)STM32之HAL庫(kù)GPIO宏定義封裝(最新版) Clion開發(fā)stm32之微妙延遲(采用nop指令實(shí)現(xiàn)) Clion開發(fā)STM32之日志模塊(參考RT-Thread) 頭文件 源文件

    2024年02月15日
    瀏覽(26)
  • (STM32F103單片機(jī))DHT11溫濕度傳感器

    (STM32F103單片機(jī))DHT11溫濕度傳感器

    目錄 ? 一,產(chǎn)品介紹 二,產(chǎn)品亮點(diǎn) 三,產(chǎn)品參數(shù) 四,引腳連接及通信說(shuō)明 ?五,原理講解 六,源碼 1,DHR11.C 2.DHR11.H 3,main.c DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高

    2023年04月08日
    瀏覽(28)
  • ESP32單片機(jī)使用DHT11溫濕度傳感器的實(shí)踐與代碼解析

    摘要:本文將介紹如何使用ESP32單片機(jī)與溫濕度傳感器進(jìn)行連接和數(shù)據(jù)讀取。通過(guò)實(shí)例代碼的解析,幫助讀者了解實(shí)現(xiàn)溫濕度檢測(cè)的原理和方法。 一、引言 ESP32是一款功能強(qiáng)大的微控制器,廣泛應(yīng)用于物聯(lián)網(wǎng)、智能家居等領(lǐng)域。在許多應(yīng)用場(chǎng)景中,溫濕度傳感器是不可或缺的

    2024年02月21日
    瀏覽(43)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包