你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32的脉搏心率检测仪(OLED可以实时显示脉冲波形)

[复制链接]
STMCU小助手 发布时间:2022-12-23 16:00
设计所实现的功能:
2 m9 g! y+ t# u- {3 I利用STM32的AD采集功能实时采集心率传感器信号输出引脚输出的模拟电压,通过将采集到的模拟信号在STM32内部进行运算处理,将数据波形实时显示到OLED显示屏上。并且按下测量键可以进行心率测量,在OLED显示屏上面显示一分钟脉搏数。
5 s/ A2 v- [) e+ \# e! a4 L/ [1.使用STM32对心率传感器输出模拟电信号来进行模数转换;
, k" B# B/ t+ ^1 ?, R2.采集回的数据以波形的形式显示在OLED显示屏上;
4 k8 u9 P: \$ q$ S3.当按下测量按键时会进行一分钟脉搏次数计算,然后显示在OLED显示屏上;
. W, s7 w+ A  ?* v4.在心率检测仪工作时,心型流水灯会发生相应的流动变化。, M; b9 u5 h, j1 w0 S0 q4 }0 A

- l  w; e0 U# Q& ]& P7 |. c
: v) O" ~! p1 w( ~
设计内容+ D" @/ _) o3 N1 V. F
本文所设计的基于STM32的心率检测仪是利用STM32的AD采集功能实时采集心率传感器信号输出引脚输出的模拟电压,通过将采集到的模拟信号在STM32内部进行运算处理,将数据波形实时显示到OLED显示屏上。并且按下测量键可以进行心率测量,在OLED显示屏上面显示一分钟脉搏数。其中主要实现了使用STM32对心率传感器输出模拟电信号来进行模数转换,并且实时将采集回的数据以波形的形式显示在OLED显示屏上,当按下测量按键时会进行一分钟脉搏次数计算,然后显示在OLED显示屏上,及时了解到自己的心跳次数。3 U/ u4 w3 z; C* [( c: `& ]

" v, S% I5 d* G3 c

8 v1 ~8 m3 ?( `% U0 T系统总体设计

: u$ k2 _& q& ^2 P, @9 z; @) U: E& n系统的硬件组成中以STM32为主控制芯片,利用STM32内部自带的AD采集模块进行实时采集心率传感器输出引脚输出的模拟信号,并且将采集到的数据以波形的形式实时显示到OLED显示屏上,其中心型流水灯可以显示测量状态。系统的基本硬件结构图如图2.1所示。/ X  X- P+ l: q3 I# W/ w: w
$ D' l/ x2 ~9 c$ k
20200628154606425.png
) n- N" l; y7 S2 @

9 K3 X" q$ ~: J& APulse Sensor 是一款用于心率测量、脉搏波形测量和HRV分析的光电反射式模拟传感器。将其佩戴于手指、耳垂等处,通过导线连接可将采集到的模拟信号传输给Arduino、STM32和STC12C5A等具有模拟采集功能的单片机并转换为数字信号,再通过单片机的简单计算后就可以得到心率数值,此外还可将脉搏波形和心率数值通过串口上传到电脑进行显示。Pulse Sensor心率传感器如图2.2所示。
/ q/ }4 e% E/ S' u, `
. Z# L8 q' r0 _0 _
20200628154737331.png * k0 l" ?. o7 r% T
- k8 y- x0 |9 n0 q4 [5 {; k
OLED显示屏是利用有机电致发光二极管制成的显示屏。由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。实验中所采用的OLED 显示屏如图2.3所示。
2 f) W* w3 X4 c; u9 x
! j$ ?" ?( `* E6 v
20200628154829563.png * K4 U* o1 y& z
2 b/ ^. |/ H. Z; z$ }, @' V

9 o1 L* j0 U+ c' L5 G+ l系统总体硬件搭建1 b- \3 p4 L: A% G
将STM32、Pulse Sensor心率传感器、OLED 屏幕模块以及按键等部分的硬件设计好之后,根据设计中的需求,先是AD采集模块采集到的信号到STM32控制器中,然后通过STM32将数据实时输出到OLED显示屏上,按键可以实时进行控制是否进行心率值显示,并且可以用流水灯进行测量状态显示。按照这几个步骤便可以设计电路图,将系统搭建起来。
' p" L# d  S1 a6 o/ D* {; b. @

/ k( l! C' m( A4 s1 J7 c: p主程序设计' O6 R. f# `1 [/ p) M
将Pulse Sensor心率传感器采集函数、OLED 屏幕显示函数以及按键函数等软件程序在Keil5上设计好之后,根据总体设计要求,先是将所有需要初始化的模块进行初始化处理,然后AD采集函数进行实时运行,将采集到的数据传递到OLED显示波形的函数中,OLED显示函数将实时得到的数据存到一个数组里面,不断地去刷新,然后硬件上面便能够实现在OLED显示屏上显示波形曲线,然后通过也不断检测按键中断是否被触发,如果按键函数传递出的按键值是被按下的状态,则立马启动心率计算的函数,将一分钟的脉搏计算出来并且显示到液晶屏幕上面去。* Y. Q' v7 |5 ]/ n. Q# a
: j. Z+ l  I' X7 N9 ~3 [$ Z
OLED波形显示测试
# }  v3 {! {7 R. M$ wOLED显示屏显示波形这部分是AD转化不断将心率传感器输出的模拟量转化成数字量,因为AD的采集速度很快,就可以近似将采集的数字量给连续化,形成在时间点上很密集的数据,在这种情况下就可以在OLED显示屏上近似地显示成一条连续的脉搏线,能够形成示波器显示一条连续的脉搏线在不断的变化的效果。测试时通过手指接触心率传感器来让心率传感器采集数据,其中OLED显示屏显示脉搏波形的测试如图4.2所示。
) N! X! M: J* o! v( t0 R" f* I1 c; p! v6 w
20200628155047253.png . r1 `- ]  t# {( D. O( F  U8 W

. m" o% {, m1 D+ i$ ]心率值测试
- R& {4 o5 _5 S$ h0 s最后一部分就是能够将一分钟的心率值给准确测试出来,测试中通过手指按压心率传感器,等到OLED显示屏上面的波形稳定之后就按下按键进行心率值的测试,在经过一段时间之后,STM32就将计算的心率值显示在OLED显示屏上, OLED显示屏显示心率值的测试如图4.3所示。
6 q" R8 O! D& E5 j' Y
8 S8 m# ^' o) X! Q6 u8 u 20200628155117954.png
- l9 r) ]( m+ ^& j+ L5 S' `7 L
9 T: O8 R6 K9 U/ L2 W$ K————————————————
) v8 Y; Q2 ?; X$ V版权声明:FPGA小学生
+ p* c! n: k2 M* s* `# p
' i3 L0 g- j6 p8 F" M/ E' a! i& b
收藏 评论0 发布时间:2022-12-23 16:00

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版