【Arduino】189种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百一十八:DHT22 单总线数字温湿度传感器 AM2302电子积木模块
项目之二:串口绘图器显示温湿度波形曲线
实验开源代码
/*
【Arduino】189种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百一十八:DHT22 单总线数字温湿度传感器 AM2302电子积木模块
项目之二:串口绘图器显示温湿度波形曲线
*/
#include <DHT.h>
#define DHTPIN 2 // 数据引脚连接到 D2
#define DHTTYPE DHT22 // 使用 DHT22 传感器
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
float temp = dht.readTemperature(); // 读取温度
float hum = dht.readHumidity(); // 读取湿度
if (isnan(temp) || isnan(hum)) {
Serial.println("Sensor is not available right now");
} else {
// **只输出数值,适配 Arduino Serial Plotter**
Serial.print(temp);
Serial.print(",");
Serial.println(hum);
}
delay(150); // **降低刷新间隔,使波形更流畅**
}
代码简单解读
这段代码使用 DHT22 传感器 测量温度和湿度,并通过 Arduino Serial Plotter 显示波形,核心逻辑如下:
1. 初始化
✅ #define DHTPIN 9 → 数据引脚连接到 Arduino 的 D2
✅ #define DHTTYPE DHT22 → 指定传感器类型为 DHT22
✅ DHT dht(DHTPIN, DHTTYPE); → 初始化 DHT 传感器
✅ Serial.begin(9600); → 启动串口通信
✅ dht.begin(); → 激活传感器
2. 采集温湿度数据
✅ float temp = dht.readTemperature(); → 获取温度数据
✅ float hum = dht.readHumidity(); → 获取湿度数据
3. 处理数据
✅ if (isnan(temp) || isnan(hum)) → 检查数据是否有效
✅ 如果传感器未检测到数据,打印“传感器不可用”
4. 显示波形
✅ Serial.print(temp); Serial.print(","); Serial.println(hum); → 以逗号分隔数据,适配 Arduino Serial Plotter
✅ 绘图器会自动将温度和湿度转换成两条曲线
5. 采集间隔
✅ delay(500); → 每 500 毫秒更新数据,提高波形流畅度
这段代码让 DHT22 传感器不断测量温湿度,并在 Arduino Serial Plotter 生成实时波形。
实验串口返回情况

实验串口绘图器返回情况

评论