摘" 要:文章以STC89C52单片机为核心器件,结合HC-RS04超声波传感器、光敏电阻、定时器、ADC0832模数转换器、LCD1602液晶显示屏,设计了坐姿纠正系统。通过超声波传感器对用户与被测物体的距离进行实时监测,通过光敏电阻对所处环境的光照强度进行实时监测,并通过单片机处理收集到的数据。当测得的距离或者光照强度任意一者超出正常范围时,单片机通过驱动蜂鸣器报警,提醒用户注意纠正。同时,通过LCD1602显示屏实时显示测得的数据。详细研究了基于单片机的坐姿纠正系统设计的硬件电路和软件设计方案,运用Keil软件进行代码调试,运用Proteus进行软件仿真。功能测试证明,所设计的坐姿纠正系统能够在多种情况下正常工作。
关键词:单片机;超声波传感器;姿态监测;功能测试
中图分类号:TP368.1 文献标识码:A 文章编号:2096-4706(2025)03-0020-08
Design of Sitting Posture Correction System Based on STC89C52 Single-chip Microcomputer
LI Na, WANG Wei, YAN Meng, WANG Li, ZHENG Ru
(Department of Electronic Engineering, Xihang University, Xian" 710077, China)
Abstract: This paper uses STC89C52 single-chip microcomputer as the core device, combined with HC-RS04 ultrasonic sensor, photoresistor, timer, ADC0832 analog-to-digital converter, and LCD1602 LCD screen, to design a sitting posture correction system. Real-time monitoring of the distance between the user and the measured object is carried out through ultrasonic sensors, and the illumination intensity of the environment is monitored in real time through photoresistors. The collected data is processed by the single-chip microcomputer. When either the measured distance or illumination intensity exceeds the normal range, the single-chip microcomputer drives a buzzer alarm to remind the user to pay attention to correction. Meanwhile, the measured data is displayed in real time on the LCD1602 display screen. A detailed study is conducted on the hardware circuit and software design scheme of a sitting posture correction system based on a single-chip microcomputer. Keil software is used for code debugging, and Proteus is used for software simulation. Through functional testing, it has been proven that the designed sitting posture correction system can work normally in various situations.
Keywords: Single-chip Microcomputer; ultrasonic sensor; sitting posture monitoring; functional testing
0" 引" 言
随着我国科技发展、电子产品的使用迅速发展,极大地提高了人们完成事情的效率,但久坐于电脑前也成了大多数人的常态,加之当代社会高强度、快节奏的生活方式,人们工作、学习等时间越来越久,姿势不良现象十分常见,导致诸多健康问题[1-2],坐姿矫正系统用于人体坐姿监测,能提醒人们及时纠正不良坐姿,有目的性地改善自身的坐姿问题。坐姿纠正对维护人们身体健康、提高办事效率和预防各种疾病具有十分重要的意义[3-4]。
根据实际遇到的坐姿问题,从软硬件两个方面设计了基于STC89C52单片机的计步器系统,系统以STC89C52单片机作为核心控制器,采用HC-RS04超声波模块监测距离,光敏电阻检测采集环境光照强度,并通过LCD1602液晶显示坐姿距离,环境光强,坐姿时间。系统包括单片机主控模块、测距模块、光敏模块、复位模块、按键模块、显示模块和报警模块,拥有随时提醒用户调整光强、坐姿以及注意休息的功能,防止对身体产生危害。
1" 系统总体设计
1.1" 设计任务
本系统是以主控单片机电路为控制系统进行的测量和显示,具体任务如下:
1)根据该系统的工作原理,完成系统的总体设计和框架,包括对硬件的选型等。
2)采用Proteus仿真平台逐步搭建各模块硬件电路图;明确各模块的工作原理;模块化、结构化完成主程序和子程序的编写。
3)完成各种状态下硬件的仿真和功能调试,多次实验采集数据并且进行了数据处理和误差分析,验证其可行性。
1.2" 设计方案
以主控单片机为核心的坐姿矫正系统总体设计如图1所示,利用光敏电阻采集光线信号,通过AD采集光线信号的强弱,把光线强度等级化,用户通过自己设置上限和下限来确定报警范围,提醒用户调整光强[5-6]。利用超声波传感器测出用户与被测物体的距离,当得到的距离值超出用户设置的距离范围时发出报警声提醒用户调整坐姿。通过单片机内部定时器计时,当使用时长达到用户设定的时间时,自动发出报警提示,提醒用户注意休息。
2" 系统硬件设计
2.1" 主控制模块
采用STC89C52单片机作为本次设计的核心控制单元,单片机主控电路如图2所示,实现自动报警与提醒、处理超声波测得的信号,以及处理光照强度信息。
2.2" 超声波测距模块
超声波模块接线如图3所示,共有4个引脚,分别为VCC、GND、TRIG、ECHO。VCC提供5 V电源,GND为地线,TRIG触发控制信号输入,ECHO为回响信号输出。用户可以根据实际需求自主设定距离阈值,当测得的数据超出标准时触发报警[7-8]。
测距原理如图4所示,系统通过超声波发射器发出一系列高频率声波信号,这些声波信号以一定的速度在空气中传播;当遇到障碍物时,会被反射回来,超声波接收器会捕捉到这些反射信号[9];系统会记录从发射超声波到接收的时间,这个时间即为往返的总时间;根据距离=速度×时间,就可以计算出测量距离。
超声波时序如图5所示,基本工作流程为:IO口TRIG触发测距,提供至少10 μs的高电平信号;模块自动发送8个40 kHz的方波,并且自动检测是否有信号返回;若一旦检测到有信号返回,则通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间,言外之意为回响信号的脉冲宽度与所测距离成正比。所测距离=声速×高电平持续时间÷2。
2.3" 光照强度检测电路
光照强度检测电路如图6所示,光照强度检测模块采用光敏电阻,光敏电阻的阻值会随着光线强度的变化而变化,然后分得的电压也会产生变化[10]。经过AD转换后就可以得到各种光照强度下的电压值,从而便于设定出理想的光线强度报警值。
2.4" 电源电路
采用5 V-USB给单片机供电,电源电路如图7所示。
3" 系统软件设计
3.1" 系统主程序流程图
主程序流程图如图8所示,系统开始工作后进行初始化操作,此后看到的液晶显示屏上的内容为:当下测得的距离、当下所处的光照强度和准备开始计时界面。然后,就会进行对各个数据的判定。首先询问的是光照强度数值,判断用户所处的环境是否适宜;若在正常值内,则会进行下一步;反之,则会报警提醒用户注意调整光线。接下来判断用户的坐姿是否正确,如果在正常范围内,则进行下一步判断;如果用户坐姿错误,则系统就会报警提示用户,注意纠正姿势。最后一步就是判断时间是否达到45分钟,若没有达到,则系统会返回持续实时监测;若达到45分钟,则系统报警,提醒用户注意休息调整。
3.2" 系统子程序流程图
3.2.1" 测量距离子程序
测量距离流程图如图9所示,测距功能开始后,首先判断定时是否到1 s,如果已经到1 s,则超声波发射标志位置1,开始超声波发射,同时开启定时器T1和外部中断0;若不到1 s,则返回继续计时。接下来询问是否检测到回波,若接收到了回波,停止定时器T1,计算距离;若没有接收到回波,则返回继续发射超声波。计算得来的距离值若小于设定的距离值,说明用户坐姿过于靠近,则系统报警提醒用户注意调整;如果大于设定的距离,则返回主程序进行下一步。
3.2.2" 测量光照子程序
光照强度测量流程图如图10所示,系统初始化后,光敏电阻会实时采集环境的光照强度;然后传输给ADC0804模数转换器,将光敏电阻采集到的模拟信号转换为数字量,方便于单片机处理和显示。系统会根据用户设定的阈值进行判断,超出用户设定的正常范围则蜂鸣器报警、LED指示灯闪烁;反之,则返回继续检测光强。
3.2.3" 定时器子程序
定时器计时流程图如图11所示,系统初始化后,开启定时器计时;在计时过程中,可以选择暂停或者清零重新启动定时;定时器会不间断检测是否到达用户预设时间,如果达到则计时结束,引发蜂鸣器报警;如果没有达到预设时间,则返回继续检测。
3.2.4" 报警提示子程序
报警提示流程图如图12所示,系统初始化后读取传感器传来的数据,并且做出判断处理。如果数据处于正常范围则继续监测;反之,激活报警。紧接着,判断用户是否做出相应调整,如果做出调整则关闭报警,如果用户未调整则持续报警。
4" 系统仿真及测试
4.1" 系统软件仿真
首先,在Proteus软件中搭建仿真环境,将设计的电路图进行正确的连线;然后烧入程序,初始化;观察系统是否显示正常,如LCD1602显示屏是否可以正常显示距离、光照和时间,蜂鸣器是否可以正常发出响声,LED是否可以闪烁等。接下来就可以进行各个功能测试。
系统正常工作状态如图13所示。测得的距离值为0.44 m,光照强度为76 lx,蜂鸣器未发出响声,LED指示灯D1熄灭。
当坐姿过于靠近时,如图14所示,系统发出警示,蜂鸣器发出响声,LED指示灯D1被点亮。测得的距离为0.27 m,小于所设定的0.3 m,因此报警;光照强度为72 lx,时间为39 s。
光照强度过强时也会引发报警,仿真结果如图15所示,测得的距离为0.46 m,坐姿距离处于正常状态下;光照强度为85 lx,大于设定的最高值80 lx,因此蜂鸣器发出响声,LED指示灯D1闪烁。
光照强度过弱时同样也会触发报警,仿真结果如图16所示,测得的距离为0.44 m,坐姿距离处于正常状态下;光照强度为6 lx,小于设定的最低值20 lx,因此蜂鸣器发出响声,LED指示灯D1闪烁。
4.2" 系统测试
首先进行功能验证,实验的基础是要确保所有模块都能够正常工作。检查模块的初始化程序能否正常运行,是否存在错误,能否实现所需的功能。第二,进行距离检测,通过实际测量,验证超声波测距所得到的结果是否准确,能否处于正常的误差范围之中。第三,设置报警阈值,因为使用的用户是不同的,所处的环境是不同的,所以应考虑到种种情况,合理设置阈值。对于不同的用户群体,可以分别重新设置报警数值,便于提高使用范围,普及更多的使用群体。第四,针对场景的适应性,进行多组实验,测试在不同的光照强度下系统的准确性、稳定性,验证系统能否灵活适应环境的变化,扩大使用场景。
先将距离的警戒值设置为0.3 m,定时设为45分钟,光照强度上限设为80 lx,下限设为20 lx。距离及时间设置界面如图17所示,第一行为超声波测距设置距离范围界面,小于此数值便会报警;第二行为设置时间界面。光照强度设置界面如图18所示,第一行为光照强度上限设置,第二行为光照强度下限设置。
当用户保持正常的坐姿时,系统工作一切正常。测得的距离值为0.35 m,光照强度值为60 lx,计时为34 s。蜂鸣器未响,LED指示灯未被点亮,测试结果如图19所示。
坐姿过于靠近的测试结果如图20所示,当用户坐姿过于靠近时,系统开始警示。测得的距离值为0.27 m,小于设定的0.3 m,所以报警提醒用户;光照强度值为60 lx,计时为38 s。蜂鸣器开始发出响声,LED指示灯开始闪烁。
在不同的光照强度下进行对比实验,为了方便操作,在接下来的实验中将光照强度上限设定为了70 lx,下限保持不变仍为20 lx。当用户坐姿处于正常状态下,但光照强度过低时会发出报警。光照强度过低的测试结果如图21所示,光照强度为8 lx,小于设定的最低值,蜂鸣器发声,LED指示灯闪烁。
当用户坐姿仍然处于正常状态时,光照强度过高也会引起报警提醒用户。此时的测试结果如图22所示,光照强度为72 lx,大于设定的最高值70 lx,蜂鸣器发声,LED指示灯闪烁。
4.3" 测试结果及误差分析
对所要求测量范围3~200 cm内的平面物体做了50次实验,记录测量结果如表1所示。从表中数据可以得出:最小的误差为0 cm,最大的误差为2 cm,准确监测坐姿状态的成功率达到90%。结合实际生活场景,此设计可以较好地监测用户坐姿状态,并且准确监测的成功率较高,满足坐姿纠正功能。
从实验结果来看,设计的系统虽有一定误差,但既简单又有效,相较于市面上的大多数智能坐姿矫正器成本低,以便可以被普通消费者所接受,并且易于安装和使用,减少对用户造成不便,不需要复杂的设置或调试,可以及时纠正不良坐姿,有目的性地改善自身的坐姿问题。
5" 结" 论
本文阐述了基于STC89C52单片机的坐姿矫正系统的设计过程及测试结果。通过超声波传感器对用户与被测物体的距离进行实时监测,通过光敏电阻对所处环境的光照强度进行实时监测,并通过单片机处理收集到的数据,当测得的距离或者光照强度任意一者超出正常范围时,单片机通过驱动蜂鸣器报警,提醒用户注意纠正。分析表明,该坐姿矫正系统可以较好地监测用户坐姿状态,并且准确监测的成功率较高,满足坐姿纠正功能,为未来的趋向于智能化的坐姿纠正系统奠定了基础。
参考文献:
[1] 李林翰.基于深度学习的人体异常坐姿识别方法研究 [D].贵阳:贵州大学,2023.
[2] 张沛涛.长时间坐姿使用手机颈肩肌肉疲劳的变化特征及干预研究 [D].天津:天津体育学院,2023.
[3] 郑台台,姚燕,蔡晋辉.基于三维坐姿的压力数据自动标注方法 [J].仪器仪表学报,2023,44(10):71-79.
[4] 牛连丁,孙剑明,杨硕,等.基于坐姿压力检测的人脑注意力分析研究 [J].智能计算机与应用,2024,14(6):95-101.
[5] 国鑫,吴翔昊,王语奇,等.具有坐姿纠正功能的联网智能台灯系统设计 [J].长江信息通信,2023,36(11):26-29.
[6] 孟彩茹,孙明扬,宋京.智能化坐姿监测机器人控制系统的研究 [J].机械设计与制造,2021(12):273-276+281.
[7] 刘艳峰.基于STM32单片机智能台灯控制系统的设计 [J].工业控制计算机,2023,36(3):142-143+146.
[8] 陈玉瑜,乔生红,陆宇辉.一种触碰报警坐姿矫正器的设计 [J].机电工程技术,2021,50(6):161-162.
[9] 王毅,王恺,张艺谭,等.基于超声波传感器的智能跟随系统设计 [J].传感器与微系统,2021,40(8):92-95.
[10] 区娟兰,王桐,付焕森,等.具有光照度检测和坐姿矫正的智能台灯研制 [J].工业控制计算机,2023,36(3):149-150.
作者简介:李娜(2002—),女,汉族,陕西咸阳人,本科在读,研究方向:信号处理;通信作者:王威(1980—),男,汉族,陕西西安人,副教授,博士,研究方向:电磁场与微波技术。