標(biāo)題: 基于LabVIEW上位機(jī)與Arduino單片機(jī)串口通信的DS18B20環(huán)境溫度采集 [打印本頁]

作者: lijinlei    時間: 2024-4-8 12:55
標(biāo)題: 基于LabVIEW上位機(jī)與Arduino單片機(jī)串口通信的DS18B20環(huán)境溫度采集
Arduino 代碼
  1. #include <OneWire.h>
  2. #include <DallasTemperature.h>
  3. #define ONE_WIRE_BUS 2     //DS18B20接至Arduino數(shù)字口2

  4. OneWire oneWire(ONE_WIRE_BUS);
  5. DallasTemperature sensors(&oneWire);

  6. byte comdata[3]={0};      //定義數(shù)組數(shù)據(jù),存放串口命令數(shù)據(jù)
  7. //int LED = 13;                 //定義LED連接的管腳
  8. void receive_data(void);      //接受串口數(shù)據(jù)
  9. void test_do_data(void);         //測試串口數(shù)據(jù)是否正確,并更新數(shù)據(jù)
  10. void setup()
  11. {
  12.   Serial.begin(9600);      
  13.   //pinMode(LED, OUTPUT);
  14.   // Start up the library
  15.   sensors.begin();
  16. }

  17. void loop()
  18. {
  19.   while (Serial.available() > 0)   //不斷檢測串口是否有數(shù)據(jù)
  20.    {
  21.       receive_data();            //接受串口數(shù)據(jù)
  22.       test_do_data();            //測試數(shù)據(jù)是否正確并更新數(shù)據(jù)
  23.    }
  24. }
  25. ?
  26. void receive_data(void)      
  27. {
  28.   int i ;
  29.   for(i=0;i<3;i++)
  30.   {
  31.     comdata[ i] = Serial.read();
  32.     //延時一會,讓串口緩存準(zhǔn)備好下一個字節(jié),不延時可能會導(dǎo)致數(shù)據(jù)丟失,
  33.     delay(2);
  34.   }
  35. }

  36. void test_do_data(void) // 測試并執(zhí)行命令
  37. {
  38.   if(comdata[0] == 0x55) //0x55和0xAA均為判斷是否為有效命令
  39.   {
  40.     if(comdata[1] == 0xAA)
  41.     {
  42.       if(comdata[2] == 0xFF)
  43.       {
  44.         sensors.requestTemperatures(); // 請求傳感器測量溫度
  45.         float tempC = sensors.getTempCByIndex(0); // 讀取溫度值
  46.         Serial.print(tempC);
  47.       }
  48.     }
  49.   }
  50. }
復(fù)制代碼


LabVIEW設(shè)計
LabVIEW 前面板設(shè)計如下

相應(yīng)的程序圖如下
?



轉(zhuǎn)載請注明來源和作者,如有問題請回帖或Email聯(lián)系(lijinlei0907 @163.com)

作者: nongxin117    時間: 2024-5-27 20:46
樓主能分享下上位機(jī)和下位機(jī)源碼工程包嗎?
作者: lijinlei    時間: 2024-6-27 15:17
nongxin117 發(fā)表于 2024-5-27 20:46
樓主能分享下上位機(jī)和下位機(jī)源碼工程包嗎?

上位機(jī)LabVIEW程序可以參考帖子的附件




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1