本帖最后由 物我两相忘 于 2015-11-13 10:59 编辑 非常幸运,拿到了STM32社区兑换的NUCLEO-L476RG开发板。STM32L4芯片的低功耗高性能是早就听闻的,这次抽出一些时间简单实现了用开发板连接pulse sensor心率脉搏传感器来实现人体心率的读取。 目前,STM32CUBE库已经是ST官方主推的库,配合CUBEMX软件,可以非常方便已图形形式实现STM32全系列芯片的初始化代码,我个人觉得这个功能非常棒!一旦我们熟悉了库的建构和软件的使用,可以极大提高编程速度,减低上手难度,方便代码移植,可以说我的这个帖子的代码就是从我以前写的STM32F411板子移植过来的,前后不过花了十分钟不到就完成了。而且CUBEMX可以生成KEIL,IAR工程,方便了各类开发人员的使用。闲话少叙,下面讲一下步骤。 首先,介绍一下整体思路。pulse sensor心率脉搏传感器是一种光电反射式的心率传感器,利用550nm绿光来探测皮肤下动脉血管的搏动从而测得心率。该传感器构造简单,原理图和arduino代码都可以从官网(http://pulsesensor.com/products/pulse-sensor-amped)下载到,淘宝上也有卖。STM32L4芯片利用一路AD以500HZ频率来采集脉搏信号,通过计算相邻两个脉搏波之间的时间差来推出心率值,然后将脉搏的数字信号和心率值通过串口传给上位机processing软件显示,完成整个采集、计算、显示的过程。 1.使用CUBEMX软件,安装L4的库。配置ADC1,TIM1,USART2三个。 2.直接生成KEIL工程。打开工程后,只需要在main.c文件中添加自己编写的代码就可以了,这时可以注意一下main文件中的注释,个人代码添加的地方都有相应的注释,比如/*USER CODE BEGIN Includes */和/* USER CODE END Includes */中间就可以添加个人需要的头文件,这样添加个人的代码,不会因为cubemx软件的改动重新生成工程而被去掉,非常方便使用CUBEMX进行反复修改。3.实验过程。 传感器一共三个引脚,其中电源和地分别接开发板的3.3V和GND,信号输出端接开发板的A0模拟输入端。 下载好程序后,打开pulse sensor官网提供的processing上位机软件就可以通过串口数据绘制出心率脉搏波形了。 手腕桡动脉处波形 手指端波形。由于信号太强,顶部被削了,不过不影响心率计算。 最后附上KEIL工程和CUBEMX工程文件。关于引脚、外设、程序的具体设置和编写,可以参照。 |
STM32L4 超低功耗微系列及相关探索学习板介绍
STM32L476程序烧录
[Nucleo-L4R5] STM32L4R5 驱动OLED
[Nucleo-L4R5] STM32L4R5 基于OLED显示二维码
STM32L432KC开箱测评------OLED显示
STM32L476建工程及点亮LED
【评测站】STM32L496G-DISCO - 高性价比的智能手表解决方案
【超低功耗STM32L4系列首秀】 收到板子了,
STM32L496G-DISCO的出厂源码在哪儿可以下载?
《STM32L496G-DISCO》工程创建
去淘宝买国内仿制版,连25元人民币都不到!
多谢分享,不错。楼主Arduino的传感器玩的不少啊。