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

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

[复制链接]
STMCU小助手 发布时间:2022-12-23 16:00
设计所实现的功能:
7 y$ }9 m/ s2 k) u( R- y, f' d$ P利用STM32的AD采集功能实时采集心率传感器信号输出引脚输出的模拟电压,通过将采集到的模拟信号在STM32内部进行运算处理,将数据波形实时显示到OLED显示屏上。并且按下测量键可以进行心率测量,在OLED显示屏上面显示一分钟脉搏数。
. B- S; Z1 J% a% w* y1.使用STM32对心率传感器输出模拟电信号来进行模数转换;
) k' ~2 ]1 F" j0 X( {2.采集回的数据以波形的形式显示在OLED显示屏上;
0 f- v/ E$ A. W8 T3.当按下测量按键时会进行一分钟脉搏次数计算,然后显示在OLED显示屏上;5 l7 x" D+ O/ i, v
4.在心率检测仪工作时,心型流水灯会发生相应的流动变化。
0 n/ E9 Q( E) c6 h# _' ^
4 j" a; Z; T7 e( ~& @/ W

5 Y7 R' ^( @1 m6 s设计内容9 |) @4 b; Z: Z2 Q+ Q  _
本文所设计的基于STM32的心率检测仪是利用STM32的AD采集功能实时采集心率传感器信号输出引脚输出的模拟电压,通过将采集到的模拟信号在STM32内部进行运算处理,将数据波形实时显示到OLED显示屏上。并且按下测量键可以进行心率测量,在OLED显示屏上面显示一分钟脉搏数。其中主要实现了使用STM32对心率传感器输出模拟电信号来进行模数转换,并且实时将采集回的数据以波形的形式显示在OLED显示屏上,当按下测量按键时会进行一分钟脉搏次数计算,然后显示在OLED显示屏上,及时了解到自己的心跳次数。
% U; }( [- }/ p- \1 C/ L: s2 G; N/ [, k, f- @- O1 j
* z' E4 x/ A+ E7 @
系统总体设计

7 S3 e4 x' U; Q/ v% n) k系统的硬件组成中以STM32为主控制芯片,利用STM32内部自带的AD采集模块进行实时采集心率传感器输出引脚输出的模拟信号,并且将采集到的数据以波形的形式实时显示到OLED显示屏上,其中心型流水灯可以显示测量状态。系统的基本硬件结构图如图2.1所示。
# x  F* E4 }5 u) ]* }3 m7 a) V$ s: I3 M% i& ?
20200628154606425.png
( t& ]% t* @! I, G3 V
, U1 F" y# u2 C' I" y( ?& x1 P
Pulse Sensor 是一款用于心率测量、脉搏波形测量和HRV分析的光电反射式模拟传感器。将其佩戴于手指、耳垂等处,通过导线连接可将采集到的模拟信号传输给Arduino、STM32和STC12C5A等具有模拟采集功能的单片机并转换为数字信号,再通过单片机的简单计算后就可以得到心率数值,此外还可将脉搏波形和心率数值通过串口上传到电脑进行显示。Pulse Sensor心率传感器如图2.2所示。8 x1 s2 a3 A  j; l+ O+ P
: k0 ^( e% x' o# A! S' x5 E8 O
20200628154737331.png
9 H9 T! h+ R; _6 u5 c) B

. [$ P9 H6 o1 d2 e# J+ dOLED显示屏是利用有机电致发光二极管制成的显示屏。由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。实验中所采用的OLED 显示屏如图2.3所示。; o: n) i) d; ^! N5 r! k
- I7 f/ z' {8 h8 `: `
20200628154829563.png 4 I5 f+ M. b! \( Z4 Z  k
  b9 C+ k: D1 q9 k1 m

1 G, d) D3 D( F系统总体硬件搭建
" t8 M0 ]2 u4 V! ]9 y将STM32、Pulse Sensor心率传感器、OLED 屏幕模块以及按键等部分的硬件设计好之后,根据设计中的需求,先是AD采集模块采集到的信号到STM32控制器中,然后通过STM32将数据实时输出到OLED显示屏上,按键可以实时进行控制是否进行心率值显示,并且可以用流水灯进行测量状态显示。按照这几个步骤便可以设计电路图,将系统搭建起来。
) O( r3 q1 R: i; I
. o; T: W! Q, x8 ?9 _
主程序设计! ~5 Y% [& w% I7 @
将Pulse Sensor心率传感器采集函数、OLED 屏幕显示函数以及按键函数等软件程序在Keil5上设计好之后,根据总体设计要求,先是将所有需要初始化的模块进行初始化处理,然后AD采集函数进行实时运行,将采集到的数据传递到OLED显示波形的函数中,OLED显示函数将实时得到的数据存到一个数组里面,不断地去刷新,然后硬件上面便能够实现在OLED显示屏上显示波形曲线,然后通过也不断检测按键中断是否被触发,如果按键函数传递出的按键值是被按下的状态,则立马启动心率计算的函数,将一分钟的脉搏计算出来并且显示到液晶屏幕上面去。
7 Q$ l* M1 H& y8 W1 J

# g: f( ~, ?3 L; n& V7 v" Q% wOLED波形显示测试! n  |( H& U6 q- U' ^4 w0 U
OLED显示屏显示波形这部分是AD转化不断将心率传感器输出的模拟量转化成数字量,因为AD的采集速度很快,就可以近似将采集的数字量给连续化,形成在时间点上很密集的数据,在这种情况下就可以在OLED显示屏上近似地显示成一条连续的脉搏线,能够形成示波器显示一条连续的脉搏线在不断的变化的效果。测试时通过手指接触心率传感器来让心率传感器采集数据,其中OLED显示屏显示脉搏波形的测试如图4.2所示。
4 B* x: S$ r5 L* w. w: L( I4 \& _4 n9 l5 r# v; Y3 H
20200628155047253.png
. V3 r7 B# e4 d0 b

* i# L, t, d& n0 y& r, a心率值测试8 x0 h! `6 J" a+ Y6 f8 ]% U) ^7 l" L. \
最后一部分就是能够将一分钟的心率值给准确测试出来,测试中通过手指按压心率传感器,等到OLED显示屏上面的波形稳定之后就按下按键进行心率值的测试,在经过一段时间之后,STM32就将计算的心率值显示在OLED显示屏上, OLED显示屏显示心率值的测试如图4.3所示。8 @! ~1 L2 [% f8 c! G! ^/ q
0 \7 B9 S9 E. l! B& k
20200628155117954.png
2 u& y0 x% u  R2 [; f- P5 J
& S. w% k- b: L: Q" d- o————————————————
! s0 U1 ^9 y' T版权声明:FPGA小学生. D5 e9 v( `3 W% g

$ S8 q! u8 k  y3 W
收藏 评论0 发布时间:2022-12-23 16:00

举报

0个回答

所属标签

相似分享

官网相关资源

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