从串口调试到桌面神器:用Arduino Uno打造高颜值温湿度显示器
记得第一次用DHT11传感器时,盯着串口监视器里跳动的数字兴奋不已,但很快这种新鲜感就被"然后呢?"的疑问取代。那些冰冷的数字值得一个更优雅的呈现方式——这正是我们要解决的痛点。本文将带你用不到50元的硬件预算,把简陋的串口输出升级为实用的桌面显示器,让技术真正融入日常生活。
1. 硬件升级方案选择
市面上常见的显示模块主要分两类:经典的LCD1602和更现代的OLED。我在多个项目中反复对比后发现:
LCD1602特点:
- 价格亲民(约8-15元)
- 蓝底白字辨识度高
- 需要调节对比度电位器
- 可视角度较小
OLED优势:
- 自发光无需背光(约18-30元)
- 超高对比度
- 支持多字体和图形显示
- 0.96英寸版本非常适合桌面摆放
提示:如果追求极简风格,推荐SSD1306驱动的0.96寸OLED,其I2C接口仅需4根连线,比LCD1602的并行接口更节省IO口。
硬件购物清单:
- Arduino Uno主板 ×1
- DHT11温湿度传感器 ×1
- SSD1306 OLED屏幕(I2C接口) ×1
- 杜邦线(母对母) ×10
- 微型面包板(可选) ×1
2. 硬件连接与注意事项
连接示意图如下(实际接线时建议先断电操作):
| 设备引脚 | Arduino接口 | 备注 |
|---|---|---|
| DHT11 VCC | 5V | 红色线 |
| DHT11 GND | GND | 黑色线 |
| DHT11 DATA | D7 | 黄色线 |
| OLED VCC | 3.3V | 注意不是5V! |
| OLED GND | GND | |
| OLED SCL | A5 | I2C时钟线 |
| OLED SDA | A4 | I2C数据线 |
常见问题排查:
- OLED不亮:检查是否错接5V(必须接3.3V)
- 数据乱码:确认I2C地址是否为0x3C(部分型号是0x78)
- DHT11无响应:尝试在DATA引脚接4.7K上拉电阻
cpp复制// 快速测试I2C地址扫描
#include <Wire.h>
void setup() {
Wi
解锁全文
加入我们的会员,获取最新、最热、最精彩的开发者技术内容