久久久久国产综合av天堂_强插女教师av在线_久久精品国产99国产精偷_性欧美大战久久久久久久

首頁傳感器 › Arduino開發(fā):如何使用Arduino開發(fā)板連接HTU21D溫濕度傳感器

Arduino開發(fā):如何使用Arduino開發(fā)板連接HTU21D溫濕度傳感器

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 信號。

HTU21D

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 傳感器模塊的引腳排列及其簡要說明。

HTU21D模塊管腳

規(guī)格

HTU21D溫濕度傳感器規(guī)格如下表所示。

HTU21D規(guī)格

將 HTU21D 模塊與 Arduino 接口

在本節(jié)中,讓我們向您展示如何將 HTU21D 傳感器模塊連接到 Arduino。

將 HTU21D 模塊與 Arduino 接口

將 HTU21D 模塊與 Arduino 接口1

您將需要以下組件

  • 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è)備之間的連接可以在下表中看到。

0c2c89c8-b7c6-4a83-9b16-eef174bc9785

按照下面的 Arduino 模塊示意圖并相應(yīng)地連接它們。

ac89f160-f2ee-4b32-84e9-e260e8d4cdb5

安裝 HTU21D Arduino 庫

我們將使用 Arduino IDE 對我們的 Arduino 開發(fā)板進(jìn)行編程。因此,您應(yīng)該擁有最新版本的 Arduino IDE。

由于我們將 HTU21D 傳感器模塊與 Arduino 連接,因此,我們必須安裝庫以訪問傳感器數(shù)據(jù)。這個(gè)項(xiàng)目需要兩個(gè)庫:

  1. Adafruit HTU21D
  2. Adafruit 總線

我們將使用 Arduino IDE 中的庫管理器來安裝最新版本的庫。打開您的 Arduino IDE 并轉(zhuǎn)到 Sketch > Include Libraries > Manage Libraries。 在搜索欄中輸入 HTU21D 并安裝最新版本。

d845275a-3bd7-416a-80fa-2bac42f3fff3

在搜索欄中輸入 Adafruit BusIO 并安裝它。

931b145c-7069-4f45-9519-809a9a3e1166

Arduino 代碼——在 Arduino 串行監(jiān)視器上獲取 HTU21D 讀數(shù)

此草圖每半秒顯示一次 Arduino 串行監(jiān)視器上的當(dāng)前溫度和濕度讀數(shù)。

416e0d1f-8bc7-43f6-ac80-0c4648605bc8

守則如何運(yùn)作?

現(xiàn)在,讓我們了解代碼的每個(gè)部分是如何工作的。

代碼首先包含代碼正常運(yùn)行所需的所有必要庫。Wire.h 將允許我們通過 I2C 協(xié)議進(jìn)行通信。Adafruit_HTU21DF.h 庫將使我們能夠初始化和讀取 HTU21D 傳感器。

64790af2-c5db-42ef-a98f-8d26ee62a626

loop()

在 loop() 函數(shù)內(nèi),Arduino 首先每半秒獲取一次 HTU21D 傳感器讀數(shù),并將它們存儲在各自的浮點(diǎn)變量中,“temp”代表溫度,“hum”代表濕度。通過 htu.readTemperature() 獲取溫度讀數(shù)。使用 htu.readHumidity() 函數(shù)訪問濕度讀數(shù)。這些讀數(shù)打印在 ESP-IDF 終端中。

408adf94-76ac-4ed6-98e7-d2f6122c67c9

示范

在 Arduino IDE 中,單擊工具 > 電路板并選擇 Arduino。

20f093dc-7006-4933-b6df-78047fb112f4

現(xiàn)在,單擊工具 > 端口并選擇您正在使用的端口。現(xiàn)在,通過單擊上傳按鈕上傳代碼。

在您的 Arduino 開發(fā)板上上傳以下代碼后,按下 ENABLE 按鈕,如下所示:

ba3b2419-db1a-4b29-babd-46d3e291bfb0

在您的 Arduino IDE 中,打開串行監(jiān)視器并將波特率設(shè)置為 115200。串行監(jiān)視器將開始顯示溫度和濕度讀數(shù)以及單位。每半秒后將顯示新讀數(shù)。

33e32475-8139-4fab-b712-ee082f87c4ce

在 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。將打開以下窗口。

57168b6e-ecd5-4f75-be35-74f921ef45ad

?在搜索選項(xiàng)卡中鍵入“SSD1306”并安裝 Adafruit SSD1306 OLED 庫。

b93e2b76-beb0-4b4e-95c1-952317bca565

原理圖——帶 Arduino 和 HTU21D 的 OLED

3c24735e-9b77-4ba7-98f2-d0ea4a764ed7

您將需要以下組件

  • Arduino
  • HTU21D 傳感器模塊
  • SSD1306 有機(jī)發(fā)光二極管
  • 面包板
  • 跳線

下表顯示了應(yīng)連接在一起的三個(gè)設(shè)備的端子。

483d5414-8b93-4335-b515-44ce1d70e11f

如下圖所示組裝電路:

b79609e0-1273-462e-b512-539639e6f8cd

正如您在上面看到的,我們已經(jīng)將所有 VCC 端子連接到 Arduino 的 3.3V 引腳。SCL端子與A5相連,SDA端子與A4相連。理由也很普遍。

Arduino Sketch 在 OLED 上顯示 HTU21D 讀數(shù)

把下面的代碼復(fù)制到你的Arduino IDE中,組裝好上面的電路圖后上傳到Arduino。

8a224126-dbc7-4d69-b950-68b448371791

守則如何運(yùn)作?

代碼的最大部分與我們之前討論的相同,除了 OLED 顯示部分。因此,我們這里只對OLED顯示部分進(jìn)行說明。

我們將首先包含 HTU21D 傳感器以及我們之前剛剛安裝的 OLED 顯示器所需的所有庫。

8045f967-c66b-4879-90d3-6c033acf5e4e

在 OLED 上顯示讀數(shù)

在 loop() 函數(shù)中,我們獲取 HTU21D 傳感器讀數(shù)并將其打印在 OLED 顯示屏上。

我們將串口監(jiān)視器上的溫濕度值一一顯示在OLED上。此代碼塊在 OLED 上顯示 HTU21D 傳感器值并每半秒更新一次值。

4709616e-0f6a-428d-ac40-f718907481c4

在上面的代碼中,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

上一篇:

下一篇:

×
用戶注冊

 

登錄 忘記密碼?
×
用戶登錄

 

注冊 忘記密碼?