HTU21D傳感器模塊介紹
數(shù)字式溫濕度復(fù)合傳感器HTU21D樹立了新的濕度傳感器的尺寸和智能化典范:采用適合回流焊的DFN封裝,尺寸僅為3 x 3 x 1mm;提供經(jīng)過校正的,線性的I2C數(shù)字輸出信號。
HTU21D是濕度和溫度的復(fù)合傳感器,是需要可靠和準(zhǔn)確測量的OEM應(yīng)用的理想選擇。數(shù)字輸出的濕度和溫度信號可以直接與微控器接口。每個(gè)傳感器都經(jīng)過校正和測試,批號不僅打印在外殼,而且存儲于傳感器芯片,以便通過指令讀取。用戶可以通過指令改變HTU21D的分辨率(8/12bit至12/14bit)。
此外,傳感器還可以檢測電量低,校驗(yàn)和用于改善通訊可靠性。
HTU21D的功耗低,性價(jià)比高,尺寸小,所以適合價(jià)格敏感和安裝空間受限的OEM大批量應(yīng)用。
廣泛應(yīng)用于發(fā)動機(jī)和機(jī)動車輛, 醫(yī)療, 工業(yè)控制, 消費(fèi)電子和家用電器等行業(yè)。
HTU21D實(shí)際上是提供各種功能的溫度和濕度傳感器,并且與微控制器一起使用非常簡單。該傳感器能夠測量 -40 至 125°C 范圍內(nèi)的溫度讀數(shù),精度為 ±0.3°C。同樣,HTU21D 芯片還提供濕度傳感器,其工作濕度范圍為 0-100%,典型精度為 2%。
HTU21D 傳感器模塊具有 3.3V 穩(wěn)壓器和電平轉(zhuǎn)換器。因此,與 Arduino、ESP32、STM32 等微控制器一起使用非常方便。該傳感器非常適合與微控制器一起用于溫度和濕度測量,例如恒溫器、氣象站等。此外,由于其低功耗(測量傳感器數(shù)據(jù)時(shí)小于 0.5mA,睡眠模式時(shí)小于 0.14μA)非常適合在使用電池的設(shè)備中使用。
HTU21D 傳感器模塊如下圖所示,它封裝了 HTU21D 傳感器芯片和用于 I2C 通信的內(nèi)置 4.7k 歐姆上拉電阻。它是一個(gè) 3.3V 傳感器,使用內(nèi)聯(lián)邏輯電平轉(zhuǎn)換器或 10k 電阻來限制 5V 信號。
I2C接口
HTU21D 傳感器模塊使用 I2C 通信協(xié)議將傳感器數(shù)據(jù)傳輸?shù)轿⒖刂破鳌鞲衅髂K具有 SCL(串行時(shí)鐘)和 SDA(串行數(shù)據(jù))引腳,可與 Arduino 或支持相同接口的其他傳感器的 I2C 接口連接。
然而,HTU21D 傳感器模塊帶有一個(gè)固定的 I2C 地址,即 0x40。為了與同一總線上的多個(gè) HTU21D 傳感器進(jìn)行通信,需要一個(gè)多路復(fù)用器。
要在同一總線上使用多個(gè) I2C 設(shè)備,HTU21D 傳感器模塊上的 4.7k 歐姆電阻被禁用。
HTU21D 傳感器模塊引出線
下圖為市售的兩種 HTU21D 傳感器模塊的引腳圖。兩者均由四個(gè)引腳組成。
下面列出了 HTU21D 傳感器模塊的引腳排列及其簡要說明。
規(guī)格
HTU21D溫濕度傳感器規(guī)格如下表所示。
將 HTU21D 模塊與 Arduino 接口
在本節(jié)中,讓我們向您展示如何將 HTU21D 傳感器模塊連接到 Arduino。
您將需要以下組件
- Arduino
- HTU21D 傳感器模塊
- 跳線
HTU21D 與 Arduino 板的連接非常簡單。HTU21D模塊的VCC端接Arduino的3.3V,地接地(common ground),傳感器的SCL接Arduino的SCL腳(A5),傳感器的SDA接Arduino的SDA腳(A4) .
Arduino 中 SDA 的 I2C 引腳是 A4,SCL 是 A5。兩個(gè)設(shè)備之間的連接可以在下表中看到。
按照下面的 Arduino 模塊示意圖并相應(yīng)地連接它們。
安裝 HTU21D Arduino 庫
我們將使用 Arduino IDE 對我們的 Arduino 開發(fā)板進(jìn)行編程。因此,您應(yīng)該擁有最新版本的 Arduino IDE。
由于我們將 HTU21D 傳感器模塊與 Arduino 連接,因此,我們必須安裝庫以訪問傳感器數(shù)據(jù)。這個(gè)項(xiàng)目需要兩個(gè)庫:
- Adafruit HTU21D
- Adafruit 總線
我們將使用 Arduino IDE 中的庫管理器來安裝最新版本的庫。打開您的 Arduino IDE 并轉(zhuǎn)到 Sketch > Include Libraries > Manage Libraries。 在搜索欄中輸入 HTU21D 并安裝最新版本。
在搜索欄中輸入 Adafruit BusIO 并安裝它。
Arduino 代碼——在 Arduino 串行監(jiān)視器上獲取 HTU21D 讀數(shù)
此草圖每半秒顯示一次 Arduino 串行監(jiān)視器上的當(dāng)前溫度和濕度讀數(shù)。
守則如何運(yùn)作?
現(xiàn)在,讓我們了解代碼的每個(gè)部分是如何工作的。
代碼首先包含代碼正常運(yùn)行所需的所有必要庫。Wire.h 將允許我們通過 I2C 協(xié)議進(jìn)行通信。Adafruit_HTU21DF.h 庫將使我們能夠初始化和讀取 HTU21D 傳感器。
loop()
在 loop() 函數(shù)內(nèi),Arduino 首先每半秒獲取一次 HTU21D 傳感器讀數(shù),并將它們存儲在各自的浮點(diǎn)變量中,“temp”代表溫度,“hum”代表濕度。通過 htu.readTemperature() 獲取溫度讀數(shù)。使用 htu.readHumidity() 函數(shù)訪問濕度讀數(shù)。這些讀數(shù)打印在 ESP-IDF 終端中。
示范
在 Arduino IDE 中,單擊工具 > 電路板并選擇 Arduino。
現(xiàn)在,單擊工具 > 端口并選擇您正在使用的端口。現(xiàn)在,通過單擊上傳按鈕上傳代碼。
在您的 Arduino 開發(fā)板上上傳以下代碼后,按下 ENABLE 按鈕,如下所示:
在您的 Arduino IDE 中,打開串行監(jiān)視器并將波特率設(shè)置為 115200。串行監(jiān)視器將開始顯示溫度和濕度讀數(shù)以及單位。每半秒后將顯示新讀數(shù)。
在 OLED 顯示屏上顯示 HTU21D 傳感器值
在本節(jié)中,我們將了解如何使用 Arduino IDE 和 Arduino 在 0.96 SSD1306 OLED 顯示器上顯示 HTU21D 傳感器讀數(shù)。
在 Arduino IDE 中安裝 SSD1306 OLED 庫
要在我們的項(xiàng)目中使用 OLED 顯示屏,我們必須在 Arduino IDE 中安裝 Adafruit SSD 1306 庫。請按照以下步驟成功安裝它。
打開 Arduino IDE 并單擊 Sketch > Library > Manage Libraries。將打開以下窗口。
?在搜索選項(xiàng)卡中鍵入“SSD1306”并安裝 Adafruit SSD1306 OLED 庫。
原理圖——帶 Arduino 和 HTU21D 的 OLED
您將需要以下組件
- Arduino
- HTU21D 傳感器模塊
- SSD1306 有機(jī)發(fā)光二極管
- 面包板
- 跳線
下表顯示了應(yīng)連接在一起的三個(gè)設(shè)備的端子。
如下圖所示組裝電路:
正如您在上面看到的,我們已經(jīng)將所有 VCC 端子連接到 Arduino 的 3.3V 引腳。SCL端子與A5相連,SDA端子與A4相連。理由也很普遍。
Arduino Sketch 在 OLED 上顯示 HTU21D 讀數(shù)
把下面的代碼復(fù)制到你的Arduino IDE中,組裝好上面的電路圖后上傳到Arduino。
守則如何運(yùn)作?
代碼的最大部分與我們之前討論的相同,除了 OLED 顯示部分。因此,我們這里只對OLED顯示部分進(jìn)行說明。
我們將首先包含 HTU21D 傳感器以及我們之前剛剛安裝的 OLED 顯示器所需的所有庫。
在 OLED 上顯示讀數(shù)
在 loop() 函數(shù)中,我們獲取 HTU21D 傳感器讀數(shù)并將其打印在 OLED 顯示屏上。
我們將串口監(jiān)視器上的溫濕度值一一顯示在OLED上。此代碼塊在 OLED 上顯示 HTU21D 傳感器值并每半秒更新一次值。
在上面的代碼中,setTextSize() 函數(shù)用于設(shè)置字體的大小。我們對“溫度”和“濕度”等簡單文本使用小字體,并使用大字體顯示實(shí)際溫度和濕度讀數(shù)。我們將使用 setCursor() 函數(shù)來表示文本應(yīng)該開始的 x 軸和 y 軸位置。最后,print() 函數(shù)將文本寫入定義的位置。
轉(zhuǎn)載請注明出處:傳感器應(yīng)用_儀表儀器應(yīng)用_電子元器件產(chǎn)品 – 工采資訊 http://www.iohhome.com/43687.html



格.png)























