一、项目概述
桌面温湿度天气时钟是一款集成时间显示、温湿度监测、实时天气查询于一体的智能桌面设备,采用ESP32为主控,通过Wi-Fi联网获取天气数据,搭配TFT彩屏显示丰富信息,支持按键设置与整点报时。本原理图基于Altium Designer SchDoc格式设计,涵盖电源、主控、显示、传感器、通信等核心模块。
二、系统架构
+-------------------+ +-------------------+ +-------------------+
| 电源模块 | | 主控模块 | | 显示模块 |
| (USB供电+3.3V稳压) |<--->| (ESP32-S3) |<--->| (2.4寸TFT SPI) |
+-------------------+ +-------------------+ +-------------------+
| | | | | | | | | | | | |
| | | | | | | | | | | +---->+-------------------+
| | | | | | | | | | +-------->| 温湿度传感器 |
| | | | | | | | | +------------>| (SHT30 I2C) |
| | | | | | | | +---------------->| RTC时钟 (DS3231) |
| | | | | | | +-------------------->| 按键输入 (3x轻触) |
| | | | | | +------------------------>| 蜂鸣器 (报时) |
| | | | | +---------------------------->| Wi-Fi天线 |
| | | | +-------------------------------->| USB接口 |
| | | +------------------------------------>| 状态指示灯 |
| | +---------------------------------------->| 纽扣电池 (RTC) |
| +-------------------------------------------->| ... |
+--------------------------------------------------->| |
三、核心模块设计
1. 电源模块
功能:USB 5V输入,经稳压后为各模块提供3.3V电源,含滤波与保护电路。
原理图关键元件:
输入:USB Type-C接口(VBUS=5V,GND)
稳压:AMS1117-3.3V(LDO稳压器,输入5V,输出3.3V,最大电流1A)
滤波:输入/输出端并联10μF电解电容+0.1μF陶瓷电容(去耦)
保护:自恢复保险丝(500mA,防过流)
连接关系:
USB_VBUS → 保险丝F1 → AMS1117_IN
AMS1117_OUT → 3.3V网络(供ESP32、TFT、SHT30、DS3231等)
GND → 公共地
2. 主控模块 (ESP32-S3-WROOM-1)
功能:系统核心,负责数据处理、Wi-Fi联网、天气API解析、外设控制。
关键引脚分配:
| 功能 | 引脚 (ESP32-S3) | 连接目标 |
|---|---|---|
| SPI_SCK | GPIO12 | TFT_SCK |
| SPI_MOSI | GPIO11 | TFT_MOSI |
| SPI_CS | GPIO10 | TFT_CS |
| SPI_DC | GPIO9 | TFT_DC |
| SPI_RST | GPIO8 | TFT_RST |
| I2C_SDA | GPIO21 | SHT30_SDA、DS3231_SDA |
| I2C_SCL | GPIO22 | SHT30_SCL、DS3231_SCL |
| 按键_SET | GPIO18 | 轻触按键SET(下拉输入) |
| 按键_UP | GPIO19 | 轻触按键UP(下拉输入) |
| 按键_DOWN | GPIO20 | 轻触按键DOWN(下拉输入) |
| 蜂鸣器 | GPIO4 | 有源蜂鸣器(低电平触发) |
| 状态指示灯 | GPIO2 | LED(串联1K限流电阻) |
| Wi-Fi天线 | 板载PCB天线 | —— |
最小系统电路:
复位电路:10K上拉电阻+轻触按键(RESET引脚)
晶振:内置40MHz RC振荡器(无需外接)
Flash:板载16MB SPI Flash
3. 显示模块 (2.4寸TFT LCD)
型号:ILI9341驱动,320x240分辨率,SPI接口,3.3V供电
关键连接:
| TFT引脚 | 功能 | 连接ESP32引脚 |
|---|---|---|
| VCC | 电源 | 3.3V |
| GND | 地 | GND |
| SCK | SPI时钟 | GPIO12 |
| MOSI | SPI数据 | GPIO11 |
| CS | 片选 | GPIO10 |
| DC | 数据/命令 | GPIO9 |
| RST | 复位 | GPIO8 |
| BL | 背光控制 | 3.3V(常亮) |
4. 温湿度传感器 (SHT30)
功能:I2C接口,测量温度(-40~125℃,±0.3℃)、湿度(0~100%RH,±2%RH)
连接:
VCC → 3.3V
GND → GND
SDA → ESP32_GPIO21(I2C_SDA,上拉4.7K电阻)
SCL → ESP32_GPIO22(I2C_SCL,上拉4.7K电阻)
5. RTC时钟模块 (DS3231)
功能:高精度实时时钟(±2ppm,年误差<1分钟),带温度补偿,支持闹钟
连接:
VCC → 3.3V
GND → GND
SDA → ESP32_GPIO21(I2C_SDA,与SHT30共用)
SCL → ESP32_GPIO22(I2C_SCL,与SHT30共用)
BAT → CR2032纽扣电池(+3V,给RTC供电,掉电走时)
INT → 悬空(可选,用于闹钟中断)
6. 按键与蜂鸣器
按键:3个轻触按键(SET/UP/DOWN),一端接ESP32对应GPIO(下拉输入),另一端接3.3V,按键按下时GPIO为高电平。
蜂鸣器:有源蜂鸣器(3.3V),通过S8050三极管驱动(基极串1K电阻接ESP32_GPIO4,集电极接蜂鸣器正极,发射极接地)。
四、完整原理图符号与连接
1. 电源模块原理图片段
+5V_USB ──┬── F1(500mA) ──┬── AMS1117_IN
│ │
GND ──────┴───────────────┴── AMS1117_GND
│
├── AMS1117_OUT ──+3.3V
│ │
└── C1(10μF) ──┬──+3.3V
└── C2(0.1μF) ── GND
2. ESP32与TFT连接片段
ESP32_GPIO12 ── TFT_SCK
ESP32_GPIO11 ── TFT_MOSI
ESP32_GPIO10 ── TFT_CS
ESP32_GPIO9 ── TFT_DC
ESP32_GPIO8 ── TFT_RST
+3.3V ─────── TFT_VCC
GND ─────── TFT_GND
3. I2C总线连接片段 (SHT30+DS3231)
ESP32_GPIO21 ──┬── SHT30_SDA
└── DS3231_SDA
│
└── R1(4.7K) ── +3.3V
ESP32_GPIO22 ──┬── SHT30_SCL
└── DS3231_SCL
│
└── R2(4.7K) ── +3.3V
参考代码 桌面温湿度天气时钟 www.youwenfan.com/contentalh/183124.html
五、PCB设计注意事项
电源层:3.3V电源走线加粗(≥20mil),避免压降。
ESP32天线:远离电源线和金属元件,留空区域≥5mm。
I2C走线:SDA/SCL等长(误差≤5mm),减少干扰。
按键布局:边缘放置,方便操作,加丝印标识。
TFT接口:短距离直连,避免信号反射。
六、元件清单 (BOM)
| 序号 | 元件名称 | 型号/规格 | 数量 | 备注 |
|---|---|---|---|---|
| 1 | 主控 | ESP32-S3-WROOM-1 | 1 | 双核240MHz,Wi-Fi/BT |
| 2 | 显示模块 | 2.4寸TFT ILI9341 | 1 | SPI接口,320x240 |
| 3 | 温湿度传感器 | SHT30-DIS-B | 1 | I2C接口,±0.3℃/±2%RH |
| 4 | RTC芯片 | DS3231SN | 1 | I2C接口,带电池座 |
| 5 | 稳压器 | AMS1117-3.3V | 1 | 1A LDO |
| 6 | 轻触按键 | 6x6x5mm | 3 | SET/UP/DOWN |
| 7 | 有源蜂鸣器 | 3.3V | 1 | 低电平触发 |
| 8 | 纽扣电池 | CR2032 | 1 | 3V,给DS3231供电 |
| 9 | 电容 | 10μF/16V电解 | 2 | 电源滤波 |
| 10 | 电容 | 0.1μF陶瓷 | 3 | 去耦 |
| 11 | 电阻 | 4.7KΩ 0805 | 2 | I2C上拉 |
| 12 | 电阻 | 1KΩ 0805 | 1 | 蜂鸣器基极电阻 |
| 13 | 三极管 | S8050 NPN | 1 | 蜂鸣器驱动 |
| 14 | USB接口 | Type-C | 1 | 5V输入 |