Arduino IDE 安装如下库文件
DHT sensor library by Adafruit DHT11 温湿度传感器 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[3]={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[i] =Serial.read();
- //延时一会,让串口缓存准备好下一个字节,不延时可能会导致数据丢失,
- delay(2);
- }
- }
- void test_do_data(void)
- {
- if(comdata[0] == 0x55) //0x55和0xAA均为判断是否为有效命令
- {
- if(comdata[1] == 0xAA)
- {
- switch (comdata[2])
- {
- 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 记录温湿度随时间的演化过程 效果展示工程文件见附件。
|