—设计完整,功能可全部实现,有完整报告文档说明、程序以及pcb文件—
可作为:课程设计,STM32实践学习,电子制作等

设计所实现的功能:
利用STM32的AD采集功能实时采集心率传感器信号输出引脚输出的模拟电压,通过将采集到的模拟信号在STM32内部进行运算处理,将数据波形实时显示到OLED显示屏上。并且按下测量键可以进行心率测量,在OLED显示屏上面显示一分钟脉搏数。
1.使用STM32对心率传感器输出模拟电信号来进行模数转换;
2.采集回的数据以波形的形式显示在OLED显示屏上;
3.当按下测量按键时会进行一分钟脉搏次数计算,然后显示在OLED显示屏上;
4.在心率检测仪工作时,心型流水灯会发生相应的流动变化。

设计内容

本文所设计的基于STM32的心率检测仪是利用STM32的AD采集功能实时采集心率传感器信号输出引脚输出的模拟电压,通过将采集到的模拟信号在STM32内部进行运算处理,将数据波形实时显示到OLED显示屏上。并且按下测量键可以进行心率测量,在OLED显示屏上面显示一分钟脉搏数。其中主要实现了使用STM32对心率传感器输出模拟电信号来进行模数转换,并且实时将采集回的数据以波形的形式显示在OLED显示屏上,当按下测量按键时会进行一分钟脉搏次数计算,然后显示在OLED显示屏上,及时了解到自己的心跳次数。

系统总体设计
系统的硬件组成中以STM32为主控制芯片,利用STM32内部自带的AD采集模块进行实时采集心率传感器输出引脚输出的模拟信号,并且将采集到的数据以波形的形式实时显示到OLED显示屏上,其中心型流水灯可以显示测量状态。系统的基本硬件结构图如图2.1所示。

Pulse Sensor 是一款用于心率测量、脉搏波形测量和HRV分析的光电反射式模拟传感器。将其佩戴于手指、耳垂等处,通过导线连接可将采集到的模拟信号传输给Arduino、STM32和STC12C5A等具有模拟采集功能的单片机并转换为数字信号,再通过单片机的简单计算后就可以得到心率数值,此外还可将脉搏波形和心率数值通过串口上传到电脑进行显示。Pulse Sensor心率传感器如图2.2所示。

OLED显示屏是利用有机电致发光二极管制成的显示屏。由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。实验中所采用的OLED 显示屏如图2.3所示。

系统总体硬件搭建
将STM32、Pulse Sensor心率传感器、OLED
屏幕模块以及按键等部分的硬件设计好之后,根据设计中的需求,先是AD采集模块采集到的信号到STM32控制器中,然后通过STM32将数据实时输出到OLED显示屏上,按键可以实时进行控制是否进行心率值显示,并且可以用流水灯进行测量状态显示。按照这几个步骤便可以设计电路图,将系统搭建起来。

主程序设计
将Pulse Sensor心率传感器采集函数、OLED
屏幕显示函数以及按键函数等软件程序在Keil5上设计好之后,根据总体设计要求,先是将所有需要初始化的模块进行初始化处理,然后AD采集函数进行实时运行,将采集到的数据传递到OLED显示波形的函数中,OLED显示函数将实时得到的数据存到一个数组里面,不断地去刷新,然后硬件上面便能够实现在OLED显示屏上显示波形曲线,然后通过也不断检测按键中断是否被触发,如果按键函数传递出的按键值是被按下的状态,则立马启动心率计算的函数,将一分钟的脉搏计算出来并且显示到液晶屏幕上面去。

OLED波形显示测试

OLED显示屏显示波形这部分是AD转化不断将心率传感器输出的模拟量转化成数字量,因为AD的采集速度很快,就可以近似将采集的数字量给连续化,形成在时间点上很密集的数据,在这种情况下就可以在OLED显示屏上近似地显示成一条连续的脉搏线,能够形成示波器显示一条连续的脉搏线在不断的变化的效果。测试时通过手指接触心率传感器来让心率传感器采集数据,其中OLED显示屏显示脉搏波形的测试如图4.2所示。

心率值测试

最后一部分就是能够将一分钟的心率值给准确测试出来,测试中通过手指按压心率传感器,等到OLED显示屏上面的波形稳定之后就按下按键进行心率值的测试,在经过一段时间之后,STM32就将计算的心率值显示在OLED显示屏上,
OLED显示屏显示心率值的测试如图4.3所示。

本文只摘取了设计中的部分文档内容,文档中所设计硬件系统好用,可作为课程设计以及其他电子制作,想要整体设计报告以及PCB文件和程序需要私信,QQ:2859340499。
提供:
(程序:STM32的AD采集,控制OLED显示屏显示波形)
(文档:内容详细,按照课程设计要求编写)
(pcb:整套板子的pcb设计)

基于STM32的脉搏心率检测仪(OLED可以实时显示脉冲波形)的更多相关文章

  1. 给基于对话框的MFC程序添加状态栏并实时显示时间

    转载自丝雪儿 1.首先在string table 里添加两个字串,ID分别为IDS_INDICATOR_MESSAGE and IDS_INDICATOR_TIME 2.在你的 dlg.h 类里面加个 ...

  2. 嵌入式系统及应用课程设计——基于STM32的温湿度监测系统

    大三上学期期末总结,嗯,没错上学期,写在新学期开始,hhh. 上学期学了一门嵌入式系统及应用的课程,期末的课程设计题目是基于STM32的温湿度监测系统. 记得刚开始做课程设计的时候,听说先设计画出原理 ...

  3. 单片机DIY制作-基于STM32单片机甲醛二氧化碳温度湿度采集系统

    基于STM32单片机甲醛二氧化碳温度湿度采集系统 实践制作DIY-GC008-甲醛二氧化碳温度湿度采集系统 一.功能说明: 基于STM32单片机设计-甲醛二氧化碳温度湿度采集系统 二.功能介绍: 1. ...

  4. 基于STM32+华为云IOT设计智能称重系统

    摘要:选择部署多个重量传感器和必要的算法.通过WiFi 通信模块.GPS定位模块,采集车辆称重数据一地理位置信息,并通过网络发送至云平台,设计图形化UI界面展示称重.地图位置等重要信息,实现对称重系统 ...

  5. 基于STM32的uCOS-II移植详解

    百度:基于STM32的uCOS-II移植详解 源:基于STM32的uCOS-II移植详解

  6. 基于STM32的USB枚举过程学习笔记

    源:基于STM32的USB枚举过程学习笔记 基于STM32的USB枚举过程学习笔记(一) 基于STM32的USB枚举过程学习笔记(二) 基于STM32的USB枚举过程学习笔记(三) 基于STM32的U ...

  7. ARM开发(2)基于STM32的蜂鸣器

    基于STM32的蜂鸣器 一 蜂鸣器原理:  1.1 本实验实现1个蜂鸣器间隔1S鸣叫.  1.2 实验思路:根据电路图原理,给蜂鸣器相关引脚赋予高低电平,实现电路的导通,使蜂鸣器实现鸣叫或不鸣.  1 ...

  8. 【安富莱专题教程第1期】基于STM32的硬件RGB888接口实现emWin的快速刷新方案,32位色或24

    说明:1. 首先感谢ST终于推出了ARGB格式的emWin库,可谓千呼万唤始出来,使用STM32的硬件RGB888接口刷新图片慢的问题终于得到解决.2. 这个问题由来已久,是之前为我们的STM32-V ...

  9. 基于stm32的水质监测系统项目基础部分详细记录

    基于stm32的水质监测系统项目基础部分详细记录 软件环境:MDK5 硬件环境:STM32F103ZET6 开发板.颜色传感器.串口屏.串口打印机 搭建工程模板 在进行项目软件的撰写时,首先新建一个基 ...

随机推荐

  1. 洛谷P1149.火柴棒等式(暴力搜索)

    题目描述 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0-9的拼法如图所示: 注 ...

  2. 国人开源了一款小而全的 Java 工具类库,厉害啊!!

    最近栈长看到了一款小而全的 Java 工具类库:Hutool,Github 已经接近 14K Star 了,想必一定很优秀,现在推荐给大家,很多轮子不要再造了! Hutool 是什么 Hutool 是 ...

  3. 【ZJOI2007】棋盘制作 - 悬线法

    题目描述 国际象棋是世界上最古老的博弈游戏之一,和中国的围棋.象棋以及日本的将棋同享盛名.据说国际象棋起源于易经的思想,棋盘是一个 \(8 \times 8\) 大小的黑白相间的方阵,对应八八六十四卦 ...

  4. Uni-app从入门到实战

    前言 uni-app是一个使用vue.js开发跨平台应用的前端框架,开发者只需要编写一套代码,便可以发布到IOS.Android和微信小程序等多个平台.所以我打算学习下这个框架,快速浏览了一遍官网之后 ...

  5. 不安装证书如何通过模拟器+Fiddler抓包APP的HTTPS请求?

    模拟器抓取https方法 说明:为了解决安卓手线上不能抓取https请求,以下整理通过模拟器抓取https请求方法如下:前置条件:安卓模拟器:夜神抓包工具:Fiddler汉化中文升级版1无需FIDDL ...

  6. 非确定性有穷状态决策自动机练习题Vol.1 A.扭动的回文串

    非确定性有穷状态决策自动机练习题Vol.1 A.扭动的回文串 题目描述 \(JYY\)有两个长度均为\(N\)的字符串\(A\)和\(B\). 一个"扭动字符串\(S(i,j,k)\)由\( ...

  7. 在.NET Core中使用MongoDB明细教程(3):Skip, Sort, Limit, Projections

    到目前为止,我们已经讨论了创建文档, 检索文档,现在让我们来研究一下文档排序,指定要跳过或限制返回的文档数量,以及如何进行投影.此篇文章中的实例代码摘录自原文,未像前几篇文章一样进行实际代码的验证. ...

  8. 非对称加密与HTTPS(转)

    序:HTTPS更安全,为什么? 因为HTTP协议本身毫无安全性可言. 当你访问一个纯HTTP的网站(以及与这个网站有任何网络交互)时,你发出去一个请求.在这个请求到达网站服务器的路途上,不管是你家的路 ...

  9. 6.oracle用户管理口令

    一.使用profile管理用户口令概述:profile是口令限制,资源限制的命令集合,当建立数据库时,oracle会自动建立名称为default的profile.当建立用户没有指定profile选项时 ...

  10. Python 源代码代码打包成 whl 文件

    1.检查 python setup.py check 2.打包 python setup.py sdist bdist_wheel || true