Blynk + Arduino 读取 DHT11 温湿度数据教程
元器件与物料清单
| 元器件 | 数量 |
|---|---|
| DHT11 温湿度传感器 (4 引脚) | 1 |
| 杜邦线 (公对公/公对母) | 1 套 |
| Arduino UNO | 1 |
| Android 设备 (运行 Blynk App) | 1 |
应用与在线服务
- Arduino IDE
- Blynk IoT 平台 (iOS/Android App)
项目简介
本教程演示如何使用 Blynk 平台读取 DHT11 温湿度数据并实时显示在手机上。如果不清楚如何在 Linux 下连接 Arduino,可参考另一教程(无需添加 LED)。
注意: 不要在 Blynk 添加 LED 按钮,也不要上传那个教程的代码!必须上传本文"代码"部分提供的代码。
原理图见文末"原理图"部分,展示 DHT11 与 Arduino 接线方法。
Blynk App 配置
完成基础连接后,你应看到设备在线。接下来添加两个仪表盘并按如下设置:
可选:添加历史图表记录趋势
最终界面效果:
一切正常则能看到实时数据:
开始体验吧!
运行效果
仪表盘实时显示温度和湿度,历史图表记录变化趋势。这是一个简单易上手的项目,喜欢请点赞关注!
P.S. 享受制作乐趣最重要!
代码
DHT11 + Blynk 代码 (C/C++)
/**************************************************************
* Blynk 平台支持通过拖拽组件快速构建图形界面控制 Arduino/Raspberry Pi 等设备
* 下载/文档/教程: https://www.blynk.cc
* 社区: https://community.blynk.cc
* Blynk 库采用 MIT 许可证,示例代码公共领域
**************************************************************
* 本示例演示通过普通 Arduino Serial 连接 Blynk (USB 串口模式)
* 可应用于其他示例,非常简单!
**************************************************************
* USB 连接教程: https://tiny.cc/BlynkUSB
**************************************************************/
#include
SoftwareSerial DebugSerial(2, 3); // RX, TX 调试串口
#define BLYNK_PRINT DebugSerial
#include
#include
#include
#define DHTPIN 5 // DHT11 数据引脚
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22, AM2302, AM2321
//#define DHTTYPE DHT21 // DHT 21, AM2301
DHT dht(DHTPIN, DHTTYPE);
SimpleTimer timer;
// 在 Blynk App 项目设置(螺丝刀图标)获取 Auth Token
char auth[] = "YourAuthToken";
// 定时发送传感器数据到虚拟引脚
// App 中组件读取频率设为 PUSH 模式,由代码控制发送频率
void sendSensor() {
float h = dht.readHumidity();
float t = dht.readTemperature(); // 或 dht.readTemperature(true) 华氏度
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// 发送到虚拟引脚 V5(湿度)、V6(温度)
// 频率不超过 10 次/秒
Blynk.virtualWrite(V5, h);
Blynk.virtualWrite(V6, t);
}
void setup() {
DebugSerial.begin(9600); // 调试串口
Serial.begin(9600); // 硬件串口用于 Blynk 通讯
Blynk.begin(Serial, auth);
// 每秒调用一次 sendSensor
timer.setInterval(1000L, sendSensor);
}
void loop() {
Blynk.run();
timer.run(); // 运行定时器
}
原理图
未找到 DHT11 模型,暂用 TMP36 代替标注
Fritzing 源文件: dht11_JqQomro2Tj.fzz
制造工艺
- 集成二维码、RFID与体温验证的门禁控制系统
- 树莓派2上使用DS18B20读取温度完整指南
- 树莓派配合 EzTemp 实现无缝温湿度监测
- 树莓派自动化气雾栽培系统:湿度传感器智能控制
- 验证并校准湿度传感器以实现精准测量
- DHT11 温湿度传感器项目:LED 指示与压电蜂鸣器报警
- Arduino + DHT11 + 以太网盾板温湿度数据记录仪
- BME280 环境数据实时显示于 Nextion 触摸屏——Visuino 图形化开发
- Arduino 合成乐音:从零实现 88 键钢琴全音域
- Arduino 连接 NMEA-0183 设备全攻略:从硬件接线到协议解析
- Arduino Modbus 从机开发全攻略:基于 RS485 扩展板的分步实现指南
- MKR1000 接入 Azure IoT:DHT22 温湿度实时上云监控