【proteus仿真】基于 STM32 的久坐提醒与坐姿矫正器设计(仿真图+程序)

1 设计背景与意义

当代学生、办公人群长期伏案学习工作,极易出现弯腰、前倾、后仰等错误坐姿,长期不良坐姿容易引发颈椎、腰椎劳损,同时长时间久坐不活动,也会带来身体亚健康问题。市面上很多坐姿矫正产品功能单一,大多只做简单报警,缺少主动矫正机制。

针对以上痛点,本项目基于 STM32 单片机设计一套久坐提醒与坐姿矫正装置。装置可以实时检测落座压力、人体姿态,识别不良坐姿,执行矫正动作,计时实现久坐声光提醒,同时本地屏幕 + 串口双重数据输出,适合课程设计、毕设学习,在 Proteus 中可以完整仿真全部业务逻辑。

2 系统总体方案

本系统主控采用 STM32F103C8T6 单片机,整体分为采集模块、按键输入模块、执行驱动模块、显示输出模块四大部分。

  1. 信号采集:压力电位器模拟座椅压力信号;MPU6050 模拟姿态传感器输出姿态数据;PCF8591 完成 AD 模数转换,将模拟量传给单片机。
  2. 按键输入:4 路独立按键,实现前倾、后仰模拟触发、停止矫正、自动 / 手动模式切换。
  3. 执行机构:L298N 电机驱动芯片控制模拟矫正电机,实现坐姿矫正动作;蜂鸣器 + LED 构成声光报警模块,实现久坐超时提醒。
  4. 信息输出: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 软件设计流程

  1. 系统初始化:STM32 外设初始化,I2C、OLED、串口、定时器、按键、L298N 驱动初始化。
  2. 循环读取 PCF8591AD 采样,获取压力值、姿态值。
  3. 判断压力阈值:压力大于阈值,判定用户落座,启动久坐计时;压力过小判定无人,计时清零。
  4. 按键扫描:检测按键,切换手动 / 自动模式,模拟坐姿异常信号,停止矫正。
  5. 坐姿判断:自动模式读取姿态数据,识别前倾、后仰;手动模式依靠按键触发错误坐姿信号。
  6. 异常坐姿:调用 L298N 启动电机,执行坐姿矫正;姿态恢复正常,停止电机。
  7. 久坐判断:落座计时达到设定时间,触发蜂鸣器 LED 声光提醒。
  8. 更新 OLED 屏幕数据,串口打印系统状态日志,循环回到采样步骤。

5 仿真功能演示

在 Proteus 仿真运行后效果如截图所示:

  1. OLED 屏幕实时刷新压力与姿态检测数值;
  2. Virtual Terminal 串口终端打印:压力检测数值、姿态检测数值、系统工作模式、矫正启停状态;
  3. 调节电位器可以修改压力、姿态检测值;
  4. 手动模式:按下前倾 / 后仰按键,系统识别坐姿异常,启动模拟矫正电机;按下停止,电机停止工作;
  5. 自动模式:姿态采样超出正常范围,自动启动矫正;
  6. 用户落座计时超时,LED 与蜂鸣器启动,完成久坐提醒。

仿真截图中串口输出示例:

复制代码
压力检测: 21 姿态检测: 24
久坐提醒与坐姿矫正器设计
自动!
停止矫正!

6 实物拓展方案

仿真版本使用电位器模拟传感器,实际硬件可以替换为真实器件:

  1. 压力采集:座椅薄膜压力传感器;
  2. 姿态采集:真实 MPU6050 六轴姿态传感器;
  3. 执行机构:小型减速电机或者振动提醒模块;
  4. 供电:5V USB 供电。

7 总结

本项目完成了基于 STM32 单片机的久坐提醒坐姿矫正器 Proteus 仿真设计,实现压力检测、姿态采集、手动 / 自动双模式、电机坐姿矫正、久坐声光报警、OLED 显示、串口日志输出全套功能。整个设计逻辑清晰,硬件电路完整,代码逻辑可移植实物,适合单片机课程设计、电子毕设参考。

通过网盘分享的文件:仿真文件获取.zip

链接: https://pan.baidu.com/s/1V5zzxbpHc_fRqfGIzSdLfg?pwd=6666 提取码: 6666

相关推荐
亿道电子Emdoor28 分钟前
【Altium】DWG文件修改图层颜色问题
嵌入式硬件·硬件工程
一条破秋裤38 分钟前
STM32 学习笔记:PWM 输出比较原理与计算
笔记·stm32·学习
jianqiang.xue43 分钟前
ESP-IDF保姆级入门11|FreeRTOS队列通信全解:生产者消费者+中断数据转发+多任务解耦,彻底搞定任务间交互
单片机·嵌入式硬件·物联网·架构·esp32
jianqiang.xue43 分钟前
ESP-IDF保姆级入门09|ADC模拟量采集全解:电位器调压+光敏传感器+OLED显示,打通模拟→数字全链路
stm32·单片机·物联网·架构·esp32
张海森-1688202 小时前
变量的作用域和生命周期
单片机
深圳市恒锐丰科技杨生2 小时前
EG3014S 80V 半桥栅极驱动芯片|低压半桥外置 MOS/IGBT 驱动方案
嵌入式硬件·硬件工程
Freak嵌入式2 小时前
MicroPython+Pico 接收空闲中断和发送空闲中断全实战
java·开发语言·stm32·单片机·嵌入式硬件
尼喃3 小时前
锂电池3.7V升压5V芯片全场景选型:耳机/音箱/USB输出三档方案
嵌入式硬件
LCG元3 小时前
STM32F103 硬件 I2C 通信全流程调试实录:从寄存器配置到总线死锁恢复
stm32·单片机·嵌入式硬件