基于 STM32 的智能书桌控制系统

基于 STM32 的智能书桌控制系统设计

导语

长时间伏案学习工作易引发视疲劳、坐姿不良与能源浪费等问题,而传统书桌功能单一、缺乏感知能力。本文设计一种以 STM32F103C8T6 为核心的智能书桌系统:HC-SR04 超声波检测用户与桌面距离,过近即提醒预防视疲劳;GL5528 光敏电阻监测环境光线,自动调节台灯亮度与开关;TCRT5000 感知用户在座状态,离开超过 30 秒自动熄灯节能;ULN2003 驱动步进电机实现桌高精准调节;OLED 实时显示数据,ESP8266 无线联网后支持手机 APP 远程监控与控制,为健康、舒适、节能的智能办公学习环境提供完整方案。

一、系统功能总览

编号 功能名称 功能描述
F1 距离检测 HC-SR04 测量用户与书桌距离,过近提醒
F2 光照检测 GL5528 采集环境光强
F3 台灯智能控制 依据光照自动调光与开关
F4 人体感应 TCRT5000 监测在座状态,离开 30 s 自动关灯
F5 高度调节 ULN2003 + 步进电机精准调节桌面高度
F6 状态显示 OLED 显示环境数据与系统状态
F7 远程控制 ESP8266 联网,APP 远程监控与调节

二、核心模块选型对比

2.1 主控模块选型

方案 型号 主频 优点 缺点
方案一 STM32F103C8T6 72 MHz 生态成熟(CubeMX/HAL)、性价比高、低功耗模式丰富 无无线功能
方案二 ESP32-WROOM-32 240 MHz 双核、Wi-Fi/蓝牙一体 实时控制稳定性弱于 STM32

选择方案一: 多传感器采集与电机控制的实时性要求高,STM32 开发工具能显著缩短周期且预算友好。

2.2 距离检测模块选型

方案 型号 量程 优点 缺点
方案一 HC-SR04 2--400 cm 价格低、接口简单、文档社区丰富 精度一般
方案二 GROVE Ultrasonic Ranger 3--500 cm 量程更大、抗噪更好 成本较高

选择方案一: 坐姿距离检测在数十厘米量级,HC-SR04 性价比与集成便利性更优。

2.3 光照检测模块选型

方案 型号 接口 优点 缺点
方案一 GL5528 光敏电阻 分压+ADC 成本低、集成简单 精度与线性度有限
方案二 TSL2561 数字 I²C 高精度、温漂小 成本较高

选择方案一: 台灯调光只需阈值判断与相对变化,GL5528 分压方案性价比高。

2.4 数据显示模块选型

方案 型号 分辨率 优点 缺点
方案一 OLED12864 128×64 对比度高、广视角、低功耗 单色
方案二 ST7735 TFT 128×128 彩色显示 功耗与成本较高

选择方案一: 距离、光照、高度等数值信息以字符显示为主,OLED 清晰且省电。

2.5 无线通信模块选型

方案 型号 频段 优点 缺点
方案一 ESP8266 2.4 GHz Wi-Fi 直连互联网、生态成熟、成本低 功耗高于 433 MHz 模块
方案二 nRF905 433 MHz 距离远(可达数公里)、抗干扰 无互联网接入能力

选择方案一: APP 远程控制需接入互联网,ESP8266 支持透传 TCP 连接,开发资源丰富。

三、系统接线总表

模块 引脚 MCU 引脚 说明
HC-SR04 Trig/Echo PA2/PA3 定时器测量回波脉宽,5 V 供电
GL5528 分压输出 PA1 ADC1 输入(10 kΩ 分压)
TCRT5000 OUT PA0 数字输入(在座检测)
ULN2003 IN1--IN4 PB0--PB3 四拍时序控制步进电机
步进电机 线圈 A--D --- 接 ULN2003 OUT1--OUT4
OLED12864 SDA/SCL PB7/PB6 I²C1
ESP8266-01S TX/RX PA10/PA9 USART1,115200,CH_PD 接 3.3 V
台灯 PWM PA6 TIM3_CH1 调光

四、系统软件设计

4.1 主程序流程

上电完成采集、通信与显示接口初始化后进入主循环:超声波测距并在距离过近时提醒 → 采集光强并自动调节台灯亮度/开关 → 人体感应判断在座状态,离开超 30 秒自动关灯 → OLED 刷新数据并经 ESP8266 上传 APP,接收远程指令驱动步进电机调节桌高。

复制代码
int main(void)
{
    SystemInit();
    HCSR04_Init();
    ADC1_Init();
    OLED_Init();
    Motor_Init();
    ESP8266_Init();
    ESP8266_JoinAP("home","pwd");

    while (1)
    {
        /* 1. 环境与行为感知 */
        dist = HCSR04_Read();
        lux  = ADC_Read(PA1);
        seat = TCRT5000_Read();

        /* 2. 健康与节能控制 */
        if (dist < DIST_MIN) Remind_TooClose();
        Lamp_Set(lux);                    /* 光照自适应调光 */
        if (!seat && ++idle > 30)         /* 离开超 30s */
            Lamp_Off();

        /* 3. 显示与远程 */
        OLED_Show(dist, lux, height);
        ESP8266_Send("D=%d,L=%d", dist, lux);
        if (AppCmd(cmd))                  /* APP 调节高度 */
            Motor_Run(cmd.dir, cmd.steps);
        delay_ms(500);
    }
}

4.2 距离检测流程

Trig 配置输出、Echo 配置输入 → Trig 发 10 μs 高电平触发超声波 → 定时器测量 Echo 高电平持续时间 → 按公式 距离 = 高电平时间 × 340 / 2 计算距离,与最近距离阈值比较触发提醒。

4.3 光照检测流程

ADC 初始化后多次采样取平均 → 按公式 光强 = ADC 值 × 5V / 4096 × 100 换算光强值 → 与亮度阈值比较,输出对应 PWM 占空比调节台灯,实现自动调光与开关。

4.4 数据显示流程

I²C 初始化 OLED(0xAE 关显示 → 寻址模式 → 对比度 → 0xAF 开显示)→ SetPos 定位 → ShowStr/Fill/CLS 刷新距离、光照、高度等信息 → 开启电荷泵保证显示效果。

4.5 无线通信流程

串口 2 初始化(115200)→ 复位 ESP8266 并检测 "ready" → STA 模式 AT+CWJAP 连接 Wi-Fi → 关闭多路连接、进入透传模式 → AT+CIPSTART 连接 TCP 服务器,随后周期上传数据并接收 APP 指令。

4.6 电机驱动流程

GPIO 推挽输出、初始低电平 → 正转按引脚 1→2→3→4 顺序置高并延时,反转顺序相反 → 调节到位后将全部引脚置低停止,实现桌面高度的精准升降。

五、系统实现与测试

5.1 硬件焊接与测试

按最小系统、距离、光照、红外、电机、显示、无线逐块焊接;通电后万用表核查供电,验证晶振起振与复位电路有效,再依次点亮 OLED、驱动步进电机、联调 ESP8266 通信。

5.2 软件实现与测试

Keil 编译下载,串口观察超声波回波脉宽与 ADC 均值;调试 ESP8266 AT 流程与 APP 指令解析、桌高步数标定。

5.3 功能测试

测试编号 测试步骤 预期 结论
T1 身体向桌面贴近 距离过近触发提醒 通过
T2 遮挡环境光 台灯亮度自动提升 通过
T3 离座 30 秒以上 台灯自动关闭 通过
T4 APP 下发升/降指令 步进电机调节桌高 通过
T5 OLED 查看数据 距离/光照/高度齐全 通过
T6 APP 端查看状态 数据实时刷新 通过
T7 连续运行 各功能稳定可靠 通过

六、总结

本文以 STM32F103C8T6 为核心设计了智能书桌系统,集成 HC-SR04、GL5528、TCRT5000、ULN2003 步进电机、OLED12864 与 ESP8266,实现坐姿距离提醒、光照自适应调光、离座自动熄灯、桌高电动调节与 APP 远程控制等功能;系统兼顾功能性、性价比与易用性,有效缓解长时间伏案带来的健康问题并减少能源浪费,具备良好的扩展性与推广价值。

七、资料内容完整工程资料(原理图、PCB、代码、元件清单)

八、资料获取方式

相关推荐
逐步前行1 小时前
嵌入式图形库-LVGL v9.6-环境搭建(Windows+VSCode模拟)
单片机·嵌入式硬件
lhbweilai1 小时前
分析FreeRTOS内核对象API的源码实现(六)
c语言·stm32·单片机
HQB20261 小时前
# EG1190|屹晶微电子 115V 外置 MOS 异步降压 DC‑DC 控制器(零功耗使能) ## 一、产品概述
嵌入式硬件·硬件工程
comyccccc1 小时前
PID扩展板布局布线全解析:高效设计六大优势学习笔记
单片机·嵌入式硬件
服务器硬件项目经理1 小时前
第5章消费级vs专业级vs数据中心:显卡的门派
服务器·嵌入式硬件·gru·硬件工程·硬件
SuperByteMaster2 小时前
TTL电路
嵌入式硬件
三佛科技-187366133972 小时前
分享智能感应开关开发案例
单片机·嵌入式硬件
Zw-awa2 小时前
机器周期与共地:时钟基准和电压参考基准
stm32
Brilliantwxx2 小时前
【STM32】RTC 完结篇:日期操作、闹钟中断与附录(时间戳 / 闹钟 / NTP)
服务器·c语言·stm32·单片机·嵌入式硬件·实时音视频