手持式心率监测器

由阿曼Malhotra

354

艾菲测试了sani theo手持设备在医疗保健行业发挥着至关重要的作用。随着传感器变得越来越小和紧凑,使手持设备也变得更容易和负担得起。心率测量系统,或称人力资源机器,现在几乎随处可见,这是智能手表到全尺寸独立机器的一个功能。这是一个简单的手持式测量系统,可以显示一个人的心率OLED显示。

图1所示手拿式心率监测器连接图,由Arduino Nano (Board1)、心率传感器、OLED显示屏、3.7V锂离子电池组成。

连接图
图1:连接图

心率传感器

它用于从一个人的指尖捕捉心率,并将模拟值发送到Arduino板上的微控制器。这个值的范围是0到1024,由Arduino的10位模数转换器模块读取。然后将该值映射到OLED显示屏上显示心率。

Arduino纳米

因为这个项目的目标是经济高效,所以Arduino Nano是这样一个应用的完美控制器。我们想要有模拟引脚的自由,也想要一个小的外形因素。Arduino Nano还具有一个车载I2C数据总线线,可以通过控制器使用任何I2C设备。

该控制器也有较低的电压要求,使其完美的电池为基础的应用。

OLED显示器

它是一个2.44厘米(0.96英寸)的小型OLED显示器,分辨率为128 x 64像素。与传统显示器相比,使用OLED显示器的主要原因是可以完全控制像素,并以图形方式显示数据。

扫描I2C设备

通过首先理解工作在I2C协议上的通信协议,可以配置显示。该协议可用于多种应用。首先编写并测试扫描器代码(i2c_scanner.ino),以找到连接到Arduino板的显示器。代码很简单,可以在以下两个主要部分进行解释:

设置部分

设置部分设置与Arduino的串行连接,并允许以波特率9600接收回数据。波特率决定了数据从Arduino传输到笔记本电脑/工作站的速率。

循环节

循环部分是主要扫描发生的部分。它用于for()循环扫描设备。循环将数据发送到多个地址,然后等待控制器接收回数据。代码然后在串行监视器窗口上显示准确的地址。这个设备扫描代码可以扫描多个设备并显示所有设备。该设备的扫描结果将显示地址为0x3C。这确认了OLED显示屏连接到了Arduino板上。

软件

代码的功能由图2所示的简单框图描述。OLED显示屏将显示如图3所示的数字和图形。

简化的程序流程图
图2:程序简化流程图
手持式心率监测器的输出具有数字数据和线形图
图3:带有数字数据和线形图的手持式心率监测器的输出

代码从导入Adafruit库开始,用于将SSD1306显示到Arduino IDE中。我们进一步定义了OLED显示,并在主代码(heart_rate_monitor.ino)中将地址设置为0x3C。OLED分辨率设置为128 x 64。下一部分将使用所有标准变量配置显示。

代码的设置部分允许捕获显示并配置显示的地址。配置完成后,您需要清除显示的任何垃圾像素,并清除它以显示文本。

之后,我们进入主循环,主循环负责设置流程,并通过Arduino的模拟脚捕获值。Arduino的模拟脚A0用于连接心率传感器。然后,传感器数据存储在名为' value '的变量中。“这个变量被映射到代码的后面部分,以心率显示传感器值。

以下简单的数学公式用于显示心率:

BPM = int(60 /(浮动(BPM) / 1000))

它基本上把脉冲转换成每分钟的节拍(BPM),这样就可以计算出最终的BPM。这里' int '是所需方程的整数值。这样做是为了删除任何类型的小数点(如果生成的话)。

接下来,该程序在Write命令的帮助下在一个线图上绘制所有内容,它创建了最终形成线图的点。最后,该程序还在显示屏幕的末端显示数值BPM值。

将手指放在心率传感器上测量心率,如图4所示。

心率测量
图4:心率测量

下载源代码


Aman Malhotra是印度Proxie Studio的联合创始人兼首席执行官

分享你的想法和评论

请输入您的评论!
请在这里输入你的名字