0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何將DHT11濕度和溫度傳感器與基于STM32F103C8T6 MCU的STM32 Blue Pill Board接口

單片機(jī) ? 來源:單片機(jī) ? 2020-05-14 10:47 ? 次閱讀

在本教程中,我將介紹如何將DHT11濕度和溫度傳感器與基于STM32F103C8T6 MCU的STM32 Blue Pill Board接口。DHT11傳感器的值由STM32讀取,并顯示在I2C LCD顯示屏上。

介紹

傳感器是很小的設(shè)備,可以彌合原始模擬世界與MCU的數(shù)字世界之間的鴻溝。傳感器可以非常簡單,例如非常著名的LM35溫度傳感器,也可以是一些復(fù)雜的數(shù)學(xué)單元,例如MPU6050陀螺儀和加速度計(jì)組合傳感器。

簡單或復(fù)雜,傳感器是許多消費(fèi),汽車,機(jī)器人工業(yè)應(yīng)用中的關(guān)鍵部分,如果不集成適當(dāng)?shù)膫鞲衅骶蜔o法完成某些應(yīng)用。

讓我們從工業(yè)應(yīng)用程序擴(kuò)展到日常項(xiàng)目和業(yè)余愛好者。氣象站是一個(gè)非常普遍且受歡迎的項(xiàng)目,無論是物聯(lián)網(wǎng)應(yīng)用還是常規(guī)字符LCD應(yīng)用。

此類氣象站項(xiàng)目的關(guān)鍵組成部分是能夠檢測與天氣相關(guān)的參數(shù)(如溫度,濕度等)。DHT11濕度和溫度傳感器就是這些類型項(xiàng)目的設(shè)備。

我已經(jīng)在一個(gè)名為“ Arduino上的DHT11濕度傳感器”的Arduino項(xiàng)目中使用了DHT11傳感器(第一條推文)。在該項(xiàng)目中,我已將DHT11傳感器與Arduino接口,計(jì)算了溫度和濕度值,并將其顯示在16×2 LCD顯示器上。我在這里也會(huì)做同樣的事情,但是這次我將把DHT11濕度和溫度傳感器連接到STM32F103C8T6 MCU的接口上。

DHT11溫濕度傳感器

DHT11及其兄弟DHT22是便宜但高度可靠的濕度和溫度傳感器。DHT22的范圍和精度略優(yōu)于DHT11,但這種擴(kuò)展范圍和更嚴(yán)格的精度是有代價(jià)的。除此之外,兩個(gè)傳感器的外觀相似,且引腳和連接性相同。因此,從現(xiàn)在開始,我們將專注于該項(xiàng)目的傳感器,即DHT11。

它是一種超低成本傳感器,具有電阻型濕度測量組件,NTC型溫度測量組件和8位微控制器,可將兩個(gè)測量組件的數(shù)據(jù)轉(zhuǎn)換為數(shù)字值。

在Arduino – DHT11教程中,我談到了傳感器的工作原理以及如何解釋來自串行的數(shù)據(jù)。我建議您參考該項(xiàng)目以獲取有關(guān)此傳感器的更多信息

另外,在該項(xiàng)目中,我沒有為DHT11濕度和溫度傳感器使用任何專用的庫,而是嘗試了自己的代碼。僅作更改,我將使用Adafruit開發(fā)的DHT庫。

將DHT11濕度和溫度傳感器與STM32F103C8T6連接

在繼續(xù)進(jìn)行操作之前,我必須提醒您DHT11傳感器數(shù)據(jù)表中的某些內(nèi)容。它表示,必須借助5KΩ電阻將DHT11傳感器與微控制器(在這種情況下為STM32)之間的單條數(shù)據(jù)線拉高。

因此,在購買DHT11傳感器時(shí),請嘗試購買包含所述上拉電阻器(甚至是一些通電LED)的模塊。由于不需要任何其他組件,因此使DHT11濕度和溫度傳感器與STM32F103C8T6的連接變得更加容易。

要記住的另一件事是,我使用了I2C LCD,即基于PCF8574模塊的I2C GPIO擴(kuò)展器模塊,具有良好的舊16×2 LCD顯示屏。我已經(jīng)在專用項(xiàng)目“將I2C LCD與STM32F103C8T6接口”中實(shí)現(xiàn)了相同的功能。有關(guān)更多信息,請參考該項(xiàng)目。

所需組件

基于STM32F103C8T6 MCU的STM32藍(lán)色藥丸板

DHT11溫濕度傳感器

16×2液晶顯示器

PCF8574 I2C液晶模塊

5KΩ電阻器(可選,如果DHT11模塊上有電阻,則不需要)

連接線

USB轉(zhuǎn)UART轉(zhuǎn)換器(僅當(dāng)通過UART編程時(shí)才需要)

電路圖

下圖顯示了將DHT11濕度和溫度傳感器與基于STM32F103C8T6 MCU的STM32藍(lán)色藥丸板接口的電路圖。

連接說明

首先,將DHT11 Sensor的VCC和GND引腳分別連接到+ 5V和GND。然后將傳感器的數(shù)據(jù)引腳連接到STM32板的引腳PA1。

來到LCD時(shí),將PCF8574 I2C LCD模塊插入LCD的背面,并將PCF8574模塊的SDA和SCL引腳分別連接到STM32板的PB7和PB6引腳。同樣,將I2C LCD模塊的VCC和GND引腳連接到+ 5V和GND。

編程STM32以連接DHT11

在繼續(xù)之前,請確保您已經(jīng)確定了I2C LCD教程中提到的PCF8574模塊的從站地址。您可以將以下代碼用于相同的代碼。

#include

void setup()
{
Wire.begin();

Serial.begin(9600);
while (!Serial);
}

void loop()
{
byte error, address;
int I2CDevices;

Serial.println(“Scanning for I2C Devices…”);

I2CDevices = 0;
for (address = 1; address < 127; address++ )
{
Wire.beginTransmission(address);
error = Wire.endTransmission();

if (error == 0)
{
Serial.print(“I2C device found at address 0x”);
if (address < 16)
Serial.print(“0″);
Serial.print(address, HEX);
Serial.println(” !”);

I2CDevices++;
}
else if (error == 4)
{
Serial.print(“Unknown error at address 0x”);
if (address < 16)
Serial.print(“0”);
Serial.println(address, HEX);
}
}
if (I2CDevices == 0)
Serial.println(“No I2C devices found ”);
else
Serial.println(“**** ”);

delay(5000);
}

現(xiàn)在,未來的實(shí)際程序,首先從下載DHT庫這個(gè)鏈接。解壓縮zip文件并將其內(nèi)容復(fù)制到本地Arduino安裝的library文件夾中。該路徑通常是“ C: Program Files(x86) Arduino libraries”。

然后,在程序中,將DHT的數(shù)據(jù)引腳定義為PA1,并將DHT傳感器的類型定義為DHT11或DHT22。通過提及從機(jī)地址,列數(shù)和行數(shù)來聲明具有LiquidCrystal_I2C庫功能的I2C LCD?,F(xiàn)在,您可以使用各自的“開始”功能初始化LCD和DHT11傳感器。

現(xiàn)在,獲取兩個(gè)浮點(diǎn)值,并從傳感器獲取濕度和溫度讀數(shù)。最后,在LCD上打印這些值。

源代碼

#include
#include
#include

#define DHTPIN PA1
#define DHTTYPE DHT11

LiquidCrystal_I2C lcd(0x27, 16, 2);
DHT dht(DHTPIN, DHTTYPE);
byte degree_symbol[8] =
{
0b00111,
0b00101,
0b00111,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000
};

void setup()
{

lcd.begin();
dht.begin();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print(“Electronics Hub”);
lcd.setCursor(0,1);
lcd.print(“DHT11 with STM32”);
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(“Temp = “);
lcd.setCursor(0,1);
lcd.print(“Humid = “);
lcd.createChar(0, degree_symbol);
lcd.setCursor(12,0);
lcd.write(0);
lcd.print(“C”);
lcd.setCursor(14,1);
lcd.print(“%”);
}

void loop()
{
float hum = dht.readHumidity();
float tem = dht.readTemperature();
lcd.setCursor(7,0);
lcd.print(tem);
lcd.setCursor(8,1);
lcd.print(hum);
}

結(jié)論

此處實(shí)現(xiàn)了一個(gè)簡單的項(xiàng)目,用以演示DHT11濕度和溫度傳感器與基于STM32F103C8T6 MCU的STM32 Blue Pill Board的接口。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2545

    文章

    50448

    瀏覽量

    751085
  • 溫度傳感器
    +關(guān)注

    關(guān)注

    48

    文章

    2892

    瀏覽量

    155796
  • STM32
    +關(guān)注

    關(guān)注

    2264

    文章

    10854

    瀏覽量

    354301

原文標(biāo)題:如何將DHT11濕度和溫度傳感器與STM32F103C8T6連接

文章出處:【微信號(hào):aidanpianji,微信公眾號(hào):單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    dht11濕度傳感器工作原理介紹

    。溫濕度是環(huán)境監(jiān)測中最基本的參數(shù)之一。DHT11傳感器因其低成本、易于使用和相對較高的精度而受到廣泛歡迎。本文詳細(xì)介紹DHT11
    的頭像 發(fā)表于 10-21 09:47 ?405次閱讀

    dht11溫度傳感器特性的具體含義

    DHT11溫度傳感器作為DHT11數(shù)字溫濕度傳感器的一部分,具有一系列獨(dú)特的特性。以下是
    的頭像 發(fā)表于 09-03 17:40 ?849次閱讀

    dht11溫度傳感器的原理及應(yīng)用

    DHT11是一種廣泛使用的數(shù)字溫濕度傳感器,它能夠測量溫度和相對濕度。這種傳感器因其低成本、易于
    的頭像 發(fā)表于 09-03 17:28 ?1025次閱讀

    DHT11溫度傳感器測量范圍與精度

    DHT11是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器,它結(jié)合了溫濕度傳感技術(shù),通過專用的數(shù)字模塊采集技術(shù)實(shí)現(xiàn)溫
    的頭像 發(fā)表于 09-03 17:03 ?918次閱讀

    ds18b20溫度傳感器dht11的區(qū)別

    DS18B20和DHT11都是常用的溫度濕度傳感器,它們在許多項(xiàng)目和應(yīng)用中都有廣泛的應(yīng)用。 1. 工作原理 DS18B20 DS18B20是一種數(shù)字
    的頭像 發(fā)表于 09-03 16:44 ?914次閱讀

    第七章-V1.5 STM32超聲波測距STM32F103C8t6超聲波避障小車 超聲波避障模塊 STM32超聲波測距

    5STM32超聲波測距STM32F103C8t6超聲波避障小車
    的頭像 發(fā)表于 08-15 16:25 ?568次閱讀
    第七章-V1.5 <b class='flag-5'>STM32</b>超聲波測距<b class='flag-5'>STM32F103C8t6</b>超聲波避障小車 超聲波避障模塊 <b class='flag-5'>STM32</b>超聲波測距

    STMC32F103C8T6核心板原理圖

    STM32F103C8T6原理圖
    發(fā)表于 07-15 11:47 ?3次下載

    DHT11數(shù)字溫濕度傳感器產(chǎn)品手冊

    電子發(fā)燒友網(wǎng)站提供《DHT11數(shù)字溫濕度傳感器產(chǎn)品手冊.pdf》資料免費(fèi)下載
    發(fā)表于 06-12 17:09 ?7次下載

    學(xué)STM32為什么首選F103C8T6?

    STM32F103C8T6是STMicroelectronics(ST)推出的一款基于ARMCortex-M3內(nèi)核的32位微控制單片機(jī)(MCU)。它具有一系列優(yōu)勢和廣泛的應(yīng)用場景。這里就來介紹一下
    的頭像 發(fā)表于 05-18 08:04 ?4358次閱讀
    學(xué)<b class='flag-5'>STM32</b>為什么首選<b class='flag-5'>F103C8T6</b>?

    stm32f103c8t6內(nèi)部溫度傳感器怎么設(shè)置?

    網(wǎng)上很多用的是adc1的16通道,數(shù)據(jù)手冊上寫的也是16通道,可是有的stm32adc沒有那么多通道,就比如我現(xiàn)在手上的103c8t6,那請問這樣的芯片內(nèi)部還有溫度傳感器嗎??有的話用
    發(fā)表于 05-08 07:24

    【原創(chuàng)】DHT11傳感器濕度監(jiān)測系統(tǒng)畢設(shè),論文、代碼、原理圖和仿真介紹

    (位于C程序文件夾內(nèi)),運(yùn)行仿真,結(jié)果如下。 由圖可知,LCD顯示當(dāng)前環(huán)境的溫度T為27℃,濕度H為55%RH。LCD顯示結(jié)果與DHT11
    發(fā)表于 03-13 00:53

    用USB轉(zhuǎn)TTL線怎么把程序燒寫到stm32f103C8T6

    /V2編程(可選,用于更高級(jí)的調(diào)試和燒寫) 接下來,我們按照以下步驟進(jìn)行燒寫程序的過程: 步驟一:USB轉(zhuǎn)TTL線連接到計(jì)算機(jī)和STM32F103C8T6
    的頭像 發(fā)表于 01-31 15:46 ?6929次閱讀

    stm32f103c8t6讀內(nèi)部溫度

    信息。本文詳盡、詳實(shí)、細(xì)致地介紹如何在STM32F103C8T6上讀取內(nèi)部溫度,并且探討如何使用這些溫度信息進(jìn)行溫控系統(tǒng)的開發(fā)。 首先,我們需要了解
    的頭像 發(fā)表于 01-08 13:48 ?3266次閱讀

    【先楫HPM5361EVK開發(fā)板試用體驗(yàn)】溫濕度傳感器DHT11實(shí)踐

    復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。 DHT11傳感器包括一個(gè)__電阻式感
    發(fā)表于 01-03 23:46

    stm32f103c8t6怎么連接噪聲傳感器

    連接噪聲傳感器STM32F103C8T6需要以下步驟: 確定傳感器STM32F103C8T6之間的連接接口。噪聲
    的頭像 發(fā)表于 12-21 16:10 ?1328次閱讀