<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> STM32 >> 瀏覽文章

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

        作者:huqin   來源:本站原創   點擊數:  更新時間:2014年04月19日   【字體:

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

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

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

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

            while(1)
            {
                //判斷數據采集是否成功
                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()返回的結果是Dht11::OK才表示本次溫濕度采集成功,方能讀取溫濕度

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

        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮