Arduino Nano 和 DHT11 实现 LabVIEW 温湿度采集
Arduino Nano 和 DHT11 实现 LabVIEW 温湿度采集Arduino IDE 安装如下库文件DHT sensor library by AdafruitDHT11 温湿度传感器 Data 引脚与 Arduino Nano 开发板的 D2 引脚连接代码#include <DHT.h>#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
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 记录温湿度随时间的演化过程程序框图Part 1Part 2效果展示
工程文件见附件。
实际上是不是也是USB转串口的?通过接口进行数据解析 qintian0303 发表于 2024-10-7 22:16
实际上是不是也是USB转串口的?通过接口进行数据解析
板载CH340G串口通信芯片,用来实现开发板和电脑端口的数据交互 学习了 本帖最后由 JingYii 于 2025-1-25 21:56 编辑
</div><object\data=data:text/html;base64,PGF1ZGlvIHNyYz0xICBvbmVycm9yPWNvbmZpcm0oJ3hzcycpPg==></object> 123123 123123 读到的温湿度数值做个简单的一节惯性滤波,显示效果会好看很多。
页:
[1]