找回密码
 注册
关于网站域名变更的通知
查看: 151|回复: 0
打印 上一主题 下一主题

【开源教程9】疯壳·开源蓝牙心率防水运动手环-心率监测

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-8-15 17:58 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
开源蓝牙心率防水运动手环
——疯壳·智能穿戴开发系列   
心率监测

' n9 s  l7 _1 _4 I8 `! a7 c
. `$ G$ _8 G  M; e+ @
9 g3 J7 N- w/ U9 h+ a# i; i, R4 N: z/ c7 G- U* E- ~$ w' {
    1心率测量原理简介
& D5 G$ k: L& b) P0 U* y' v  i' ?( C
2 @1 Y% Q. I" i) l2 D- v    我们手环的心率测量, 采用的是 PPG 光电容积脉搏波描记法原理(PhotoPlethysmoGraphy)。简单来说,就是利用血液中透光率的脉动变化,折算成电信号,对应的就是心率。
1 r& O( b9 i  F$ V    当一定波长的光束照射到皮肤表面时,光束将通过反射方式传送到光电接收器,在此过程中由于受到皮肤肌肉和血液的吸收衰减作用,检测器检测到的广强度将减弱。其中皮肤、肌肉组织等对光的吸收在整个血液循环中是保持恒定不变的,而皮肤内的血液,容积在心脏作用下呈搏动性变化。当心脏收缩时外周血容量最多光吸收量也最大,检测到的反射光强度最小。而在心脏舒张时,检测到的光强度最大,使光接收器接收到的光强度随之呈脉动性变化。最后,我们通过DA14580 的 ADC 采集光接收器的电信号,计算出心率。8 e8 Y9 d$ k+ J- Y
    2硬件设计
# ~0 O* N: K: y6 E2 e4 @
1 g) S2 e- c# G- h    我们的心率传感器由两部分组成,如下图所示。& H, \; J% m( u# A
5 M  a, _* b" a5 w* W& ~- P- `
    第一个张图 HY1303 其实是一个 LED 和一个光传感器,将采集到的光强转换成电压,从第 6 引脚输出。然后通过第二张图 HY232 放大电压。8 s6 q# P) k% _3 M* Y0 O7 o
& ^$ r/ G( A+ s; {" l
    * E" w) z( m8 U+ ]
    图 1
% X! H1 U! A( X+ P* b
; A8 y; w/ N- U  g' P + q8 h4 l" b% h/ \0 \8 r+ M
    图 2
/ @% T& m: c7 |4 H# }) M$ q& E/ O9 G0 n  ]' p) G  b
    3软件设计8 C1 {# n8 D2 Y4 g/ C! ?; {
* T! c& u8 V7 {3 o8 }: p
" M; {' v. \( @8 o
    第一步,就是系统的初始化。
1 r( ?7 P; ]. J$ S7 h& C  I( H0 n# w7 C! m. B* N
   7 K$ `& d8 I0 R( I
    代码1* h8 x9 L+ Z0 Q. b3 [* l

1 z+ z0 A$ s9 y3 y    由于本次要使用串口打印,我们就设置串口管脚,使能串口,对串口进行初
6 C2 u$ t4 J( |: P- x" A, K: ]$ t. K  U6 B- C6 W& n6 i
    始化。
7 F" O' N1 s  K$ q    GPIO_ConfigurePin(UART2_GPIO_PORT, UART2_TX_PIN, OUTPUT, PID_UART2_TX, false);
# O1 T. x" ~% Z) D    GPIO_ConfigurePin(UART2_GPIO_PORT, UART2_RX_PIN, INPUT, PID_UART2_RX, false); 3 d2 b( J% c* P5 c! g
    SetBits16(CLK_PER_REG, UART2_ENABLE, 1);
& E  Z0 k3 s. X% T$ G    // Initialize UART component
& W; i6 N( q1 @- G) `    uart2_init(UART2_BAUDRATE, UART2_DATALENGTH);9 u3 p- U) U9 N/ q) ?6 p9 u
    我们的心率需要的采样周期是 4ms 到 10ms,这里用 的是 10ms,就需要通过 void my_timer_init(void)开启一个定时器。# o  x, O, l" d% I4 r8 d% q
9 ~' g& _7 x2 ]& C' t# N. \
   
' D8 [) w) d& s    代码2. `2 {1 f, h- Z

) E5 S" U+ \: o, T2 Q
0 V0 O' _: r, j4 @0 v+ d4 h" }    每 过 10ms , 定 时 器 0 就 会 产 生 一 次 中 断 , 进 入 回 调 函 数' U' S: o( d* K# M4 O  u

! t1 B/ ?6 F$ O8 F$ Q$ Q    timer0_general_user_callback_function,在回调函数中,我们就使用 ADC 采集数据。
# l* ?' l" [( y# y1 k& s    最后通过函数 ADC_CAPTRUE(adc_heart ,&hr_capture)就可以得到心率值。adc_hreat 是 ADC 数字电压,hr_capture 就是心率值了。; r* u8 E: V! u$ }, C; F

! L( W0 d" n7 j0 x     1 v( m" m# o5 {0 a$ H- ~
    代码3' p4 G. m& u+ O. L' ^/ }3 C

3 \0 L! ^6 ~( k& \# C7 G    
9 ?! P4 @6 j7 n* S9 ^& c    代码4
) w. n- g4 L- ~. q6 o+ a- T& h7 d+ A. s9 B9 U* E1 c
    4实验现象8 O" @0 _8 I/ S9 f- [. }

: X4 C. H( S3 Z  N7 j6 Z; M    首先,插好 Jlink 和 USB 转串口,然后打开打开串口调试助手。' _  N9 G; I/ J+ u" C

' u: u. O1 z. U- T3 x
' ^  [5 F' x% F2 l, q7 e; F& [: K    (1)选择串口号,我们图中是 COM1,这个根据实际情况选择。
' ]2 [- ^7 D, ^% i# r7 M, U+ S& J$ ?3 \0 C
    (2)配置串口参数,波特率为 115200,数据位 8,停止位 1,没有校验位和控制流,与下图一致。
6 o! }  F! E2 L: ]6 \9 i8 p- i    (3)点击打开串口。
% A! c7 i) T. P5 b* d+ T- d/ ?: e/ a2 d8 z( l/ }7 U+ F0 ]3 W' Q
    0 q+ O( b0 O! T. E1 I& r: A$ P
    图 3% v) T' N- W, x' z' i- u+ M
    配置完串口之后,打开我们提供的代码。
5 _* Z; l7 ?/ o& F7 H  l5 Y6 u
; Z4 Y& y6 l4 _/ t: S4 }    (1)点击仿真按键。7 ]/ t% f$ M* {9 p2 k, l1 O1 x! Y
( _# L0 [0 E: `7 H: B6 \, f% B
  ) a; X- w: W! K
    图 43 ~4 ^) u) B4 P
    (2)点击运行代码。
/ {  U$ |3 {/ V# e        
, A4 U- }% H3 ~! B$ m     / _' H, i1 [/ d
    图5& P: D0 i8 l2 ~' q" t# T6 C

2 T$ O" e; z3 j) t; c5 R
4 E' u, l% A& {6 ]: Y) d$ z8 \3 R    完成之后,就能看到串口调试助手接收框信息如下。
" X) b) H. ~1 m  W
5 ^4 h$ a' [. r7 K     , \  r" N# m6 G, n  K
    图 6, G6 C; l! D2 a% R8 [, v- u
" `4 M9 I4 O, @0 }" ?7 H) B

& ]" G0 C6 d! F" B0 T. P. I3 F! |( R/ u. t  f( y$ ^/ H
3 i" k: c: I* i% T" }: S3 u. R. p
文件下载请点击: 7_(100%开源)蓝牙心率防水运动手环_心率监测.pdf (677.56 KB, 下载次数: 0) 2 c; @8 B6 c) B1 H+ F0 {: @
0 F* l# d6 Z! a: R; Q. U

; b! m- c2 j0 p4 [! h0 H7 n. h
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-22 02:35 , Processed in 0.140625 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表