
1 设计背景与意义
当代学生、办公人群长期伏案学习工作,极易出现弯腰、前倾、后仰等错误坐姿,长期不良坐姿容易引发颈椎、腰椎劳损,同时长时间久坐不活动,也会带来身体亚健康问题。市面上很多坐姿矫正产品功能单一,大多只做简单报警,缺少主动矫正机制。
针对以上痛点,本项目基于 STM32 单片机设计一套久坐提醒与坐姿矫正装置。装置可以实时检测落座压力、人体姿态,识别不良坐姿,执行矫正动作,计时实现久坐声光提醒,同时本地屏幕 + 串口双重数据输出,适合课程设计、毕设学习,在 Proteus 中可以完整仿真全部业务逻辑。
2 系统总体方案
本系统主控采用 STM32F103C8T6 单片机,整体分为采集模块、按键输入模块、执行驱动模块、显示输出模块四大部分。
- 信号采集:压力电位器模拟座椅压力信号;MPU6050 模拟姿态传感器输出姿态数据;PCF8591 完成 AD 模数转换,将模拟量传给单片机。
- 按键输入:4 路独立按键,实现前倾、后仰模拟触发、停止矫正、自动 / 手动模式切换。
- 执行机构:L298N 电机驱动芯片控制模拟矫正电机,实现坐姿矫正动作;蜂鸣器 + LED 构成声光报警模块,实现久坐超时提醒。
- 信息输出:OLED 显示屏实时打印压力数值、姿态数值;Virtual Terminal 虚拟串口终端输出系统日志,方便调试查看运行状态。
系统工作逻辑:检测到座椅有压力,判定用户已经落座;开启计时,同时持续采集姿态数据。手动模式下由按键模拟不良坐姿;自动模式下传感器识别前倾、后仰错误姿态,启动电机进行坐姿矫正;当连续落座时间达到阈值,蜂鸣器与 LED 触发久坐提醒。
3 硬件电路分析(Proteus 仿真)
3.1 STM32 最小系统
包含单片机主控芯片、复位电路、晶振振荡电路,提供系统运行基础时钟与复位功能,为整个系统提供运算控制核心。
3.2 AD 采集电路(PCF8591)
PCF8591 为 I2C 接口模数转换芯片,两路模拟输入分别接入压力检测电位器、MPU6050 姿态模拟输出,将模拟电压转换数字量交给单片机读取,得到压力值、姿态值。
3.3 姿态与压力检测单元
电位器 RV1 模拟座椅压力传感器,RV2 模拟 MPU6050 姿态传感器输出信号;调节电位器即可改变压力、姿态检测数值,仿真还原真实传感器采样效果。
3.4 按键模块
四路独立按键:前倾、后仰、停止、自动/手动。手动模式下,按下前倾 / 后仰按键,模拟用户出现错误坐姿;停止按键可以终止矫正动作;自动手动按键切换系统工作模式。
3.5 电机驱动矫正电路
使用 L298N 电机驱动芯片,控制两路直流电机作为模拟矫正器。当识别到坐姿异常,单片机输出电平,经过 L298N 驱动电机转动,模拟坐姿矫正动作;D11、D12 二极管做续流保护。
3.6 声光报警久坐提醒电路
三极管驱动蜂鸣器 BUZ1 搭配红色 LED,久坐计时到达设定阈值,LED 点亮,蜂鸣器鸣叫,完成久坐提醒。
3.7 显示与串口输出
OLED 屏幕本地实时显示压力:XX、姿态:XX;串口虚拟终端 Virtual Terminal 输出完整运行日志,打印检测数值、工作模式、矫正启停状态,方便调试观察系统状态。
4 软件设计流程
- 系统初始化:STM32 外设初始化,I2C、OLED、串口、定时器、按键、L298N 驱动初始化。
- 循环读取 PCF8591AD 采样,获取压力值、姿态值。
- 判断压力阈值:压力大于阈值,判定用户落座,启动久坐计时;压力过小判定无人,计时清零。
- 按键扫描:检测按键,切换手动 / 自动模式,模拟坐姿异常信号,停止矫正。
- 坐姿判断:自动模式读取姿态数据,识别前倾、后仰;手动模式依靠按键触发错误坐姿信号。
- 异常坐姿:调用 L298N 启动电机,执行坐姿矫正;姿态恢复正常,停止电机。
- 久坐判断:落座计时达到设定时间,触发蜂鸣器 LED 声光提醒。
- 更新 OLED 屏幕数据,串口打印系统状态日志,循环回到采样步骤。
5 仿真功能演示
在 Proteus 仿真运行后效果如截图所示:
- OLED 屏幕实时刷新压力与姿态检测数值;
- Virtual Terminal 串口终端打印:压力检测数值、姿态检测数值、系统工作模式、矫正启停状态;
- 调节电位器可以修改压力、姿态检测值;
- 手动模式:按下前倾 / 后仰按键,系统识别坐姿异常,启动模拟矫正电机;按下停止,电机停止工作;
- 自动模式:姿态采样超出正常范围,自动启动矫正;
- 用户落座计时超时,LED 与蜂鸣器启动,完成久坐提醒。
仿真截图中串口输出示例:
压力检测: 21 姿态检测: 24
久坐提醒与坐姿矫正器设计
自动!
停止矫正!
6 实物拓展方案
仿真版本使用电位器模拟传感器,实际硬件可以替换为真实器件:
- 压力采集:座椅薄膜压力传感器;
- 姿态采集:真实 MPU6050 六轴姿态传感器;
- 执行机构:小型减速电机或者振动提醒模块;
- 供电:5V USB 供电。
7 总结
本项目完成了基于 STM32 单片机的久坐提醒坐姿矫正器 Proteus 仿真设计,实现压力检测、姿态采集、手动 / 自动双模式、电机坐姿矫正、久坐声光报警、OLED 显示、串口日志输出全套功能。整个设计逻辑清晰,硬件电路完整,代码逻辑可移植实物,适合单片机课程设计、电子毕设参考。
通过网盘分享的文件:仿真文件获取.zip
链接: https://pan.baidu.com/s/1V5zzxbpHc_fRqfGIzSdLfg?pwd=6666 提取码: 6666