基于STM32的智能手环wifi连接手机APP(上)

简介: 基于STM32的智能手环wifi连接手机APP(上)

需要原理图工程,源码,PCB工程的朋友收藏,这篇文章关注我,私我吧!!!

请先阅读此部分,再读正文

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!说明:本次设计是在原有的STM32智能手环设计与实现的基础上进行了改进,改进如下:加入ESPwifi模块,替换掉蓝牙模块来实现手机APP的连接,删掉了原手环中的GSP经纬度定位功能,加入了血氧监测功能。

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

对应源码文件下载链接:源码及所有文件资料

正文

基于STM32的智能手环wifi连接手机APP

摘要

本次设计主要组成是STM32单片机电路、ADXL345加速度传感器、心率检测电路、OLED液晶显示电路、电源电路、时钟DS1302和DS18B20温度传感器组成。通过ADXL345测量重力加速度,是用来判断人体状态,根据状态的数值变化进行计步功能。通过心率传感器测试,通过手指脉动放大经过比较器处理后发送给单片机进行心率采集。并将步数、心率,温度、时间等信息显示在液晶OLED上,当跌倒或者数据异常时蜂鸣器报警并且我们也可以通过蓝牙模块把当前的数据发生到手机端进行提醒,本次设计功能比较全面,具有良好的市场前景。

一、研究背景及意义

随着科技与时代不断进步,电子感应与加速计技术出现,取代了以前的技术,因此电子计步器随之而来。电子计数器,振动传感器是目前电子计步器比较重要的两大组成部分。心率是指一般人心脏在安静状态下每分钟跳动的次数,因为年龄或则性别等因素,存在着差异性。这是检验人体健康标准的一大指标,也是本次设计较为突出的一大重点。并且我们还通过温度传感器显示当前温度和时钟芯片显示当前时间便于训练。

在这个大环境的发展格局下,想设计一款集合计步功能和心率体温计时跌倒报警定位检测功能于一身的智能运动手环。

从而达到以下目的:

(1) 有利于社会公共交通安全;

(2) 提高人们法律意识;

(3) 使之便捷、安全、准确、高效,便于提高人体日常红外运动的普及化;

二、实现功能

  1. 以STM32单片机为数据处理中心,通过DS18B20采集当前温度,MAX30102传感器采集当前人体心率值;
  2. 通过DS1302时钟芯片可以方便时刻观察时间;
  3. 通过ADXL345进行计步里程,并且通过OLED液晶显示屏显示当前信息;
  4. 采用按键可以进行修改非常方便快捷;
  5. 通过GPS对当前运动者进行定位如果发生意外情况通过蓝牙模块发送蓝牙进行提醒;
  6. 时钟具有掉电行走功能,重新上电后无需校准;

三、系统方案设计

系统方案设计框图

3.1 单片机芯片选择

方案一:选择ST公司的STC89C52单片机作为主控制器,STC89S52主要是低功耗、高性能器件,具有良好的存储功能。该单片机价格低,功能比较全面, 功耗小,但它是个8位存储器,不能达到实现本次设计的需求,故而因此放弃。

方案二:STM32单片机是一款超低功耗的32位器件,功能性比较丰富,模电数电集中到一个芯片上,可以较好地解决很多问题,实用性比较强。STM32F103C8T6是该系列应用较为广泛的一款控制芯片,该芯片运行在32位系统、支持精简指令集、超低功耗的混合型单片机,具有高可靠性、低功耗、易扩展、体积小、性价比高、电路简单等优势,在精密仪器上被广泛应用,以及很多智能化产品中,提高产品质量,提升经济价值,已成为众多单片机系列中一颗耀眼的新星。因此选择方案二。

3.2 显示器方案设计

方案一 :LED数码管,这种数码管的最大优势是价格较低,性能稳定,可以非常简便的和单片机相连。主要是用于数字显示上,实用性较高。但是数码管显示的数字有限,本次设计涉及数字较多,因此达不到设计的要求,此方案放弃。

方案二: 选择OLED液晶显示,常和单片机配合使用,他可以显示大量的数据,文字等等,显示的位数也比较多,外观较好,清晰,并且它的程序编写起来比较简单。经济方面价格也比较低廉,其中OLED液晶显示屏随是比较有特色的一款,很适用于本次设计,综合下来选择此方案。 故选择方案二。

3.3 倾角传感器设计

方案一 :选用陀螺仪来检测位置的信息,功能比较强,精度准确,稳定性强,但是此器件精度要求高,控制起来较为复杂,不适用于本次设计。

方案二:选用ADI公司的倾角传感器ADXL345模块来检测位置的信息,ADXL345功能比较全面,有很多存储空间,其成本预算较低,便于控制。因此选择方案二。

3.4心率检测传感器设计

方案一 :选用压力传感器收集心率血氧数据,但其抗干扰能力较差,会对设计测量产生偏差,且测量的难度相对较大,很难达到本次设计的预期目的,所以排除此方案。

方案二 :选用MAX30102红外模块采集心率信号,此模块对管心率信号采集较为稳定,其抗干扰能力较强,测量的数值比较准确,波形稳定,相对于本次设计是一个很好的选择。故选择方案二。

3.5 温度传感器设计

DS18B20温度传感器是美国达拉斯(DALLAS)半导体公司推出的应用单总线技术的数字温度传感器。该器件将半导体温敏器件、A/D转换器、存储器等做在一个很小的集成电路芯片上。温度传感器之所以选择单线数字器件DS18B20,是在经过多方面比较和考虑后决定的,此传感器不但可以防水温度检测的范围比较广,价格低廉而且使用起来也比较方便。

3.6 无线数据传输设计

方案一 :选择采用NRF24L01模块进行传输,但是传输过程中需要只是2快板子分为主从才可以进行无线通信。

方案二: 选用HC05蓝牙模块,我们只需要通过此模块进行串口通信在手机端下载厂家提供的APP就可以完成数据的传输和显示,价格也比较便宜传输数据稳定。故选择方案二。

3.7 时钟模块设计

方案一 :选择单片机内部时钟,通过程序来显示当前的信息和参数,不需要外接传感器,但是内部时钟精度较差,非常容易产生积累误差并且无法掉电行走。

方案二 :选用DS1302时钟芯片,此芯片价格便宜,是专门用来处理万年历方面的信息,精准度较高,并且数据可以通过电子进行掉电行走,上电后无需重新设置。故选择方案二。

四、硬件电路设计

4.1 STM32单片机介绍

单片机的最小系统应能让单片机正常工作并且能够正常的发挥其功能的一个集成在一块芯片上的完整计算机系统。它是一个小型的电脑设备所具有的那样拥有者明显的大脑,也就是控制的核心。同时,也具有一些输出设备,还有就是定时器,能够作为时间的控制中心,具有作为通讯的接口,把所有需要用到的都集中在一个小小的芯片之上,这就是单片机。当然单片机现在的发展已经比较先进,我们来看一下作为最基本的存在它是怎样的。如下图:

STM32F103是STM32f101的增强型单片机,在32位的MCU中性能最强;具有出众的控制和通讯,非常适合低电压/低功耗的应用场合。下图为STM32内核:

对于本次设计,我们选择的单片机是STM32F103C8T6单片机。此单片机和51系列相比多了很多功能,不但运行速度比51单片机要快很多,自带2个AD转换,方便我们在设计烟雾和CO的时候免去了需要加外部ADC进行转换,非常方便;

STM32实物图如下图所示:

4.2 主要功能模块电路设计

4.2.1 电源电路设计

单片机的电源采用直流5V供电,电源模块包括一个3脚的电源座子和6脚的电源开关。电源座子用于连接外部的电源插头,电源开关用于控制整个单片机的电路开和关。原理图如下:

4.2.2 ADXL345倾角传感器电路设计

ADXL345的内部功能结构如下图所示,X、Y、Z三个相互正交的的方向上的加速度由 G-Cell传感器感知,经过容压变换器、增益放大、滤波器和电压信号输出。然后我们就可以得到步数,我们设置步数距离后可以通过步数在计算里程,ADXL345内部功能图如下:

ADXL345的三个相互正交的测量方向如下图,固定在人体上后,这三个方向上的数据意义也就随之确定了。

引脚配置(顶视图):

ADXL345是一款小而薄的超低功耗3轴加速度计,分辨率高(13位),测量范围达±16g。数字输出数据为16位二进制补码格式,可通过SPI(3线或4线)或I2C数字接口访问。ADXL345非常适合移动设备应用。它可以在倾斜检测应用中测量静态重力加速度,还可以测量运动或冲击导致的动态加速度。其高分辨率(3.9mg/LSB),能够测量不到1.0°的倾斜角度变化。

4.2.3 心率传感器电路设计

测心率实际上也在同时检测血氧,只是基于本模块我们只用到心率检测,把血氧检测到的数据不显示,所以实际在运用的时候我们也在同时测血氧饱和度。

MAX30102 是一个集成的脉搏血氧仪和心率监测仪生物传感器的模块。它集成了一个红光 LED 和一个红外光 LED、光电检测器、光器件,以及带环境光抑制的低噪声电子电路。

原理说明:

传统的脉搏测量方法主要有三种:一是从心电信号中提取;二是从测量血压时压力传感器测到的波动来计算脉率;三是光电容积法。前两种方法提取信号都会限制病人的活动,如果长时间使用会增加病人生理和心理上的不舒适感。而光电容积法脉搏测量作为监护测量中最普遍的方法之一,其具有方法简单、佩戴方便、可靠性高等特点。

4.2.4 OLED显示屏电路设计

有机发光显示器(Organic Light Emitting Display,OLED)是一种新型发光和显示器件。OLED实质上是一个薄膜器件,即在阳极和阴极之间夹多层有机薄膜组成的稳定的绿色有机薄膜电致发光器件。当有电流通过时,这些有机材料就会发光。OLED使用普通的矩阵交叉屏,OLED位于交叉排列的阳极和阴极中间,通过对阳极和阴极组合的选通,可以控制每一个OLED的点亮。

液晶显示模块电路如图所示,P5是一个4孔的排针,专门供OLED液晶显示屏使用,5V是指接的5V电压;显示屏的SCL引脚连接的是单片机的B6引脚,通过SCL引脚传输串行时钟数据;SDA引脚连接的是单片机的B7引脚,通过SDA引脚传输串行数据。

4.2.5 DS18B20温度电路设计

DS18B20 是美国 DALLAS 半导体公司推出的应用单总线技术的数字温度传感器。它的主要技术特性如下:

① 具有独特的单线接口方式,即微处理器与其接口时仅需占用 1 位I/O 端口;

② 支持多节点,使分布式多点测温系统的线路结构设计和硬件开销大为简化;

③ 测温时无需任何外部元件:

④ 可以通过数据线供电,具有超低功耗工作方式:

⑤ 测温范围为-55~+125℃,测温精度为±0.5℃:

⑥ 温度转换精度 9-12 位可编程,能够直接将温度转换值以 16 位二进制数码的方式串行输出。12 位精度转换的最大时间为 750ms。

DS18B20温度传感器结构图:

4.2.6 DS1302时钟电路设计

DS1302是一款专门处理时钟的芯片,晶振为32.768,

1、由美国DALLAS公司推出。

2、它是一种高性能、低功耗、带RAM的实时时钟电路。

3、DS1302使用方便,接线简单,适合此电子时钟的设计制作。

4、DS1302可以对年月日时分秒等进行计时,并且带有闰年补偿功能。

5、它可以一次传送多个字节的时钟信号。并且内部有存放数据的RAM寄存器

6、DS1302的 工作电压宽达2.5~5.5V。同时还提供了对后备电源的引脚。

1引脚:VCC2为主电源引脚。

8引脚:VCC1备用电源引脚。

备注:DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。由于本设计未引用备用电源,只引用了1引脚,主电源引脚。

2和3引脚:X1、X2外接晶振引脚。(外接32.768kHz晶振)

4引脚:GND为接地引脚。

5引脚:CE/RST为复位/片选线。通过把RST输入驱动置高电平来启动所有的数据传送。

RST接通控制逻辑,允许地址/命令序列送入移位寄存器;

RST提供终止单字节或多字节数据的传送手段。

6引脚:I/O为数据输入输出口。在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。

7引脚:SCLK为串行时钟,输入。


基于STM32的智能手环wifi连接手机APP(下)+https://developer.aliyun.com/article/1627381

目录
相关文章
|
1天前
|
传感器 数据采集 移动开发
基于STM32的智能手环wifi连接手机APP(下)
基于STM32的智能手环wifi连接手机APP(下)
7 0
|
4天前
|
缓存 小程序 索引
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
29 1
|
4天前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
44 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
10天前
|
JavaScript 前端开发 小程序
uniapp一个人开发APP关键步骤和考虑因素
uniapp一个人开发APP关键步骤和考虑因素
34 0
uniapp一个人开发APP关键步骤和考虑因素
|
22天前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
|
26天前
|
XML 移动开发 前端开发
使用duxapp开发 React Native App 事半功倍
对于Taro的壳子,或者原生React Native,都会存在 `android` `ios`这两个文件夹,而在duxapp中,这些文件夹的内容是自动生成的,那么对于需要在这些文件夹中修改的配置内容,例如包名、版本号、新架构开关等,都通过配置文件的方式配置了,而不需要需修改具体的文件
|
26天前
|
存储 开发工具 Android开发
使用.NET MAUI开发第一个安卓APP
【9月更文挑战第24天】使用.NET MAUI开发首个安卓APP需完成以下步骤:首先,安装Visual Studio 2022并勾选“.NET Multi-platform App UI development”工作负载;接着,安装Android SDK。然后,创建新项目时选择“.NET Multi-platform App (MAUI)”模板,并仅针对Android平台进行配置。了解项目结构,包括`.csproj`配置文件、`Properties`配置文件夹、平台特定代码及共享代码等。
|
4天前
|
小程序
uni-app开发微信小程序使用onPullDownRefresh(下拉刷新)总结
uni-app开发微信小程序使用onPullDownRefresh(下拉刷新)总结
45 0
|
1月前
|
Web App开发 Java 视频直播
FFmpeg开发笔记(四十九)助您在毕业设计中脱颖而出的几个流行APP
对于软件、计算机等专业的毕业生,毕业设计需实现实用软件或APP。新颖的设计应结合最新技术,如5G时代的音视频技术。示例包括: 1. **短视频分享APP**: 集成FFmpeg实现视频剪辑功能,如添加字幕、转场特效等。 2. **电商购物APP**: 具备直播带货功能,使用RTMP/SRT协议支持流畅直播体验。 3. **同城生活APP**: 引入WebRTC技术实现可信的视频通话功能。这些应用不仅实用,还能展示开发者紧跟技术潮流的能力。
75 4
FFmpeg开发笔记(四十九)助您在毕业设计中脱颖而出的几个流行APP
|
8天前
|
机器学习/深度学习 搜索推荐 数据挖掘
北邮移动互联网应用大作业实验报告《云账本app》开发
北邮移动互联网应用大作业实验报告《云账本app》开发
22 0