一种坐姿疲劳预警器设计

2017-07-12 13:22安蒙蒙王殊轶刘智慧王浴屺黄倩文
电脑知识与技术 2017年13期
关键词:程序设计报警单片机

安蒙蒙 王殊轶 刘智慧 王浴屺 黄倩文

摘要:该智能预警设备以单片机arduino UNO为控制器,采用超声波技术来测量距离.完成了智能报警系统的设计。系统设计中用arduinoUNO单片机、HC-SR04超声测距传感器,蜂鸣器等完成系统的硬件设计;以arduino IDE为软件开发环境完成系统的程序设计。系统实现了报警距离的自由设定,坐姿进入报警范围自动报警、坐时过长自动报警等功能,可以达到对错误坐姿进行预警、防止驼背、脊椎侧弯、保护视力等功能。

关键词:单片机;超声波测距;报警;程序设计

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2017)13-0222-03

1概述

随着科学技术的发展,各种电子产品也越来越多,人们经常低头看书或各种电子产品对脊椎和视力危害很大,严重损害身体健康。造成这些危害的原因有很多,其中一个原因就是在读书写字的时候头部离书本太近,时间长了以后造成的颈椎变形,眼睛疲劳。针对不正确坐姿人群在学习或工作时头部与桌面垂直距离太近这一特点。设计的以arduino UNO为控制器,基于超声波测距技术、性能良好、高精确度的坐姿预警系统,整个系统核心器件集中在一个可穿戴式设备一发带上,方便用户使用。

2设计方案说明

报警距离的自由设定是由用户通过电位器来设置的。判断用户头部与桌面的垂直距离采用的方法是间歇的发射超声波来探测用户头部与超声波探头的距离,当用户头部与桌面垂直距离在报警距离以内的时候,15S以内用户坐姿没有回到正确范围,蜂鸣器就会声音警报。同时如果用户保持坐的状态达四小时,蜂鸣器就会声音警报,提示用户休息。

3硬件电路设计

坐姿预警系统系统主要有控制部分、超声波发射与接收部分、报警都分。系统的硬件结构图如图l所示。

3.1超声波发射与接收电路的原理

利用超声波进行测距的时候,超声波发生器T在某一时刻发出一个超声波信号,当这个超声波信号遇到被测物体反射回来后就会被超声波接收器R接收到,如图2。因此,要计算超声波发生器与被测物体的距离d,只需要计算出从发出超声波到收到返回的超声波的时间t.声速为v,则d=vt/2.可以测出超声波发出器到被测物的距离,HC-SR04超声测距传感器是在此基础上基于三角原理即可得出T与R的中点到被测物的距离。

具体原理:采用10口TRIG触发测距,给至少10us的高电平信号;模块自动发送8个40khz的方波,自动检测是否有信号返回;有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。试距离=(高电平时间*声速(340M/S))/2;

本模块性能稳定,测度距离精确。

3.2HC-SR04超声测距传感器的灵敏度测试

测试结果如表1。

作出折线图如图3。

由图3中可知,拟合的直线是y=0.999x-0.06981,R2的值为0.9998。因为R2>0.99,所以这是一个线性特征非常明显的实验模型,即说明拟合直线能够以大于99.99%地解释、涵盖了实测数据,具有很好的一般性,可以作为标准工作曲线用于其他测量。

由实验可知,该传感器在使用过程中最大误差0.8cm.相對精确可以达到测量要求。同时测距范围也满足需要。

3.3报警距离设定部分的设计

为了实现用户的对不同的报警距离的自由设定.采用的方法是用电位器来调节送人AD的电压.单片机利用AD转换获得的数字量来确定用户所设定的报警距离的大小。系统采用的Arduino UNO,采用的微处理器是ATmega328.该版本包括1 4个数字输入输出IO,6个模拟输入10,1 6 M H z的晶体,USB接口,电源接口,烧录头,复位按钮等。完全满足本系统中模拟信号转化为数字信号的精度需要,不过本系统中只用到了8通道AD中的其中一个通道。

3.4报警部分的设计

报警部分利用蜂鸣器的声音报警,如果用户头部距离桌面垂直距离在报警范围内的话。将发出声音来报警;方法是用户头部距离桌面垂直距离在报警范围内且15S以内用户坐姿没有回到正确范围,蜂鸣器就会声音警报。同时如果用户保持坐的状态达四小时,蜂鸣器就会声音警报,提示用户休息。直到探测到用户不在报警范围时才撤销报警,即停止蜂鸣器的报警。蜂鸣器报警的设计是通过一个普通I/O口来控制的一个蜂鸣器。

4软件设计

4.1程序说明

本系统的程序的设计开发在Arduino IDE编程环境中进行,易学易用,故采用的编程语言是C语言。ArduinoIDE是Arduino的开放源代码的集成开发环境,2011年11月30号Arduino官方正式发布了Arduino1.0版本,这个官方的开发环境界面友好,语法简单以及能方便地下载程序,使得Arduino的程序开发变得非常便捷。作为一款开放源代码的软件,Arduino IDE也是由Java、Processing、avr-gcc等开放源码的软件写成,其另一个最大特点是跨平台的兼容性,适用于Windows、Max OS x以及Linux。并且有串行绘图仪:可以查看Arduino运行时的实时数据,Arduino会将串行数据传输到电脑上,在电脑上添加该功能就可以看到数据的变化。于以上种种优点,选择其作为开发环境。

4.2主程序流程图

本系统软件设计部分的主程序流程图如图4所示,其中包括了系统初化,信号发生和接收,蜂鸣器报警的控制、AD数据采集等功能模块。初始化程序中要对所选的Arduino uno单片机的引脚进行工作模式的配置。还有对中断、定时器、AD转换等相关功能寄存器进行初始化。

5结论

最近几年,伴随人机交互等技术的快速发展,在竞技体育、康复治疗、体感游戏等各个方面,人体坐姿别技术得到了普遍应用,但目前还处于刚刚起步。并且大部分都是基于图像处理或者基于压力传感器,光敏电阻等的方法识别人体坐姿,应用超声波测距传感器技术的坐姿识别较少。围绕着这些问题,我们利用了基于超声波测距传感器的坐姿识别方法。通过系统的数据采集,及单片机模块的数据分析判断用户是否处于不正确坐姿并给予报警。

本文的研究结论如下:

1)本文设计超声波测距模块,单片机数据处理模块,及蜂鸣器预警模块。以orduino UNO单片机作为主控制器,采集超声波测距传感测得的数据,判断分析后,对蜂鸣器发出命令。

2)对不同身高,不同坐姿的人群在不同坐姿下,头部到桌面的距离做以实际抽样测量,并经过统计与分析得出正确坐姿及不正确坐姿下,头部到桌面垂直距离的范围。将不同坐姿与头部到桌面垂直距离对应起来。

猜你喜欢
程序设计报警单片机
基于Visual Studio Code的C语言程序设计实践教学探索
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
从细节入手,谈PLC程序设计技巧
基于单片机的便捷式LCF测量仪
LKD2-HS型列控中心驱采不一致报警处理
高职高专院校C语言程序设计教学改革探索
2015款奔驰E180车安全气囊报警
死于密室的租住者
PLC梯形图程序设计技巧及应用