蓝桥杯嵌入式温度传感器代码
时间: 2025-06-10 11:13:45 浏览: 16
### 蓝桥杯嵌入式温度传感器代码示例
以下是基于蓝桥杯竞赛需求设计的一个完整的嵌入式温度传感器解决方案,该方案适用于常见的DHT系列温湿度传感器(如DHT11)。此代码可以作为参赛者的参考实现。
#### 代码说明
以下代码实现了通过Arduino平台读取DHT11传感器数据的功能,并将其显示在串口监视器中。代码结构清晰,便于扩展和调试。
```cpp
#include <DHT.h> // 引入DHT传感器库
#define DHTPIN 2 // 定义连接到DHT传感器的GPIO引脚号
#define DHTTYPE DHT11 // 定义使用的传感器型号为DHT11
DHT dht(DHTPIN, DHTTYPE); // 初始化DHT对象
void setup() {
Serial.begin(9600); // 设置串口通信波特率为9600bps
dht.begin(); // 启动DHT传感器
}
void loop() {
float humidity = dht.readHumidity(); // 获取湿度值
float temperature = dht.readTemperature();// 获取摄氏温度值
if (isnan(humidity) || isnan(temperature)) {
// 如果获取的数据无效,则提示错误信息
Serial.println("Failed to read from DHT sensor!");
} else {
// 打印有效的湿度和温度值至串口监视器
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print("%\t");
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println("°C ");
}
delay(2000); // 每隔两秒重新采集一次数据[^1]
}
```
#### 功能描述
上述代码的核心功能如下:
- **初始化阶段**:`setup()`函数完成串口初始化以及DHT传感器启动操作。
- **循环执行阶段**:`loop()`函数负责周期性地从DHT11传感器读取环境中的湿度与温度数据,并判断其有效性。如果数据有效,则通过串口输出;否则,报告失败消息。
- **延时机制**:为了满足DHT11的工作特性,程序设置每次采样之间至少有2秒钟的时间间隔[^1]。
#### 注意事项
1. 使用前需确认硬件接线无误,通常情况下,DHT11模块的VCC应接到5V或3.3V电源端子,GND接地,而信号引脚则对应于定义好的GPIO针脚(此处为数字2)。
2. 需要安装第三方库文件——`DHT.h`及其依赖项才能正常编译运行本项目。可以通过Arduino IDE内置管理工具轻松导入所需库支持[^1]。
阅读全文
相关推荐


















