欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

專注電子技術(shù)學(xué)習(xí)與研究
當前位置:單片機教程網(wǎng) >> STM32 >> 瀏覽文章

使用DHT11溫濕度傳感器測量溫濕度

作者:huqin   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2014年04月19日   【字體:

   DHT11是一款常用的溫濕度傳感器,用它可以非常方便測出環(huán)境的溫度和濕度。DHT11采用單線通信方式,因此我們只需要使用Rainbow一個GPIO即可以進行溫濕度測量。在Rainbow中,使用的是PC3來向DHT11發(fā)送溫濕度測量指令,并讀取結(jié)果的,在類庫開發(fā)包中,我們定義了一個宏DHT11_DATA_PIN來表示DHT11所使用的GPIO管腳。

    Rainbow對DHT11的通信協(xié)議進行了封裝,使用起來非常簡單,一兩行代碼即可完成測溫濕度的功能。為了快速體驗DHT11的效果,在軟件包的“Projects\DHT11”文件夾包含了本文的完整工程,可以直接編譯、燒寫和調(diào)試。來看看main.cpp的代碼:
#include "WProgram.h"
#include "Dht11.h"

int main(void)
{
    //定義Dth11對象,需要指定DHT11數(shù)據(jù)管腳對應(yīng)的GPIO管腳,DHT11_DATA_PIN在這里代表PC3
    Dht11 dht11(DHT11_DATA_PIN);

    //初始化開發(fā)板
    boardInit();
    //啟用默認串口,波特率9600
    Serial.start();

    while(1)
    {
        //判斷數(shù)據(jù)采集是否成功
        if(dht11.read() == Dht11::OK)
        {
            Serial.print("Temperature:");
            Serial.println(dht11.getTemperature());

           Serial.print("Humidity:");
           Serial.println(dht11.getHumidity());
        }
        delay(5000);
    }
}

    程序非常簡單,有下面幾點需要注意:
    1、使用DHT11類庫,需要#include "Dht11.h"
    2、只有dht11.read()返回的結(jié)果是Dht11::OK才表示本次溫濕度采集成功,方能讀取溫濕度

    上面的程序編譯無誤后,將程序燒寫到Rainbow中,并將DHT11溫濕度傳感器插入到Rainbow中專為DHT11設(shè)計的接口中,然后在電腦上運行串口調(diào)試工具并和Rainbow連接成功,此時在串口調(diào)試工具中將每隔5秒鐘看到DHT11采集的最新溫度和濕度。

關(guān)閉窗口

相關(guān)文章