
设计所实现的功能: 利用STM32的AD采集功能实时采集心率传感器信号输出引脚输出的模拟电压,通过将采集到的模拟信号在STM32内部进行运算处理,将数据波形实时显示到OLED显示屏上。并且按下测量键可以进行心率测量,在OLED显示屏上面显示一分钟脉搏数。 1.使用STM32对心率传感器输出模拟电信号来进行模数转换; 2.采集回的数据以波形的形式显示在OLED显示屏上; 3.当按下测量按键时会进行一分钟脉搏次数计算,然后显示在OLED显示屏上; 4.在心率检测仪工作时,心型流水灯会发生相应的流动变化。, M; b9 u5 h, j1 w0 S0 q4 }0 A : 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: `& ] 系统总体设计 系统的硬件组成中以STM32为主控制芯片,利用STM32内部自带的AD采集模块进行实时采集心率传感器输出引脚输出的模拟信号,并且将采集到的数据以波形的形式实时显示到OLED显示屏上,其中心型流水灯可以显示测量状态。系统的基本硬件结构图如图2.1所示。/ X X- P+ l: q3 I# W/ w: w $ D' l/ x2 ~9 c$ k ![]() Pulse Sensor 是一款用于心率测量、脉搏波形测量和HRV分析的光电反射式模拟传感器。将其佩戴于手指、耳垂等处,通过导线连接可将采集到的模拟信号传输给Arduino、STM32和STC12C5A等具有模拟采集功能的单片机并转换为数字信号,再通过单片机的简单计算后就可以得到心率数值,此外还可将脉搏波形和心率数值通过串口上传到电脑进行显示。Pulse Sensor心率传感器如图2.2所示。 ![]() - k8 y- x0 |9 n0 q4 [5 {; k OLED显示屏是利用有机电致发光二极管制成的显示屏。由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。实验中所采用的OLED 显示屏如图2.3所示。 ![]() 2 b/ ^. |/ H. Z; z$ }, @' V 系统总体硬件搭建1 b- \3 p4 L: A% G 将STM32、Pulse Sensor心率传感器、OLED 屏幕模块以及按键等部分的硬件设计好之后,根据设计中的需求,先是AD采集模块采集到的信号到STM32控制器中,然后通过STM32将数据实时输出到OLED显示屏上,按键可以实时进行控制是否进行心率值显示,并且可以用流水灯进行测量状态显示。按照这几个步骤便可以设计电路图,将系统搭建起来。 主程序设计' 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波形显示测试 OLED显示屏显示波形这部分是AD转化不断将心率传感器输出的模拟量转化成数字量,因为AD的采集速度很快,就可以近似将采集的数字量给连续化,形成在时间点上很密集的数据,在这种情况下就可以在OLED显示屏上近似地显示成一条连续的脉搏线,能够形成示波器显示一条连续的脉搏线在不断的变化的效果。测试时通过手指接触心率传感器来让心率传感器采集数据,其中OLED显示屏显示脉搏波形的测试如图4.2所示。 0 R" f* I1 c; p! v6 w ![]() 心率值测试 最后一部分就是能够将一分钟的心率值给准确测试出来,测试中通过手指按压心率传感器,等到OLED显示屏上面的波形稳定之后就按下按键进行心率值的测试,在经过一段时间之后,STM32就将计算的心率值显示在OLED显示屏上, OLED显示屏显示心率值的测试如图4.3所示。 ![]() ———————————————— 版权声明:FPGA小学生 |
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
刘氓兔的64位入门挑战【1】——MP257芯片下单和硬件准备
刘氓兔的64位入门挑战【0】——MP257选型
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享