本智能手环系统包括以下:

1、测心率功能

2、测提问功能

3、步数记录功能:步数保存 flash 中,掉电不丢失,0:00自动清零,也可按键清零

4、OLED显示功能:以上三个监测的状态显示在OLED屏上

5、手机端显示功能:使用蓝牙传输以上三个监测状态,在手机app显示

6、RTC万年历功能:OLED屏幕显示万年历,且支持离线使用按键修改时间

主要硬件采购链接:

stm最小系统板 https://m.tb.cn/h.fNy7pcW?tk=XKLr2f8YwWD 第三个套餐
BT06蓝牙模块 蓝牙3.0模块 SPP透传 兼容HC-05/06从机 JDY-31蓝牙模块-tmall.com天猫
ADXL345加速度传感器模块 ADXL345 ADXL335数字式 加速度倾斜度角度传感器模块感应 送资料-tmall.com天猫 第二个套餐
Pulse Sensor心率传感器 1pcs pulsesensor pulse heart rate sensor open source hardwar-淘宝网 (taobao.com) 第一个套餐
DS18B20温度传感器 DS18B20 芯片 可编程数字温度器/温度传感器 TO-92 直插 全新-淘宝网 (taobao.com)
IIC 4针OLED 0.96寸OLED显示屏 SSD1306驱动液晶屏4/7针 IIC/SPI接口白黄蓝色-tmall.com天猫 第三个套餐

这些购买链接仅是给大家一些参考,购物时需谨慎挑选。

一、实物展示

二、原理讲解

1、测心率功能

心率指的是一分钟内的心跳次数,得到心率最笨的方法就是计时一分钟后数有多少次脉搏。但这样的话每次测心率都要等上个一分钟才有一次结果,效率极低。另外一种方法是,测量相邻两次脉搏的时间间隔,再用一分钟除以这个间隔得出心率。这样的好处是可以实时计算脉搏,效率高。由此引出了IBI 和 BPM 两个值的概念:IBI: 相邻两次脉搏的时间间隔(单位:ms) 

                                                                     BPM:心率,一分钟内的心跳次数

 则BPM = 60 / IBI

下面就是如何检测心率了:

首要目标就是识别一个脉搏信号(因为只有找到脉搏信号才能计算时间)

                                                                 ⬇

通过检测波峰来识别脉搏

                           ⬇(如何寻找波峰呢)

设置一个阈值来判断波峰

(当模拟信号超过所设定的阈值时,则认为到达了波峰)

                                                               ⬇(阈值该设为多少合适?可以为定值嘛?)

阈值不能为定值,需设置动态阈值

                                                                          ⬇(多次采集,找最大值、最小值,进行相关计算)

动态计算阈值

至于为什么阈值不可以设置为定值,需要设置动态阈值?因为人在不同时间的脉搏强度是不同的,不能采用一个固定的值去衡量,因此需要计算出当前时刻合适的阈值,如下图所示。

因此,脉搏信号的测量分两步走:①先计算出参考动态阈值

②用动态阈值判断峰值,从而寻找出波峰

找到脉搏的波形后,计算相邻两次的时间

本设计采用特征点的方法,定义信号上升到振幅的一半作为特征点,如此测量两个特征点之间的时间间隔就可得到相邻两次脉冲的时间间隔。

如图所示,相邻两特征点间的时间间隔即为IBI,然后用60/IBI就是心率。

2、测步数

对于步数的检测,大多数设计采用压力传感器,而本设计采用加速度传感器,以“加速度”为相关参数,更具有研究意义。

如图所示,ADXL345加速度传感器可以检测三轴方向上的加速度,在可用于分析跑步或步行的特征当中,我们选择“加速度”作为相关参数。个体(及其相关轴)的运动包括三个分量,分别是前向(“滚动”)、竖向(“偏航”)和侧向(“俯仰”)。

如图,让我们考虑步行的特性。一个步伐,我们将其定义为单位步行周期。行走时左脚(阴影的)会产生相应的加速度,加速、减速往复,并且会在某点有一个峰值。经过容压变换器、增益放大、滤波器和温度补偿后得到类似于正弦波形的电压信号输出。

如图所示:得到三个方向的波形,但Y轴波形更强烈,说明是沿着Y轴前进。

波形的上升沿代表加速度上升,也就是人迈腿;波形的下降沿代表加速度下降,也就是人收腿。

3、OLED屏显示

本项目开发显示功能,屏幕具有两种显示:其一显示万年历,其二显示心率、步数、体温,两种显示使用按键K0切换。

①显示万年历:通过单击K0切换到时间界面,当时间不对时,可点击K1按键进入时间设置界面,重复按下K1时顺序设置年、月、日、时、分(也就是通过按键K1设置不同单位的时间,屏幕中有箭头>,指示当前正在设置的那个单位)然后通过K2、K3按键进行时间修改。

②显示身体状态:当传感器检测到体温、步数、心率等指标发生变化时,进行实时更新,且每天的0:00时会清零步数,也可使用K2按键手动清零。

                            

身体状况显示界面                                    实时时钟                                        时间设置界面

4、APP查看数据

本设计是采用蓝牙传输数据,关于蓝牙的介绍可观看之前的一篇文章HC-05(ZS-040)蓝牙模块使用详情(手机与蓝牙模块、手机蓝牙控制单片机、一对蓝牙之间的通信)_最穷不过要饭、不死总会出头的博客-CSDN博客_zs040蓝牙模块使用方法

手机接受端为一个蓝牙app,可以使用商城里一些,也可以使用AppInventor开发,采用图形化编程,非常简单,自己设计还能掌握新的知识,趁着年轻多学点东西!!!!!!加油!!!!!

关于AppInventor的使用,大家可以关注一个云平台“巴法云平台”,上面有详细的介绍,也可关注b站的一个博主“老巫婆的程序世界”

5、体温检测

本设计选择的18b20,较为简单,不再赘述。

欢迎大家指正交流,有空可以一起讨论代码啊。

制作不易,感谢大家支持,感谢!!!!!!

--------------一个正在努力的人

毕业设计——基于STM32单片机的蓝牙智能手环系统相关推荐

  1. 最简单DIY基于STM32单片机的蓝牙智能小车设计方案

    STM32库函数开发系列文章目录 第一篇:STM32F103ZET6单片机双串口互发程序设计与实现 第二篇:最简单DIY基于STM32单片机的蓝牙智能小车设计方案 文章目录 STM32库函数开发系列文 ...

  2. 70、基于STM32单片机的蓝牙智能热水器控制系统设计温度温控水温水位检测

    毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.PCB图 六.硬件框图 七.程序源码 八.资料包括 摘要 随着社会的发展,人类科技的进 ...

  3. 毕业设计——基于STM32单片机的绿植养护系统(物联网、智能家居、手机APP控制、自动监测土壤湿度)

    本工程包括一下功能:1.环境温湿度监测 2.土壤湿度监测 3.环境可燃气体浓度监测 4.RTC万年历功能 5.数据的实时显示(OLED屏幕.手机app) 6.自动浇水模式.手动浇水模式 ①自动浇水:系 ...

  4. 最简单DIY基于STM32单片机的WIFI智能小车设计方案

    STM32库函数开发系列文章目录 第一篇:STM32F103ZET6单片机双串口互发程序设计与实现 第二篇:最简单DIY基于STM32单片机的蓝牙智能小车设计方案 第三篇:最简单DIY基于STM32F ...

  5. 基于单片机的蓝牙智能家居系统

    设计简介: 本设计是基于单片机的蓝牙智能家居系统,主要实现以下功能: 可通过蓝牙连接手机并进行控制: 可通过按键控制各个模块: 可通过四相步进电机模拟窗帘的开关: 标签:51单片机.四相步进电机.蓝牙 ...

  6. 基于STM32的语言控制智能家居系统

    承接单片机定做 文章目录 前言 一.设计目标及内容: 二.框架思路 三.实现 喜欢请点赞哦! 前言 基于STM32的语言控制智能家居系统,主控使用STM32F103(正点原子战舰板子) 一.设计目标及 ...

  7. B45 - 基于STM32单片机的家庭防火防盗系统的设计

    文章目录 设计要求 实物 人脸识别模块的调试 传感器采集与显示 模块设计 温湿度模块 烟雾浓度MQ2 GSM模块 人脸识别模块 语音报警模块 资源占用 源程序 主程序 处理逻辑 AD/DA转换检测烟雾 ...

  8. STM32开发实例 基于STM32单片机的蓝牙手环

    一.系统设计 本次是基于STM32单片机的简易蓝牙手环,手指放在心率检测处,心率传感器就能实时的检测使用者的心率的变化,并在显示屏上进行显示:通过DS18B20检测体温,体温数值也会在显示屏上进行显示 ...

  9. 基于stm32单片机的WIFI智能联网天气预报自动校时系统(源码+原理图+全套资料)

    资料编号:071 通过wifi 联网获取任何城市的时间和天气,OLED显示,城市位置可以调整, 具体功能请看演示视频  全套资料齐全: 71-基于stm32单片机的WIFI智能联网天气预报自动校时系统 ...

  10. 毕业设计 基于STM32单片机的水箱水位控制系统

    基于STM32单片机的水箱水位控制系统 用32单片机完成对MPX10DP压差传感器的数据采集,然后将采集的信号在OLED12864显示屏上,然后可以用按键设定上下限值,当超过上下值得时候分别控制继电器 ...

最新文章

  1. Go 学习笔记(45)— Go 标准库之 flag(命令行参数解析)
  2. 船舶双向曲率板曲率可视化研究
  3. Python 学习笔记(半ZZ半自己写)
  4. 带你入门 CSS Grid 布局
  5. JavaScript数据结构与算法——列表详解(上)
  6. Windows下RMAN备份脚本
  7. proxomitron 个人代理工具
  8. Mybatis异常--java.lang.IllegalArgumentException: NO ENUM const class org.apache.ibatis.type.JdbcType.i
  9. ServiceStack.Ormlit 使用Insert的时候自增列不会被赋值
  10. find 命令详解 基于文件大小,名字和权限等的查找策略以及-path和-prune的详细解释
  11. 芯片组c236服务器主板,至强E3-1230 v5完美座驾,微星推出全功能C236工作站主板
  12. 十段均衡器开源 android,音频EQ(均衡器) - osc_1jvmu893的个人空间 - OSCHINA - 中文开源技术交流社区...
  13. 棋牌游戏服务器架构设计
  14. IOS磁力下载软件,老司机必备品
  15. 路由器登录校园网解决终端限制问题
  16. seaborn系列 (10) | 盒形图boxplot()
  17. ICE for Linux
  18. day16-17-18.对象序列化和反序列化、API获取数据、python操作Excel/CSV文件、类、面向对象编程(初级及进阶)、继承
  19. datatables 动态表格行合并
  20. PDO 学习与使用 ( 二 ) PDO 数据提取 和 预处理语句

热门文章

  1. ndvi matlab,基于Matlab的NDVI最大合成
  2. 通信教程 | 波特率、比特率、通信速度的区别
  3. gromacs 安装_GROMACS简介与安装
  4. Carson带你学Android:这是一份全面 详细的Android代码命名规范
  5. html生成邮件签名之路(一)
  6. PMP项目管理-项目时间管理(2)
  7. 如何查看源代码及一些代码的解释
  8. java swing 文本域_java文本域
  9. ubuntu16.04 安装 NVIDIA 显卡驱动 +cuda9.0+cudnn +tensorflow AND问题若干
  10. 使用HC05蓝牙模块实现数据无线传输,看完包会