加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • Arduino IDE 安裝
    • 代碼
    • LabVIEW 界面
    • 程序框圖
    • 效果展示
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

Arduino Nano 和 DHT11 實(shí)現(xiàn) LabVIEW 溫濕度采集

11/09 17:38
1287
閱讀需 4 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

Arduino Nano 和 DHT11 實(shí)現(xiàn) LabVIEW 溫濕度采集

Arduino IDE 安裝

Arduino IDE 安裝如下庫(kù)文件

DHT sensor library by Adafruit

DHT11 溫濕度傳感器 Data 引腳與 Arduino Nano 開(kāi)發(fā)板的 D2 引腳連接

代碼

#include <DHT.h>
 
#define Temperature_COMMAND  0x10   //采集命令字
#define Humidity_COMMAND     0x11   //采集命令字

#define DHTPIN 2 // DHT sensor data GPIO
#define DHTTYPE DHT11 // select one kind of sensors from DHT11, DHT22 and DHT21
DHT dht(DHTPIN, DHTTYPE);
 
byte comdata[3]={0};      //定義數(shù)組數(shù)據(jù),存放串口接收數(shù)據(jù)
 
void receive_data(void);      //接受串口數(shù)據(jù)
void test_do_data(void);         //測(cè)試串口數(shù)據(jù)是否正確,并更新數(shù)據(jù)
 
void setup()
{
  Serial.begin(115200);      
  dht.begin();
}
void loop()
{
  while (Serial.available() > 0)   //不斷檢測(cè)串口是否有數(shù)據(jù)
   {
        receive_data();            //接受串口數(shù)據(jù)
        test_do_data();               //測(cè)試數(shù)據(jù)是否正確并更新標(biāo)志位
   }
}
void receive_data(void)       
{
   int i ;
   for(i=0;i<3;i++)
   {
      comdata[i] =Serial.read();
      //延時(shí)一會(huì),讓串口緩存準(zhǔn)備好下一個(gè)字節(jié),不延時(shí)可能會(huì)導(dǎo)致數(shù)據(jù)丟失,
       delay(2);
   }
}
 
void test_do_data(void)
{
  if(comdata[0] == 0x55)            //0x55和0xAA均為判斷是否為有效命令
   {
     if(comdata[1] == 0xAA)
     {
        switch (comdata[2])
        {
            case Temperature_COMMAND: 
            Serial.println((float)dht.readTemperature()); 
            break;
            case Humidity_COMMAND:  
            Serial.println((float)dht.readHumidity()); 
            break;
 
        }
      }
   }
} 

將代碼下載進(jìn)開(kāi)發(fā)板,通過(guò)串口助手軟件分別發(fā)送 HEX 格式數(shù)據(jù) `55AA10` 和 `55AA11` 獲取反饋的溫濕度數(shù)據(jù),測(cè)試通過(guò)后關(guān)閉串口并運(yùn)行 LabVIEW 程序,即可獲得溫濕度變化曲線。

LabVIEW 界面

標(biāo)簽 1 記錄了溫濕度的變化曲線

標(biāo)簽 2 記錄溫濕度隨時(shí)間的演化過(guò)程

程序框圖

Part 1

Part 2

效果展示

工程文件見(jiàn)附件。

相關(guān)推薦

電子產(chǎn)業(yè)圖譜