生物反馈技术是将人的生理心理信息反馈给受试者,受试者可以根据反馈信息自我训练的技术。本文利用光电式脉搏传感器采集脉搏信号,经过滤波和放大,将模拟量信号输入控制器Arduino进行A/D转换和数据处理,利用蓝牙串口HC06将信号传输至PC端Processing上位机显示,将结果反馈给受试者,达到生物反馈治疗的目的。 Biofeedback technology is the feedback of the human physiological and psychological information to the subjects. According to the feedback information, the subjects can carry out self-training. The photoelectric pulse sensor gathers pulse signal, and the signal will be filtered and amplified, which inputs the Arduino controller for A/D conversion and data processing. The signal will be trans-mitted to the PC using Bluetooth serial HC06. The signal shows in the Processing which can feedback the results to subjects, reaching the biofeedback therapy.
郑锦泉,李竹心,赵熠阳,曹志宇,王蓓
华东理工大学信息科学与工程学院自动化系,上海
收稿日期:2016年5月1日;录用日期:2016年5月22日;发布日期:2016年5月25日
生物反馈技术是将人的生理心理信息反馈给受试者,受试者可以根据反馈信息自我训练的技术。本文利用光电式脉搏传感器采集脉搏信号,经过滤波和放大,将模拟量信号输入控制器Arduino进行A/D转换和数据处理,利用蓝牙串口HC06将信号传输至PC端Processing上位机显示,将结果反馈给受试者,达到生物反馈治疗的目的。
关键词 :Arduino,蓝牙,Processing,生物反馈
生物反馈技术是借助精密的工具将心理生理有关的生物学信息反馈给受试者,受试者在专业人员的指导下进行训练,使受试者可以有意识地控制自身的心理生理活动,以达到调整机体功能、治疗疾病的目的。通过生物反馈训练,可以改变有机体的内环境,改变循环、神经、呼吸、消化等系统的工作状态,为治疗多种疾患提供了新手段。与现代生物医学高新技术相结合,成为增进人类健康的有力工具,同时生物反馈技术具有无痛苦、无副作用,方便使用等优点,因此被许多发达国家所重视,近年来生物反馈技术广泛用于临床治疗。生物反馈技术主要应用于紧张性头痛 [
国内外生物反馈仪器昂贵,仅针对于专业场合,而针对类似家庭式的训练方式有所欠缺;同时采集生物电信号要求高,软硬件成本高。针对以上情况,本课题选用采集方便快捷的脉搏信号,将采集的脉搏模拟量信号进行预处理后,通过蓝牙传输至上位机Processing端,进行数据运算、显示等功能,患者可根据现实的数据及波形进行生物反馈治疗,可以达到减压放松的效果。本课题开发成本低,产品使用方便,可针对于家庭等非专业用户。
目前,主流的脉搏波测量方法有两种:压力脉搏波和容积脉搏波,自1938年Hertzman首次提出光电容积脉搏波描记法(PhotoPlethys-mography, PPG)以来,在20世纪的几十年中,国外许多科学研究人员在容积脉搏波领域中做了大量的基础研究和临床应用研究工作 [
本课题中信号采集采用穿透式光电容积法,传感器由红外发光二极管和红外接收三极管组成,红外接收三极管能在红外光照射下产生电能,将光信号转换为电信号,设计透射式光源和接收器距离相等并且对称,接受透射光,较好地反映出脉搏与时间的关系。可以反映皮肤浅部微动脉信息,适合来提取脉搏信号。该传感器特点为灵敏度高,价格便宜,耐用性好。传感器原理图如图1所示。
由于脉搏信号的频带一般在0.05~200 Hz之间,信号的幅度均很小,一般在毫伏级水平,容易受到各种信号干扰。本课题在传感器后面使用了低通滤波器和放大器,滤波和放大的运放采用运放MCP6004构成的放大器和滤波器,使放大信号可以更好地被单片机的AD采集到,滤波放大电路如图2所示。
图1. 传感器原理图
图2. 两级滤波放大结构图
设计采用运放芯片为MCP6004,MCP6004系列运算放大器是专门为各种通用应用设计的,MCP6004支持轨到轨输入输出,MCP6004系列提供了工业级和扩展级的温度范围。电源供电范围为1.8 V到5.5 V。运放支持四级运放,本电路设计采用其中的两路进行滤波和放大,一路用做电压跟随器,将电压跟随器的输出端接至Arduino的AD采样端。
Arduino是一种开源单片机控制器,采用基于开放源代码的软硬件平台,构建开放源代码的simple I/O接口板,简化了开发流程,开发环境和开发语言简单利于理解。其主要优势包括:价格便宜;跨平台操作,可以运行在Windows、Macintosh OSX和Linux操作系统中;软件开源并并可扩展;硬件开源并可扩展,开发者能够根据设计需求设计自己的模块,可以对其扩展或者改进。使用简单方便,可靠性强。
本课题采用Arduino Nano板,是Arduino USB接口的微型版本,Arduino Nano板尺寸非常小,具有8路模拟量采样口,10位AD转换精度,这意味着它可将0至5 V特之间的输入电压映射到0至1023之间的整数值,本课题中采用模拟量A0口进行A/D转换成数字量信号。同时通过Arduino计算心率,根据相邻两个脉搏波的上升段中间值之差来确定心跳间隔时间(IBI),由此可以计算出BPM的数值。通过Arduino输出数据脉搏波数据,IBI值和BPM值至上位机Processing端。
蓝牙(Bluetooth)是一种支持设备短距离通信的无线电技术,能在包括移动电话、PDA、笔记本计算机、相关外设等众多设备之间进行无线信息交换。经过发展,蓝牙已具备小型化无线电、低功率、低成本、内置安全性、稳固、易于使用并具有即使互联网功能。
本课题蓝牙模块选用蓝牙串口HC06,该模块的4个引脚为别为VCC、GND、TXD和RXD。预留的LED状态输出脚,常亮表示蓝牙已经连接并打开了端口。配对后可作为全双工串口使用,但仅支持“8位数据位,1位停止位,无奇偶校验”的通信格式。同时支持通过AT指令设置波特率、名称、配对密码等。蓝牙串口的发射端链接Arduino,接收端连接PC端,传输波特率为9600。经测试传输信号稳定,无丢包乱码等情况。HC-06蓝牙串口原理图如图3所示。
Processing是由美国麻省理工学院媒体实验室美学与运算小组创立,是一款专为设计师和艺术家所推出的编程语言,Processing提供反馈和交互的能力使它已经成为一个流行的学习编程的方法。其概念是在电子技术的环境下介绍程序语言,并将电子艺术的概念介绍给程序设计师,它是Java的延伸,但是在语法上简单许多,具有许多贴心及人性化的设计 [
上位机主要包括脉搏波形、心率(BPM)、心跳间隔时间(IBI)、视觉动画显示,音乐的播放功能。上位机中的脉搏波形数据、BPM值、IBI值均为Arduino通过蓝牙串口传输过来的数据,数据传输通过Processing中的串行库传入上位机中 [
import processing.serial.*;
Serial port; //创建串口对象
printArray(Serial.list()); //列出所有可获得的串口
Port = new Serial(this, Serial.list()[
串口传输过来的BPM与IBI值直接显示在上位机,传输过来的脉搏波形显示在上位机界面中。视觉动画显示通过Processing中的运动效果来制作,屏幕中有三个大小可变速度可调的圆,可以根据脉搏的情况调整圆变化的速度,使受试者有更舒服的视觉体验。音乐播放功能利用Processing中的Sound功能,Sound功能可以播放、分析和合成声音,本课题采用播放功能,播放音乐库里面舒缓的音乐,配合屏幕上视觉动画,达到缓解心情的效果,Sound功能代码如下:
import processing.sound.*;
SoundFile file; //创建音频文件
file = new SoundFile(this, sample.mp3); //读取音频文件
file.play(); //播放音频文件
Processing上位机效果图如图4所示,利用Processing制作上位机具有简单、经济、交互界面友好等优点,简单经济主要体现在库代码开源、软件开源,开发成本低、开发效率高;交互界面相比于一般编程语言较好,并且效果好,操作简便。
图3. HC06蓝牙串口原理图
图4. Processing上位机效果图
在上位方面,研究一般采用虚拟仪器LabVIEW与C#等编写上位机。首先,LabVIEW与C#编写交互界面较困难,且效果不是很好,而Processing编写的上位机交互界面效果较好;其次,LabVIEW与C#开发效率低,其中LabVIEW软件成本较高,C#开发难度大,相比而言,开源的Processing具有效率高,成本低的特点。
受试者佩戴好传感器和连接好蓝牙串口后,打开上位机Processing运行后,生物反馈系统效果演示如图5所示,图中包括脉搏波形,BPM值与IBI值,以及变换地视觉动画,其中右下角为脉搏波形历史
图5. 生物反馈系统效果图
曲线。开始一段显示的是受试者当前波形,待波形稳定后,受试者可以通过自调节来改变脉搏波形。上位机会对采集的脉搏波进行分析,当心率值相比前时刻较快时或心率值较高时,则Procesing上位机中的视觉动画将会降低缩放速度,播放轻快的音乐,使受试者放松地观察自己的生物反馈信息,进行生物反馈训练。
本课题设计的基于Arduino与Processing的生物反馈系统具有成本低、使用方便的特点。硬件方面采用基础的检测方法,经过放大滤波处理后,经过Arduino运算后输入到上位机,采用开源硬件Arduino,具有硬件成本低,性能稳定的特点;软件方面采用开源软件Processing进行上位机设计,使用简便,交互界面友好,开发效率高。
受试者可以查看自身的脉搏波形和心率值,进行生物反馈训练,配合动画和音乐以达到减压放松的效果。产品成本低,使用方便,易于家庭化使用的。
上海市大学生创新训练资助项目(S14071)。
郑锦泉,李竹心,赵熠阳,曹志宇,王蓓. 基于Processing的生物反馈系统设计与实现Design and Implementation of a Biological Feedback System Based on Processing[J]. 计算机科学与应用, 2016, 06(05): 271-277. http://dx.doi.org/10.12677/CSA.2016.65033