当前位置:网站首页>【开发教程9】疯壳·开源蓝牙心率防水运动手环-心率监测
【开发教程9】疯壳·开源蓝牙心率防水运动手环-心率监测
2022-07-27 21:08:00 【efans_Mike】
开源蓝牙心率防水运动手环
——疯壳·智能穿戴开发系列
心率监测
1心率测量原理简介
我们手环的心率测量, 采用的是 PPG 光电容积脉搏波描记法原理(PhotoPlethysmoGraphy)。简单来说,就是利用血液中透光率的脉动变化,折算成电信号,对应的就是心率。
当一定波长的光束照射到皮肤表面时,光束将通过反射方式传送到光电接收器,在此过程中由于受到皮肤肌肉和血液的吸收衰减作用,检测器检测到的广强度将减弱。其中皮肤、肌肉组织等对光的吸收在整个血液循环中是保持恒定不变的,而皮肤内的血液,容积在心脏作用下呈搏动性变化。当心脏收缩时外周血容量最多光吸收量也最大,检测到的反射光强度最小。而在心脏舒张时,检测到的光强度最大,使光接收器接收到的光强度随之呈脉动性变化。最后,我们通过DA14580 的 ADC 采集光接收器的电信号,计算出心率。
2硬件设计
我们的心率传感器由两部分组成,如下图所示。
第一个张图 HY1303 其实是一个 LED 和一个光传感器,将采集到的光强转换成电压,从第 6 引脚输出。然后通过第二张图 HY232 放大电压。
图 1
图 2
3软件设计
第一步,就是系统的初始化。
代码1
由于本次要使用串口打印,我们就设置串口管脚,使能串口,对串口进行初
始化。
GPIO_ConfigurePin(UART2_GPIO_PORT, UART2_TX_PIN, OUTPUT, PID_UART2_TX, false);
GPIO_ConfigurePin(UART2_GPIO_PORT, UART2_RX_PIN, INPUT, PID_UART2_RX, false);
SetBits16(CLK_PER_REG, UART2_ENABLE, 1);
// Initialize UART component
uart2_init(UART2_BAUDRATE, UART2_DATALENGTH);
我们的心率需要的采样周期是 4ms 到 10ms,这里用 的是 10ms,就需要通过 void my_timer_init(void)开启一个定时器。
代码2
每 过 10ms , 定 时 器 0 就 会 产 生 一 次 中 断 , 进 入 回 调 函 数
timer0_general_user_callback_function,在回调函数中,我们就使用 ADC 采集数据。
最后通过函数 ADC_CAPTRUE(adc_heart ,&hr_capture)就可以得到心率值。adc_hreat 是 ADC 数字电压,hr_capture 就是心率值了。
代码3
代码4
4实验现象
首先,插好 Jlink 和 USB 转串口,然后打开打开串口调试助手。
(1)选择串口号,我们图中是 COM1,这个根据实际情况选择。
(2)配置串口参数,波特率为 115200,数据位 8,停止位 1,没有校验位和控制流,与下图一致。
(3)点击打开串口。
图 3
配置完串口之后,打开我们提供的代码。
(1)点击仿真按键。
图 4
(2)点击运行代码。
图5
完成之后,就能看到串口调试助手接收框信息如下。
图 6
边栏推荐
- 远程调试 idea配置remote debug、在远程服务器的程序中,添加JVM启动参数-Xdebug
- What is the difference between concurrency and parallelism?
- J9数字科普:Sui网络的双共识是如何工作的?
- 一加将在2020年释放ODM订单,发力中低端市场
- Apple releases new iPhone se: equipped with A13 bionic processor, priced from 3299 yuan
- NDK 系列(6):说一下注册 JNI 函数的方式和时机
- Bank Marketing预测一个客户购买理财产品的成功率
- Which one is better to request to merge -- three skills of interface request merging, and the performance directly explodes the table
- Binary conversion method
- smartRefresh嵌套多个RecycleView滑动冲突及布局显示不全
猜你喜欢
随机推荐
Apple releases new iPhone se: equipped with A13 bionic processor, priced from 3299 yuan
CPU的控制方式
Join hands with Changjiang storage, jiangbolong launches the world's smallest expansion card
Bank Marketing预测一个客户购买理财产品的成功率
一加将在2020年释放ODM订单,发力中低端市场
数据管理的重点
29.学习Highcharts 使用百分比的堆叠柱形图
Technical certification | Tupo software and Huawei cloud create a new situation of win-win cooperation
2022/7/26
[RoarCTF2019]babyRSA威尔逊定理
BUUCTF-childRSA费马小定理
总投资600亿!富士康半导体高端封测项目正式落户青岛
Binary conversion method
Current situation and future of Nb IOT industry: cross the threshold of 100million shipments and rush to 5g connection!
[JS reverse hundred examples] a public resource trading network, reverse analysis of announcement URL parameters
Nail alarm tool
7.6万人停工!东芝宣布关闭日本所有工厂
远程调试 idea配置remote debug、在远程服务器的程序中,添加JVM启动参数-Xdebug
4小时定单破20000+,自称“百万内最豪华”,国产品牌飘了?
Features of hardwired controller:



![[NCTF2019]babyRSA1](/img/c1/52e79b6e40390374d48783725311ba.gif)


![[RoarCTF2019]RSA](/img/0e/8c8371ccf40094e5b03e502d6ae851.png)

