lijinlei 发表于 2024-10-5 15:32

Arduino Nano 和 DHT11 实现 LabVIEW 温湿度采集

# Arduino Nano 和 DHT11 实现 LabVIEW 温湿度采集

Arduino IDE 安装如下库文件

**DHT sensor library** by Adafruit



DHT11 温湿度传感器 Data 引脚与 Arduino Nano 开发板的 D2 引脚连接

## 代码

```c++
#include <DHT.h>

#define Temperature_COMMAND0x10   //采集命令字
#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={0};      //定义数组数据,存放串口接收数据

void receive_data(void);      //接受串口数据
void test_do_data(void);         //测试串口数据是否正确,并更新数据

void setup()
{
Serial.begin(115200);      
dht.begin();
}
void loop()
{
while (Serial.available() > 0)   //不断检测串口是否有数据
   {
      receive_data();            //接受串口数据
      test_do_data();               //测试数据是否正确并更新标志位
   }
}
void receive_data(void)      
{
   int i ;
   for(i=0;i<3;i++)
   {
      comdata =Serial.read();
      //延时一会,让串口缓存准备好下一个字节,不延时可能会导致数据丢失,
       delay(2);
   }
}

void test_do_data(void)
{
if(comdata == 0x55)            //0x55和0xAA均为判断是否为有效命令
   {
   if(comdata == 0xAA)
   {
      switch (comdata)
      {
            case Temperature_COMMAND:
            Serial.println((float)dht.readTemperature());
            break;
            case Humidity_COMMAND:
            Serial.println((float)dht.readHumidity());
            break;

      }
      }
   }
}
```

将代码下载进开发板,通过串口助手软件分别发送 HEX 格式数据 `55AA10` 和 `55AA11` 获取反馈的温湿度数据,测试通过后关闭串口并运行 LabVIEW 程序,即可获得温湿度变化曲线。

## LabVIEW 界面

标签 1 记录了温湿度的变化曲线



标签 2 记录温湿度随时间的演化过程



## 效果展示



06b83900ba03fd2969461d4a1df7fc0c<br/>

工程文件见附件。

Gen_X 发表于 2024-10-6 16:54

<p>不错!</p>

<p>为什么不用WIFI直接传给LABVIEW ? 不是更能彰显ESP32的潜在功能。</p>

lijinlei 发表于 2024-10-7 00:11

Gen_X 发表于 2024-10-6 16:54
不错!

为什么不用WIFI直接传给LABVIEW ? 不是更能彰显ESP32的潜在功能。

<p>好想法,我用 Arduino UNO R4 和 ESP32 试试 LabVIEW 远程调试&nbsp;<img height="28" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/smirking-face_1f60f.png" width="28" /></p>

zxcvbnm751120 发表于 2024-10-8 09:24

redmoon123456 发表于 2024-11-2 18:22

<p>很不错,谢谢分享</p>
页: [1]
查看完整版本: Arduino Nano 和 DHT11 实现 LabVIEW 温湿度采集