基于STM32的脉搏心率检测仪(OLED可以实时显示脉冲波形)
—设计完整,功能可全部实现,有完整报告文档说明、程序以及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可以实时显示脉冲波形)的更多相关文章
- 给基于对话框的MFC程序添加状态栏并实时显示时间
转载自丝雪儿 1.首先在string table 里添加两个字串,ID分别为IDS_INDICATOR_MESSAGE and IDS_INDICATOR_TIME 2.在你的 dlg.h 类里面加个 ...
- 嵌入式系统及应用课程设计——基于STM32的温湿度监测系统
大三上学期期末总结,嗯,没错上学期,写在新学期开始,hhh. 上学期学了一门嵌入式系统及应用的课程,期末的课程设计题目是基于STM32的温湿度监测系统. 记得刚开始做课程设计的时候,听说先设计画出原理 ...
- 单片机DIY制作-基于STM32单片机甲醛二氧化碳温度湿度采集系统
基于STM32单片机甲醛二氧化碳温度湿度采集系统 实践制作DIY-GC008-甲醛二氧化碳温度湿度采集系统 一.功能说明: 基于STM32单片机设计-甲醛二氧化碳温度湿度采集系统 二.功能介绍: 1. ...
- 基于STM32+华为云IOT设计智能称重系统
摘要:选择部署多个重量传感器和必要的算法.通过WiFi 通信模块.GPS定位模块,采集车辆称重数据一地理位置信息,并通过网络发送至云平台,设计图形化UI界面展示称重.地图位置等重要信息,实现对称重系统 ...
- 基于STM32的uCOS-II移植详解
百度:基于STM32的uCOS-II移植详解 源:基于STM32的uCOS-II移植详解
- 基于STM32的USB枚举过程学习笔记
源:基于STM32的USB枚举过程学习笔记 基于STM32的USB枚举过程学习笔记(一) 基于STM32的USB枚举过程学习笔记(二) 基于STM32的USB枚举过程学习笔记(三) 基于STM32的U ...
- ARM开发(2)基于STM32的蜂鸣器
基于STM32的蜂鸣器 一 蜂鸣器原理: 1.1 本实验实现1个蜂鸣器间隔1S鸣叫. 1.2 实验思路:根据电路图原理,给蜂鸣器相关引脚赋予高低电平,实现电路的导通,使蜂鸣器实现鸣叫或不鸣. 1 ...
- 【安富莱专题教程第1期】基于STM32的硬件RGB888接口实现emWin的快速刷新方案,32位色或24
说明:1. 首先感谢ST终于推出了ARGB格式的emWin库,可谓千呼万唤始出来,使用STM32的硬件RGB888接口刷新图片慢的问题终于得到解决.2. 这个问题由来已久,是之前为我们的STM32-V ...
- 基于stm32的水质监测系统项目基础部分详细记录
基于stm32的水质监测系统项目基础部分详细记录 软件环境:MDK5 硬件环境:STM32F103ZET6 开发板.颜色传感器.串口屏.串口打印机 搭建工程模板 在进行项目软件的撰写时,首先新建一个基 ...
随机推荐
- 恕我直言,你可能真没用过这些 IDEA 插件!
一.前言 IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境.IntelliJ在业界被公认为最好的java开发工具. 不是我说的喔,百度百科说的... IDEA 如此好用,插 ...
- 高级搜索树-红黑树(RBTree)代码实现
代码实现 代码参考了<数据结构(c++语言版)>--清华大学邓俊辉 "RBTree.h" #pragma once //#include"pch.h" ...
- 2020-06-20:一句话总结ZK?
福哥答案2020-06-20: 这道题价值不大,但是面试题里有这道题. 分布式协调服务,注册服务和发现,树形结构,监听机制,过半机制. ZooKeeper是源代码开放的分布式协调服务,由雅虎公司创建, ...
- C#LeetCode刷题-树状数组
树状数组篇 # 题名 刷题 通过率 难度 218 天际线问题 32.7% 困难 307 区域和检索 - 数组可修改 42.3% 中等 315 计算右侧小于当前元素的个数 31.9% 困难 ...
- Vue element-ui el-table阻止行选事件
我们经常会在某个table末尾加上操作列来放置button来处理跳转和其他的逻辑 那么当点击button的时候同样也会执行在el-table 设置的 @row-click="handleRo ...
- # 火题小战 A.玩个球
火题小战 A.玩个球 题目描述 给你 \(n\) 种颜色的球,每个球有 \(k\) 个,把这 \(n\times k\) 个球排成一排,把每一种颜色的最左边出现的球涂成白色(初始球不包含白色),求有多 ...
- 谈谈 Qt4 中文乱码的解决
本文只描述Qt4的解决方法,Qt5没有尝试过,不做讨论.网上关于这个话题一搜一大堆,基本无外乎字符集编码的理论,看不明白.直接上代码吧! #include "widget.h" # ...
- mycat数据库集群系列之mycat读写分离安装配置
最近在梳理数据库集群的相关操作,现在花点时间整理一下关于mysql数据库集群的操作总结,恰好你又在看这一块,供一份参考.本次系列终结大概包括以下内容:多数据库安装.mycat部署安装.数据库之读写分离 ...
- web主题适配方案指北
前置知识 在这里了解实现网页主题切换的相关知识. CSS 变量 要实现主题切换需要了解一点 css 自定义属性.当然,本文还提供了其他实现方式,为了不给您接下来的阅读带来阻碍,先了解它. 变量的声明 ...
- Js中的各种高度问题
一.屏幕宽高相关 屏幕高度就是你的整个屏幕高度(开机会亮的那片区域的高度),相关的其他高度划分很简单,就是以任务栏为分界线从而分为两部分. screen.height :屏幕高度. screen.wi ...