找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 122|回复: 0
收起左侧

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

[复制链接]
ID:1110079 发表于 2024-10-5 15:22 | 显示全部楼层 |阅读模式
Arduino IDE 安装如下库文件

DHT sensor library by Adafruit
Arduino_library.png
DHT11 温湿度传感器 Data 引脚与 Arduino Nano 开发板的 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};      //定义数组数据,存放串口接收数据

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

  10. void setup()
  11. {
  12. Serial.begin(115200);      
  13. dht.begin();
  14. }
  15. void loop()
  16. {
  17. while (Serial.available() > 0)   //不断检测串口是否有数据
  18.   {
  19.        receive_data();            //接受串口数据
  20.        test_do_data();               //测试数据是否正确并更新标志位
  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.      //延时一会,让串口缓存准备好下一个字节,不延时可能会导致数据丢失,
  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. }
复制代码



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

LabVIEW 界面
标签 1 记录了温湿度的变化曲线
Tab1.png
标签 2 记录温湿度随时间的演化过程
Tab2.png
效果展示
Cut.png
工程文件见附件



温湿度采集.zip

38.86 KB, 下载次数: 5, 下载积分: 黑币 -5

工程代码

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表