STM32单片机智能手环心率计步器体温

简介

STM32F103C8T6单片机核心板电路、ADXL345传感器电路、心率传感器电路、温度传感器和lcd1602电路组成。通过重力加速度传感器ADXL345检测人的状态,计算出走路步数、走路距离和平均速度。过心率传感器实时检测心率,通过温度传感器检测温度。通过LCD1602实时显示步数、距离和平均速度、心率以及温度值。

主要学习ADXL345,心率传感器等等。

设计背景及其意义

  • 计步器是一种颇受欢迎的日常锻炼进度监控器,可以激励人们挑战自己,增强体质,帮助瘦身。早期设计利用加重的机械开关检测步伐,并带有一个简单的计数器。晃动这些装置时,可以听到有一个金属球来回滑动,或者一个摆锤左右摆动敲击挡块。电子计步器主要组成部分是振动传感器和电子计数器。步行的时候人的重心会上下移动。以腰部的上下位移最为明显,所以记步器挂在腰带上最为适宜。所谓的振动传感器其实就是一个平衡锤在上下振动时平衡被破坏使一个触点能出现通/断动作,由电子计数器完成了主要的记录与显示功能,其他的属于热量消耗,路程换算均由电路完成。计步器中一般采用一种加速度计来感受外界的震动。常用的加速度计原理如下:在一段塑料管中密封着一小块磁铁,管外缠绕着线圈,当塑料管运动时,磁铁由于惯性在管中反向运动,切割线圈,由于电磁感应,线圈中产生电流,人体运动时,上下起伏的加速度近似为正弦过程,线圈的输出电流也是正弦波,测量正弦波的频率就可以得出运动的步数,再计算的出距离。
  • 心率(Heart Rate)是用来描述心动周期的专业术语,是指心脏每分钟跳动的次数,以第一声音为准。 心率,现代汉语将心率解释为“心脏跳动的频率”。频率就是在单位时间内,某件事情发生的次数。两种解释合起来就是,心脏在一定时间内跳动的次数,也就是在一定时间内,心脏跳动快慢的意思。
  • 健康成人的心率为60~100次/分,大多数为60~80次/分,女性稍快;3岁以下的小儿常在100次/分以上;老年人偏慢。成人每分钟心率超过100次(一般不超过 160次/分)或婴幼儿超过 150次/分者,称为窦性心动过速。常见于正常人运动、兴奋、激动、吸烟、饮酒和喝浓茶后。也可见于发热、休克、贫血、甲亢、心力衰竭及应用阿托品、肾上腺素、麻黄素等。如果心率在 160~220次/分,常称为阵发性心动过速。心率低于60次/分者(一般在40次/分以上),称为窦性心动过缓。可见于长期从事重体力劳动和运动员;病理性的见于甲状腺机能低下、颅内压增高、阻塞性黄疸、以及洋地黄、奎尼丁或心得安类药物过量或中毒。如心率低于40次/分,应考虑有房室传导阻滞。

方案的设计与论证

由STM32F103C8T6单片机核心板电路+ADXL345传感器电路+心率传感器电路+温度传感器+lcd1602电路组成。

控制方式

STM32单片机,STM32系列处理器是意法半导体ST公司生产的一种基于ARM 7架构的32位、支持实时仿真和跟踪的微控制器。使用ARM最新的、先进架构的Cortex-M3内核,具有优异的实时性能、杰出的功耗控制、出众及创新的外设,并且最大程度的集成整合,十分易于开发,可使产品快速将进入市场。

显示方案

LCD液晶显示,由单片机驱动,它主要用来显示大量数据、文字、图形,能够显示的位数多,显示得清晰多样、美观,同时液晶显示器的编写程序简单,价格便宜,而且功率消耗小寿命长抗干扰能力强。

倾角传感器

采用基于ADI公司的倾角传感器ADXL345模块来检测老人的位置信息,adxl345功能很强大,内置很多寄存器,而且成本低,易于控制。

心率监测模块选择

采用红外模块采集心率信号,红外模块对管采集的心率信号抗干扰能力较强,测量到的心率波形比较稳定,波形也很好;对于设计而言这将是一个很理想的选择。

硬件电路的设计

系统功能分析

  • 1、通过重力加速度传感器ADXL345检测人的状态,计算出走路步数、走路距离和平均速度。
  • 2、通过心率传感器实时检测心率,通过温度传感器检测温度。
  • 3、lcd1602实时显示步数、距离和平均速度、心率以及温度值。

系统总体结构

模块电路的设计

LCD1602液晶显示模块电路设计

LCD显示器分为字段显示和字符显示两种。其中字段显示与LED显示相似,只要送对应的信号到相应的管脚就能显示。字符显示是根据需要显示基本字符。本设计采用的是字符型显示。系统中采用LCD1602作为显示器件输出信息。与传统的LED数码管显示器件相比,液晶显示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电路,现在液晶显示模块已经是单片机应用设计中最常用的显示器件了。LCD1602可以显示2行16个汉字。

LCD1602主要技术参数

  • (1)显示容量为16×2个字符;
  • (2)芯片工作电压为4.5~5.5V;
  • (3)工作电流为2.0mA(5.0V);
  • (4)模块最佳工作电压为5.0V;
  • (5)字符尺寸为2.95×4.35(W×H)mm。

LCD1602采用标准的14脚,其接口的引脚说明

  • (1)第1脚:VSS为地电源。
  • (2)第2脚:VDD接5V正电源。
  • (3)第3脚:V0为液晶显示器对比度调整端。
  • (4)第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
  • (5)第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
  • (6)第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
  • (7)第7~14脚:D0~D7为8位双向数据线。
  • (8)第15~16脚:空脚

控制指令说明

LCD1602液晶模块内部的控制器共有11条控制指令

序号指令RSR/WD7D6D5D4D3D2D1D0
1清显示0000000001
2光标返回000000001*
3置输入模式00000001I/DS
4显示开/关控制0000001DCB
5光标或字符移位000001S/CR/L**
6置功能00001DLNF**
7置字符发生存贮器地址0001字符发生存贮器地址
8置数据存贮器地址001显示数据存贮器地址
9读忙标志或地址01BF计数器地址
10写数到CGRA或DDRAM)10要写的数据内容
11从CGRAM或DDRAM读数11读出的数据内容

1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)

  • (1)指令1:清显示,指令码01H,光标复位到地址00H位置
  • (2)指令2:光标复位,光标返回到地址00H
  • (3)指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。
  • (4)指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁
  • (5)指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标
  • (6)指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符
  • (7)指令7:字符发生器RAM地址设置
  • (8)指令8:DDRAM地址设置
  • (9)指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
  • (10)指令10:写数据
  • (11)指令11:读数据

系统中采用LCD1602作为显示器件输出信息。在本电路中电位器可以调节液晶显示的对比度即清晰度。

实物图

ADXL345倾角传感器模块电路

选择倾角传感器ADXL345模块实时检测相关的状态信息。ADXL345是一款小而薄的超低功耗3轴加速度计,分辨率高(13位),测量范围达± 16g。数字输出数据为16位二进制补码格式,可通过SPI(3线或4线)或I2C数字接口访问。ADXL345非常适合移动设备应用。它可以在倾斜检测应用中测量静态重力加速度,还可以测量运动或冲击导致的动态加速度。其高分辨率(3.9mg/LSB),能够测量不到1.0°的倾斜角度变化。该器件提供多种特殊检测功能。活动和非活动检测功能通过比较任意轴上的加速度与用户设置的阈值来检测有无运动发生。敲击检测功能可以检测任意方向的单振和双振动作。自由落体检测功能可以检测器件是否正在掉落。这些功能可以独立映射到两个中断输出引脚中的一个。正在申请专利的集成式存储器管理系统采用一个32级先进先出(FIFO)缓冲器,可用于存储数据,从而将主机处理器负荷降至最低,并降低整体系统功耗。低功耗模式支持基于运动的智能电源管理,从而以极低的功耗进行阈值感测和运动加速度测量。

ADXL345模块内部电路图。U2即为稳压芯片,实现5V直流电转化为3.3V直流电,C1-C4为滤波电容。R2、R3为上拉电阻,让信号输入更加稳定。D1为电源指示灯,R1为限流电阻,来保护LED灯D1。

ADXL345模块

Pulsesensor脉搏心率传感器模块电路设计

脉搏心率传感器是用来测试心跳速率的传感器,实质是一款集成了放大电路和噪声消除电路的光学心率传感器。可以通过此传感器开发出和心率有关的互动作品。传感器可以戴在手指或者耳垂上。光电传感器将脉搏信号转换为电信号,此装置需要把手指放在传感器表盘上,光电传感器,此传感器是集成了放大电路和噪声消除电路的光学心率传感器,光电传感器一侧的发光二极管发光,当脉搏跳动时,指尖或者耳垂的动脉血管血容量发生周期性变化,透过指尖的光强度同时发生变化。另一侧的光电三极管将接收到的红外光信号转化为电信号。

接口说明

  • (1)+ 外接5V
  • (2)- 外接GND
  • (3)S 输出接口(0和1)

Pulsesensor脉搏心率传感器模块接口原理图

Pulsesensor脉搏心率传感器模块实物图

此脉搏心率传感器理论上输出的波形

LM393比较器模块对Pulsesensor脉搏心率传感器模块滤波的电路原理图

LM393比较器模块具体内部原理图如下图所示。其中R1电阻为分压电阻,将比较器模块检测到的模拟信息转化为模拟电压信号,模拟量信号接入LM393比较器后,即可与LM393比较器芯片2号引脚所接的电位器分压后的模拟电压进行比较,进而得出数字信号(即方波信号)。C1、C2为滤波电容,C1电容对电源进行滤波,让电源输出更稳定。C2电容对模拟信号进行滤波,保证模拟信号输出的稳定性。R2、R3均为限流电阻,来保护LED灯,防止LED灯烧坏,LED灯均为低电平有效。R4为上拉电阻,上拉就是将不确定的信号通过一个电阻钳位在高电平,同时起限流作用。保证LM393比较器输出的高低电平信号在与单片机引脚连接时电平信号的读取更加稳定。

LM393比较器模块实物图

DS18B20温度传感器模块电路

DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。

主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。

DS18B20技术参数

  • (1)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
  • (2)测温范围 -55℃~+125℃,固有测温误差(注意,不是分辨率,这里之前是错误的)1℃。
  • (3)支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。
  • (4)工作电源: 3.0~5.5V/DC (可以数据线寄生电源)
  • (5)在使用中不需要任何外围元件
  • (6) 测量结果以9~12位数字量方式串行传送

DS18B20温度传感器可编程的分辨率为9~12位,温度转换为12位数字格式最大值为750毫秒,用户可定义的非易失性温度报警设置,应用范围包括恒温控制、工业系统、消费电子产品温度计、或任何热敏感系统。试验证明DS18B20温度传感器满足本设计要求。

DS18B20温度传感器封装一般有2种,使用上都是一样的。可以根据使用环境随意选择。第一种是直接是裸露的芯片,主要用于空气温度检测。第2种是不锈钢钢管封装好的,防水,一般用于水温灯液体温度检测。实物图如下:

DS18B20传感器实物图(防水)

DS18B20温度传感器原理图如下。10K电阻为上拉电阻,保证DS18B20传感器数据读取更稳定。

程序流程图

系统运行流程图

点击STM32单片机智能手环心率计步器体温 - 古月居可查看全文

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/520375.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于springboot实现教师人事档案管理系统项目【项目源码+论文说明】

基于springboot实现在线商城系统演示 摘要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本ONLY在线商城系统就是在这样的大环境下诞生,其可以帮助管理…

ZYNQ学习之Petalinux 设计流程实战

基本都是摘抄正点原子的文章&#xff1a;<领航者 ZYNQ 之嵌入式Linux 开发指南 V3.2.pdf&#xff0c;因初次学习&#xff0c;仅作学习摘录之用&#xff0c;有不懂之处后续会继续更新~ PetaLinux工具提供了在 Xilinx 处理系统上自定义、构建和部署嵌入式 Linux 解决方案所需的…

单链表学习

//静态链表&#xff0c;只往后看&#xff0c;找前面必须遍历 //算法题用数组解题更快速 //初始化,头节点为空 //将x插入到头节点 //将x插到结点k的后面 //将下标k的后面的点删掉 #include<algorithm> #include<iostream> #include<cstring> #include<queu…

STL —— list

博主首页&#xff1a; 有趣的中国人 专栏首页&#xff1a; C专栏 本篇文章主要讲解 list模拟实现的相关内容 &#xff11;. list简介 列表&#xff08;list&#xff09;是C标准模板库&#xff08;STL&#xff09;中的一个容器&#xff0c;它是一个双向链表数据结构&#xff0c…

嵌入式开发学习---(部分)数据结构(无代码)

数据结构 为什么学习数据结构&#xff1f; 1&#xff09;c语言告诉如何写程序&#xff0c;数据结构是如何简洁高效的写程序 2&#xff09;遇到一个实际问题&#xff0c;需要写程序去实现相应功能&#xff0c;需要解决那两个方面的问题&#xff1f; 如何表达数据之间的逻辑规律…

20240327-PCL-1.41.0安装说明-VS2022-CMAKE篇

20240327-PCL-1.41.0安装说明-VS2022-CMAKE篇 一、软件环境 Win10 x64 22h2 Junecmake 3.29.1VSCODE v1.87.2GIT v2.29.2标签&#xff1a;win10 22h2 vscode cmake分栏&#xff1a;C 二、硬件环境 Win10 x64的PC台式机 三、下载最新版本PCL-1.41.0 方法一 https://githu…

上市公司股权性质演变:2000-2022年集中度数据深度剖析(5W+数据)

01、数据介绍 股权性质主要指的是股份公司中不同性质的股东即股权所有人的身份&#xff0c;以及他们各自持有的股份比例。在我国&#xff0c;股权性质通常涉及国家股东、法人股东&#xff08;包括机构投资者&#xff09;和流通股东等。 股权集中度则是反映公司股东对管理者的…

博客部署004-成功截图

1、前台client 2、后台管理admin 3、后端API

【Docker】搭建开源免费的书签管理系统 - OneNav

【Docker】搭建开源免费的书签管理系统 - OneNav 前言 本教程基于绿联的NAS设备DX4600 Pro的docker功能进行搭建。 简介 OneNav是一个基于PHP的轻量级网址导航系统&#xff0c;旨在帮助用户整理和访问他们的常用网站。 OneNav的主要特点如下&#xff1a; 美观易用&#x…

【Unity音游制作】音符和音符对象池的创建【二】

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

【Spring进阶系列丨第七篇】Spring框架新注解分类及详解

文章目录 一、Spring新注解1.1、Configuration注解1.1.1、定义一个类1.1.2、使用Configuration注解修饰类1.1.3、作用 1.2、Bean注解1.2.1、定义bean1.2.2、在主配置类中注册bean1.2.3、测试容器中是否有该bean1.2.4、注册bean的同时可以指定bean名称1.2.5、补充内容1.2.5.1、案…

初始Java篇(JavaSE基础语法)(6)(继承和多态)(上)

Java学习篇 个人主页&#xff08;找往期文章包括但不限于本期文章中不懂的知识点&#xff09;&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 目录 继承篇 为什么需要继承&#xff1f; 继承概念 继承的语法 父类成员访问 super关键字 子类构造方法 super和this的比较 再谈…

柯桥外语机构商务英语学习,“五星级”酒店到底是five star还是five stars?这个千万别搞错!

“五星级酒店”的英语表达 关于酒店&#xff0c;大家都知道有星级之分&#xff1b;其中&#xff0c;最高级的酒店当属“五星级”了&#xff1b; 那么问题来了&#xff0c;这个“五星级”的英语&#xff0c;究竟是“five star”&#xff0c;还是“five stars”呢&#xff1f; 其…

11_Spring-IOC/DI

文章目录 SpringIOC控制反转&#xff08;存&#xff09;DI依赖注入&#xff08;取&#xff09;Spring的优点Spring的核心技术入门案例入门案例1入门案例2 注解配置类组件注册功能&#xff08;IOC&#xff09;类直接注册配置类中注册&#xff08;JavaConfig&#xff09; 组件注入…

Premiere Pro 2024:赋予创意翅膀,让你的视频飞翔 mac/win版

Premiere Pro 2024&#xff0c;作为Adobe旗下的旗舰视频编辑软件&#xff0c;自推出以来&#xff0c;一直在视频制作领域占据着重要的地位。随着技术的不断进步和创新&#xff0c;Premiere Pro 2024为用户带来了前所未有的编辑体验&#xff0c;重新定义了视频制作的标准。 Pre…

网络原理 - HTTP / HTTPS(5)——https协议

目录 一、HTTPS是什么 为什么要进行加密 二、“加密” 是什么 三、HTTPS的工作过程 &#xff08;1&#xff09;引入对称加密 对称密钥的特点&#xff1a; &#xff08;2&#xff09;引入非对称加密 非对称加密的特点&#xff1a; &#xff08;3&#xff09;中间人攻击…

【C++】STL--vector

目录 vector的使用 vector的定义 vector iterator的使用 vector空间增长问题 vector增删查改 vector深度剖析及模拟实现 vector核心接口模拟实现 使用memcpy拷贝问题 迭代器失效问题 vector的使用 vector的定义 C中&#xff0c;vector是一个模版&#xff0c;第一个参…

PHP数据类型

华子目录 数据类型PHP的八种数据类型基本数据类型&#xff0c;4类复合数据类型&#xff0c;2类特殊数据类型&#xff0c;2类 类型转换在PHP中有两种类型转换方式其他类型转bool类型其他类型转数值类型实例 类型判断获取和设定变量类型获取gettype(变量名)设置settype(变量名,类…

蓝桥杯单片机第十四届省赛模拟考试一

一、基本要求 使用大赛组委会提供的国信长天单片机竞赛实训平台&#xff0c;完成本试题的程序设计与调试。程序编写、调试完成后&#xff0c;选手需通过考试系统提交以准考证号命名的hex文件。不符合以上文件提交要求的作品将被评为零分或者被酌情扣分。 硬件设置&#xff1a; …

数组-二维数组

本笔记为47 数组-二维数组定义方式_哔哩哔哩_bilibili的学习笔记 二维数组 定义方式 注&#xff1a; 常用第二种方式定义&#xff0c;原因&#xff1a;第二种方式更清晰列数可以省行数不可省 &#xff0c;详见上述第四种定义方式 示例&#xff1a; 二维数组 数组名 作用&am…