在线观看国产精品av-久久中文字幕人妻丝袜-国产偷窥熟女精品视频大全-日日碰狠狠添天天爽-中国女人做爰视频

STM32驅動溫濕度傳感器HTU21D

發布時間:2019年4月9日

1.簡介

法國Humirel公司新一代HTU21D溫度和濕度傳感器在尺寸與智能方面建立了新的標準:它嵌入了適于回流焊的雙列扁平無引腳DFN 封裝, 底面3x3mm ,高度1.1mm。傳感器輸出經過標定的數字信號,標準 I2C 格式。

 

STM32驅動溫濕度傳感器HTU21D

HTU21D溫度和濕度傳感器為OEM應用提供一個準確可靠的溫濕度測量數據。通過一個微控

制器的接口和模塊連接達到溫度和濕度數字輸出。HTU21D 的分辨率可以通過輸入命令進行改變(8/12bit 乃至12/14bit 的RH/T),傳感器可以檢測到電池低電量狀態,并且輸出校驗和,有助于提高通信的可靠性。

 

2.規格參數

STM32驅動溫濕度傳感器HTU21D

25攝氏度,3.3V供電時的電氣特性如下:

STM32驅動溫濕度傳感器HTU21D

 

印刷板設計注意:

 

如果SCL 和SDA 信號線相互平行并且非常接近,有可能導致信號串擾和通訊失敗。解決方法是在兩個信號線之間放置VDD 或GND,將信號線隔開,或使用屏蔽電纜。此外,降低SCL 頻率也可能提高信號傳輸的完整性。須在電源引腳(VDD, GND)之間加一個100nF 的去藕電容,用于濾波。此電容應盡量靠近傳感器。

 

STM32驅動溫濕度傳感器HTU21D

引腳定義:

STM32驅動溫濕度傳感器HTU21D

本實驗采用的為成品HTU21D模塊,直接與 STM32 開發板連接即可。

 

引腳 說明

電源引腳 (VDD, GND) HTU21 的供電范圍為 1.8VDC – 3.6VDC,推薦電壓為 3.0V。電源(VDD)和接地(VSS)之間須連接一個0.1uF的去耦電容,且電容的位置應盡可能靠近傳感器。

串行時鐘輸入(SCK) SCK 用于微處理器與 HTU21 之間的通訊同步。由于接口包含了完全靜態邏輯,因而不存在最小 SCK 頻率。

串行數據 (DATA) DATA 引腳為三態結構,用于讀取傳感器數據。當向傳感器發送命令時, DATA 在 SCK 上升沿有效且在 SCK 高電平時必須保持穩定。 DATA 在 SCK 下降沿之后改變。當從傳感器讀取數據時, DATA 在 SCK 變低以后有效,且維持到下一個 SCK 的下降沿。為避免信號沖突,微處理器應驅動 DATA 在低電平。需要一個外部的上拉電阻(例如: 10kΩ)將信號提拉至高電平。上拉電阻通常已包含在微處理器的 I/O 電路中。

3.通訊過程

Htu21d遵循標準的 IIC 進行通信,關于 IIC 的介紹請看—>IIC專題(一)——基礎知識準備。本文設計也多參考此篇文章–>STM32F10x_模擬I2C讀寫EEPROM。

 

3.1 IIC啟動信號

啟動傳輸,發送一位數據時,包括 DATA 線在 SCK 線高電平期間一個向低電平的跳變。

STM32驅動溫濕度傳感器HTU21D

STM32驅動溫濕度傳感器HTU21D

3.2 IIC停止信號

終止傳輸,停止發送數據時,包括 DATA 線在 SCK 線高電平期間一個向高電平的跳變。

 

STM32驅動溫濕度傳感器HTU21D

3.2 IIC數據傳輸

SCL時鐘電平為低, 可以改換SDA數據線的電平,在SCL上升沿的過程將SDA數據發送出去。SCL為高電平時,SDA上的數據保持穩定。

 

 

 

I2C 是以字節(8位)的方式進行傳輸,總線上每傳輸完1字節之后會有一個應答信號,應答信號總是由接收方來產生。通信過程的時鐘由主器件(主機)提供。

 

IIC 寫一字節:

 

STM32驅動溫濕度傳感器HTU21D

STM32驅動溫濕度傳感器HTU21D

數據發送結束,進行應答操作。

0:表示從機應答,可以繼續下一步操作;

1:表示從機非應答,不能進行下一步操作。

 

IIC讀一字節:

 

IIC讀取操作類似于發送,只是傳輸數據方向相反。

 

STM32驅動溫濕度傳感器HTU21D

STM32驅動溫濕度傳感器HTU21D

3.3 IIC應答信號處理

等待應答:

STM32驅動溫濕度傳感器HTU21D

產生應答:

 

STM32驅動溫濕度傳感器HTU21D

產生非應答:

 

STM32驅動溫濕度傳感器HTU21D

4.HTU21D數據測量

測量命令如下表:

STM32驅動溫濕度傳感器HTU21D

本文采用非保持主機:

//非主機模式

 

#define HTU_TEMP? ? 0xf3

#define HTU_HUMI? ? 0Xf5

 

在非主機模式下, MCU 需要對傳感器狀態進行查詢。此過程通過發送一個啟動傳輸時序,之后緊接著是如圖所示的I2C 首字節(1000’0001)來完成。如果內部處理工作完成,單片機查詢到傳感器發出的確認信號后,相關數據就可以通過MCU 進行讀取。如果測量處理工作沒有完成,傳感器無確認位(ACK)輸出,此時必須重新發送啟動傳輸時序。

 

STM32驅動溫濕度傳感器HTU21D

傳感器初始化:

STM32驅動溫濕度傳感器HTU21D

傳感器數據讀取與轉換:

 

傳感器內部設置的默認分辨率為相對濕度12位和溫度14 位。 SDA 的輸出數據被轉換成兩個字節的數據包,高字節MSB 在前(左對齊)。每個字節后面都跟隨一個應答位。兩個狀態位,即LSB 的后兩位在進行物理計算前須置‘0’。

 

轉換計算如下圖:

STM32驅動溫濕度傳感器HTU21D

源代碼實現:

STM32驅動溫濕度傳感器HTU21D

 

顯示方式:

 

本實驗通過串口打印和 TFTLCD 顯示,串口打印有助于程序的調試。

 

STM32驅動溫濕度傳感器HTU21D

對于測量出來float的數值如何直接顯示到LCD上,代碼中簡要的介紹了兩種方式:

LCD顯示方式1:sprintf函數將結果打印到test數組里,轉換成字符串顯示(LCD_ShowString)。

LCD顯示方式2:將得到的數值拆分成整數和小數直接顯示在液晶(LCD_ShowxNum)。

液晶顯示直接參考正點原子的驅動。

主站蜘蛛池模板: 人妻 日韩精品 中文字幕| 97精品依人久久久大香线蕉97| 久久精品久久电影免费| 久久精品人人做人人爽电影蜜月| 色婷婷国产精品秘?免| 亚洲aⅴ天堂av天堂无码麻豆| av夜夜躁狠狠躁日日躁| 国产免费久久久久久无码| 加勒比中文无码久久综合色| 国产69成人精品视频免费| 日韩精品亚洲人成在线| 国产精品久久久久久久久ktv| 青青草原综合久久大伊人精品| 东京热无码av一区二区| 国产人妖xxxx做受视频| 欧美做受又硬又粗又大视频| 久久久久久国产精品无码下载| 亚欧乱色国产精品免费视频| 日本少妇无码精品12p| 久久大香萑太香蕉av黄软件| 国产男女猛烈无遮挡免费网站| 国产69精品久久久久9999| 欧美日韩在线亚洲综合国产人| 亚洲欧美另类成人综合图片| 色一情一乱一伦一区二区三区日本| 亚洲中文字幕无码一区二区三区| www国产亚洲精品久久网站| 久久精品国产成人av| 国产乱人伦偷精品视频| 中文字幕久热精品视频在线| 亚洲午夜理论无码电影| 中文字幕aⅴ人妻一区二区| 在线综合亚洲欧洲综合网站 | 中文成人无字幕乱码精品区| 国产国产成人久久精品| 玩弄丰满奶水的女邻居| 国产精品久久久久这里只有精品| а√天堂资源8在线官网在线 | 无码人妻av一二区二区三区| 337p大胆啪啪私拍人体| 国产精品永久免费|