91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

單片機 ? 來源:單片機 ? 2020-05-14 10:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

介紹

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

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

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

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

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

DHT11溫濕度傳感器

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

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

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

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

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

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

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

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

所需組件

基于STM32F103C8T6 MCU的STM32藍色藥丸板

DHT11溫濕度傳感器

16×2液晶顯示器

PCF8574 I2C液晶模塊

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

連接線

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

電路圖

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

連接說明

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

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

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

現(xià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é)論

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

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

    關(guān)注

    2576

    文章

    55028

    瀏覽量

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

    關(guān)注

    48

    文章

    3210

    瀏覽量

    163083
  • STM32
    +關(guān)注

    關(guān)注

    2309

    文章

    11162

    瀏覽量

    373414

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    【CW32F030CxTx StartKit測評】驅(qū)動OLED和DHT11

    ? 已經(jīng)實現(xiàn)了OLED的驅(qū)動,這里測試一下如何讀取溫濕度傳感器DHT11。具體怎么讀取溫濕度這里就不再贅述了。 看看如何在程序里面實現(xiàn)吧。 首選是要定義使用的
    發(fā)表于 01-30 07:55

    【瑞薩FPB-RA6E2試用】【瑞薩FPB-RA6E2】Zephyr-驅(qū)動-DHT11-溫濕度傳感器及設(shè)備樹理解

    DHT11DHT22)周期性地讀取環(huán)境溫度和相對濕度數(shù)據(jù)。該示例采用輪詢(polling)方式獲取傳感器數(shù)據(jù)。 主要功能 初始化
    發(fā)表于 01-13 14:54

    【瑞薩RA6E2地奇星開發(fā)板試用】DHT11 測量溫濕度

    使用瑞薩 RA6E2 微控制,實現(xiàn) DHT11濕度傳感器的數(shù)據(jù)采集,并通過 I2C
    發(fā)表于 12-19 18:50

    CherryUSB +STM32F103C8 example usb cdc device不識別是怎么回事?

    stm32f103c8t6 配置cdc,使用cubeMX 配置生成xxx_msp.c 為什么 放開 CONFIG_USBDEV_SETUP_LOG_PRINT 發(fā)現(xiàn) usb 中斷 一直未能進入 ____usbd_event_ep0_setup_complete_hand
    發(fā)表于 09-10 07:03

    【RA-Eco-RA6M4開發(fā)板評測】DHT11濕度傳感器獲取+OLED 屏幕顯示

    圖形引擎。RA6T1 系列器件帶有用于電機控制的增強型外 設(shè),如高分辨率 PWM 定時或高級模擬模塊。 RA8 系列 – 更高性能、人機界面、物聯(lián)網(wǎng)和邊緣計算 【溫濕度模塊】
    發(fā)表于 08-26 00:10

    常見的溫濕度傳感器類型?

    。 DHT11濕度傳感器 DHT11是一種常見的數(shù)字溫濕度傳感器,具有價格低廉、簡單易用的優(yōu)點
    發(fā)表于 06-24 09:24

    STM32F103C6T6 DCAC逆變器原理圖

    STM32F103C6T6 DCAC逆變器原理圖
    發(fā)表于 05-19 17:48 ?2次下載

    stm32f103c8t6主控芯片無人機原理圖

    stm32f103c8t6主控芯片無人機原理圖
    發(fā)表于 04-29 17:02 ?3次下載

    STM32F103C8T6無法選擇外部晶振怎么解決?

    我從網(wǎng)上購入了STM32F103C8T6的核心板,板上有外部晶振。但我使用STM32CubeMX生成項目時,卻無法選擇外部晶振(如下圖)。請問要在哪里設(shè)置才能選擇外部晶振呀?
    發(fā)表于 04-28 07:03

    基于STM32F103C8T6控制多路VL53L0X激光測距傳感器

    使用STM32F103C8T6的一條IIC總線控制4個激光測距傳感器,我使用的激光測距傳感器是亞博智能的 地址相同改不了,我要怎么控制多路,求指點
    發(fā)表于 04-23 18:23

    基于STM32C8T6控制,F(xiàn)SR402壓力傳感器+oled屏幕顯示代碼

    基于STM32C8T6控制,F(xiàn)SR402壓力傳感器+oled屏幕顯示代碼
    發(fā)表于 04-14 15:06 ?8次下載

    STM32F103x8 STM32F103xB單片機數(shù)據(jù)手冊

    STM32F103x8STM32F103xB單片機數(shù)據(jù)手冊
    發(fā)表于 04-14 14:55 ?8次下載

    STM32F103C8T6開發(fā)板最小系統(tǒng)原理圖

    電子發(fā)燒友網(wǎng)站提供《STM32F103C8T6開發(fā)板最小系統(tǒng)原理圖》資料免費下載
    發(fā)表于 03-24 09:09 ?92次下載

    STM32F103×8/STM32F103×B MCU手冊

    本文提供了STM32F103x8STM32F103xB中密度高性能系列微控制的訂購信息和機械器件特性。有關(guān)整個STMicroelectronics STM32F103xx系列的更
    發(fā)表于 03-18 16:37 ?0次下載

    stm32f103c8t6編碼模式在keil的debug調(diào)試時遇到的問題求解

    stm32f103c8t6編碼模式在keil的debug調(diào)試時,手動把編碼的計數(shù)置為一個數(shù)500(比如計數(shù)溢出值是4000),然后在
    發(fā)表于 03-14 06:06