找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1258|回復(fù): 1
收起左側(cè)

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

[復(fù)制鏈接]
ID:1110079 發(fā)表于 2024-10-5 15:22 | 顯示全部樓層 |閱讀模式
Arduino IDE 安裝如下庫(kù)文件

DHT sensor library by Adafruit
Arduino_library.png
DHT11 溫濕度傳感器 Data 引腳與 Arduino Nano 開(kāi)發(fā)板的 D2 引腳連接

代碼
  1. #include <DHT.h>

  2. #define Temperature_COMMAND 0x10   //采集命令字
  3. #define Humidity_COMMAND     0x11   //采集命令字

  4. #define DHTPIN 2 // DHT sensor data GPIO
  5. #define DHTTYPE DHT11 // select one kind of sensors from DHT11, DHT22 and DHT21
  6. DHT dht(DHTPIN, DHTTYPE);

  7. byte comdata[3]={0};      //定義數(shù)組數(shù)據(jù),存放串口接收數(shù)據(jù)

  8. void receive_data(void);      //接受串口數(shù)據(jù)
  9. void test_do_data(void);         //測(cè)試串口數(shù)據(jù)是否正確,并更新數(shù)據(jù)

  10. void setup()
  11. {
  12. Serial.begin(115200);      
  13. dht.begin();
  14. }
  15. void loop()
  16. {
  17. while (Serial.available() > 0)   //不斷檢測(cè)串口是否有數(shù)據(jù)
  18.   {
  19.        receive_data();            //接受串口數(shù)據(jù)
  20.        test_do_data();               //測(cè)試數(shù)據(jù)是否正確并更新標(biāo)志位
  21.   }
  22. }
  23. void receive_data(void)      
  24. {
  25.   int i ;
  26.   for(i=0;i<3;i++)
  27.   {
  28.      comdata[i] =Serial.read();
  29.      //延時(shí)一會(huì),讓串口緩存準(zhǔn)備好下一個(gè)字節(jié),不延時(shí)可能會(huì)導(dǎo)致數(shù)據(jù)丟失,
  30.       delay(2);
  31.   }
  32. }

  33. void test_do_data(void)
  34. {
  35. if(comdata[0] == 0x55)            //0x55和0xAA均為判斷是否為有效命令
  36.   {
  37.     if(comdata[1] == 0xAA)
  38.     {
  39.        switch (comdata[2])
  40.       {
  41.            case Temperature_COMMAND:
  42.            Serial.println((float)dht.readTemperature());
  43.            break;
  44.            case Humidity_COMMAND:  
  45.            Serial.println((float)dht.readHumidity());
  46.            break;

  47.       }
  48.     }
  49.   }
  50. }
復(fù)制代碼



將代碼下載進(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 記錄了溫濕度的變化曲線
Tab1.png
標(biāo)簽 2 記錄溫濕度隨時(shí)間的演化過(guò)程
Tab2.png
效果展示
Cut.png
工程文件見(jiàn)附件。



溫濕度采集.zip

38.86 KB, 下載次數(shù): 6, 下載積分: 黑幣 -5

工程代碼

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:234938 發(fā)表于 2024-11-6 15:00 | 顯示全部樓層
看起來(lái)效果不錯(cuò)。
回復(fù)

使用道具 舉報(bào)

無(wú)效樓層,該帖已經(jīng)被刪除

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表