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

2024-10-5 15:54 241 1 1 分类: MCU/ 嵌入式 文集: Arduino

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

Arduino IDE 安装如下库文件

DHT sensor library by Adafruit

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

代码

#include 

#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
DHTdht(DHTPIN, DHTTYPE);

bytecomdata[3]={0};      //定义数组数据,存放串口接收数据

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

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

voidtest_do_data(void)
{
if(comdata[0] ==0x55)            //0x55和0xAA均为判断是否为有效命令
  {
if(comdata[1] ==0xAA)
    {
switch (comdata[2])
      {
caseTemperature_COMMAND:
Serial.println((float)dht.readTemperature());
break;
caseHumidity_COMMAND: 
Serial.println((float)dht.readHumidity());
break;

      }
    }
  }
}

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

LabVIEW 界面

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


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



程序框图

Part 1


Part 2


效果展示

​​

工程文件见附件。


作者: 无垠的广袤, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-4085469.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论0条评论)

登录后参与讨论
我要评论
0
1
关闭 站长推荐上一条 /2 下一条