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 ={0}; //定义数组数据,存放串口接收数据 voidreceive_data(void); //接受串口数据 voidtest_do_data(void); //测试串口数据是否正确,并更新数据 voidsetup() { Serial.begin(115200); dht.begin(); } voidloop() { 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 ==0x55) //0x55和0xAA均为判断是否为有效命令 { if(comdata ==0xAA) { switch (comdata ) { caseTemperature_COMMAND: Serial.println((float)dht.readTemperature()); break; caseHumidity_COMMAND: Serial.println((float)dht.readHumidity()); break; } } } } 将代码下载进开发板,通过串口助手软件分别发送 HEX 格式数据 55AA10 和 55AA11 获取反馈的温湿度数据,测试通过后关闭串口并运行 LabVIEW 程序,即可获得温湿度变化曲线。 LabVIEW 界面 标签 1 记录了温湿度的变化曲线 标签 2 记录温湿度随时间的演化过程 程序框图 Part 1 Part 2 效果展示 工程文件见附件。