一种基于Arduino 的简易脉象信息采集系统
2022-08-13孟子寒舒适龙吴小林
孟子寒,舒适龙,吴小林
(重庆邮电大学 通信与信息工程学院,重庆 400065)
0 引言
中医学源自古代中国,在经历长期的实践与发展后,由我国一代代辛勤的劳动人民创造。 中医在给患者看病时,主要通过望、闻、问、切的方式来诊断,脉搏也体现了辩证法和中医的共同理念。 中医切脉即中医师用手按病人的动脉,根据脉象了解疾病内在变化的诊断方法。 脉象是中医辨证的一个重要依据,对分辨疾病的原因,推断疾病的变化,识别病情的真假,判断疾病的预后等,都具有重要的临床意义。 当前,利用人工智能相关技术,以实现中医诊脉的无人化和自动化是医疗健康器械市场的一个热点需求[1-2]。 作为其先决条件,需要构建一套用于仿照中医手法对病人脉象信息进行采集、存储的软硬件系统。 本文基于Arduino Uno 开发板,结合一种特定的薄膜压力传感器,给出一种脉象信息采集系统的快速实现。
1 脉象信号采集原理
脉搏压力信号收集系统主要记录的是桡动脉处随时间推移而变化的压力,也就是收集从左心室射出的血液所造成的压力信号。 以压力传感器为输入的传感器集成模块是当前收集脉搏信号系统最常见的实现手段[3-4],被广泛使用。
1.1 压电式传感器
压电特性的含义:当施加机械应力给某种材料,就会有电荷在其物理形态表面产生,这种电荷与压力成正比。 压电传感器分为以下4 类:压电晶体传感器、压电聚合物传感器、复合压电材料和压电陶瓷传感器。随着科学家们对脉动研究的深入,人们逐渐发现,由聚偏氟乙烯制成的压电传感器应用于各种社会技术,如超声波等。 这些压电特性是1969 年在日本首次发现的。 压电材料具有质量小、反弹性好、适合人体电阻并且具有良好的频带等优点。 因此,科学家们在脉搏采集传感器的生产中慢慢地使用聚偏氟乙烯压电材料,例如一种基于压电晶体的脉象收集系统,基于聚偏氟乙烯压电膜传感器的一种利用无线技术进行脉搏检测的设备,可以形成良好的波形。 聚合物和陶瓷这两种常见的组合具有良好的灵活性和良好的工业特性,不同介质的密度较小、简单,可以和不同介质的阻抗匹和,这些独特的优势使其在医学、传感和其他领域得到广泛应用。
1.2 压磁式传感器
这类传感器是尚不成熟的传感器,目前尚不具备进行研究的条件。 如果在物质表面上设定不均匀力矩,导磁率会发生变化。 然而,由于领域的限制,这些传感器目前很少用于实际生产。 目前,国内使用的压力传感器最为广泛。 尚有一些脉象仪可重复性好,研究使用气动压力、单片微调控制器、弹性脉动传感器、显示器、微打印机完成,特点是3 个位置有可以调节的弹性脉动传感器,腕带与桡动脉寸、关、尺脉位连接在一起,有助于提取标准的脉动信号。
2 系统的实现
2.1 Arduino 控制器
Arduino 是欧洲发展集团于2005 年冬季开发的一个强大的开放源码软件平台,可以通过连接各种传感器来感知周围的环境以及通过照明和发动机等手段对环境产生影响,同时可以通过自身的编译环境生成代码和下载程序到Arduino 开发板,最终达到控制Arduino 开发板的目的。 其配备简单的硬件和软件,灵活和易于使用。 Arduino 开发板的接口支持与不同的控制器和传感器相连接,这有助于开发商以不同的价格和不同的商标选择商品。 此外,Arduino 可跨越平台使用,Arduino IDE 可在包括微软Windows,Linux,Mac OSX 在内的主要平台上运行,并且该平台提供的语言为封装的C 语言,能为其他制造商创造一个完全可见的编程环境。 本项目选用Arduino Uno 开发板,如图1所示。 其基于ATmega328P 微型电路,有14 条轨道的数字斑点的输入/输出(其中6 条可用于PWM 的输出),6 条通道模拟输入、16mHZ 陶瓷谐振器、USB 接口、插座、ICSP 接口和复位按钮。 它包含所有的微型控制器的结构,只需要通过一根USB 数据线连接到计算机。
图1 Arduino Uno 开发板硬件组成
2.2 传感器模块
为了模拟中医诊脉的过程,需要在浮、中、沉3 种不同压力下收集脉搏信号。 这要求所选择的传感器不仅需要收集脉搏信号,还应该便于与压力控制模块相结合。 脉搏信号的准确性和完整性是诊断辅助系统中脉搏识别结果准确性的关键,同时数据的可靠性和准确性影响着进一步的处理数据以及诊断分析结果,因此,正确选择脉搏传感器对研究脉搏采集模块至关重要。 本项目选择康威科技生产的Flexforce 系列FSR 型薄膜压力感应器模块,其基本硬件组成,如图2 所示。其主要特点包括:(1)采用STM8 芯片;(2)可以检测薄膜压力传感器的压力(0 ~20 N);(3)压力值可通过TTL 直接读取;(4)模拟电压输出:0 ~5 V;(5)可以校准压力值,使模块读取的压力值更准确;(6)可设置压力上下限报警并输出数字电平0 V 或5 V (报警灯亮输出5 V 电平,不亮输出0 V);(7)报警极性可设置:可设置为压力上下限内或压力上下限外报警;(8)采用AT 指令方式。
图2 传感器模块硬件组成
2.3 系统搭建与软件编写
选定Uno 开发板上任一模拟输入引脚连接FSR 传感器模块的模拟输出引脚,即可实现系统硬件的搭建,如图3 所示。
图3 采集系统硬件连接
软件方面,本项目采用Arduino IDE 集成开发环境进行程序设计。 该IDE 包含程序控制所需的类库,更便于程序员使用。 开发者只需要使用Arduino 语言编写代码,系统将自动编译为二进制文件并将其写入Arduino 开发板并执行操作,从而快速实现设定的功能。 此外,通过将每个循环的中的采集信号写入上位机的文件,可以保存采集到的脉象信息。
3 采集结果
在一定的压力下将薄膜传感器的输入端固定在被采集人员的桡动脉处,即可利用IDE 端自带的串口绘图器实时展示所采集到的脉压波形图,如图4(a)所示。某位被采集人员的左手脉象信号能够给予较为精细的展示,并同时以文本文件的形式记录到上位机硬盘中进行保存,如图4(b)所示。
图4 采集结果示例