可监测睡眠质量的智能枕头的设计与实现

2019-04-16 09:35李丹丹田白雪石雪杰奚峻领史金杰
科学与技术 2019年17期

李丹丹 田白雪 石雪杰 奚峻领 史金杰

摘要:当下人们快速的生活方式带来许多睡眠质量的问题,为了更为简单便捷的测量睡眠状况,通过借助心率传感器和血氧模块等来实现物理量的测量,在用Arduino板烧录程序,串口通信实现与蓝牙对接。在通过蓝牙模块与手机APP对接,从而实现对用户睡眠数据的采集。本设备还可以自主扩展OLED、继电器模块,实现可视化、无线化的智能家居控制。

关键词:心率传感器;蓝牙通信;智能枕头

1 概述

在快节奏的工作压力下,睡眠问题逐渐成为青年一代的主要苦恼。而在智能家居逐渐走进大众视野的当下,越来越多的人开始注意到其给生活带来的便捷。对于很多人,利用全新的智能控制方法,以实现对生活质量更便捷准确的把握,是许多现代家庭都在尝试的智能生活体验。随着计算机技术的迅速发展和睡眠监测需求量的增加,低侵扰的非脑电睡眠监测成为一种发展趋势,仅仅依赖心电等生理信号,能大大减轻被测者的不舒适度,同时具有使用效率高、体积小、轻便、舒适度高等优点,对使用环境和操作人员无特殊要求。市场上普遍使用的非脑电睡眠监测产品主要是基于体动和心率的智能监测手环。这些监测设备虽然使用方便,但内置的睡眠监测算法主要是基于运动和心率的进行睡眠时分期的,分期无标准的参考依据,监测准确性不是很高,且容易出错。有些设备甚至存在无法进行自动睡眠判断的问题。在本文中,采取主控模块微处理器将心率传感器检测到的波动通过串口发给蓝牙XM-26B并显示在OLED显示屏上监测,在通过蓝牙模块发送给相同波特率的手机蓝牙APP,记录下每个时间的心跳状态,进行分析处理,提出建议。主控模块设置外部开关,蓝牙模块则通过APP发声相关的控制指令。

2 設计构想

开发智能枕头分为三个主要模块:主控模块、蓝牙模块、传感器模块。本文选择Arduino开发板作为主控系统是因为是目前比较受欢迎的单片机,其主控芯片ATmega328包括了片上32KB Flash,其中0.5KB用于Bootloader。同时还有2KB SRAM和1KB EEPROM。其中最主要的是Arduino能够直接读取传感器输入的模拟量,比较简单。而与睡眠质量有关的身体参数选取心率和血氧,通过这两个参数选择合适的传感器模块。最后要实现设备测量数据的输出,则需要WiFi信号或者蓝牙模块来进行手机端的数据采集。对比WiFi信号,采取更为简便和稳定的蓝牙

3 技术实现

3.1 控制电路设计

本实验包括枕头本体、光电式心率传感器、压电传感器、主控模块、蓝牙通讯模块、电源模块、电压模块、电源开关、蓝牙开关,所述光电式心率传感器、血氧传感器、存储器、蓝牙通讯模块、电源模块设置在枕头本体的内部,主控模块包括嵌入式微处理器与稳压电路。光电式心率传感器用于对使用者进行心率测量,血氧传感器用于测量使用者的血氧含量,主控模块用于接收光电式心率传感器和血氧传感器的测量数据并储存在储存器中,通过连接外设OLED显示屏实时显示。

蓝牙通讯模块用于与外部通信传送光电式心率传感器和血氧传感器的测量数据。取代数据电缆的短距离无线通信技术,蓝牙支持点对点以及点对多点的通信。对蓝牙模块设置参数,将SET部分短接进入设置模式,波特率调至与传感器一致。设置完成恢复,当其指示灯常亮则表示其已成功连接。将考虑到当下蓝牙的稳定性和传输快速性,采用BLE4.0低功耗蓝牙无线透传模块。

在枕头中内置的血氧传感器和光电式心率传感器来搜集心跳、血氧含量数据等从而判断用户在床上的体动记录,人在睡眠状态比其他任何状态活动都小,所以若在一定时间内采集数据的变化幅度小于某一特定值,那么就把这段时间前开始计算为睡眠状态。若数据变化频率和幅度大说明睡眠质量不是很好。枕头可以与手机通过低功耗蓝牙(BLE)实时连接,将数据同步至手机APP中。采用此方案设计的系统如图2。

3.2 控制程序设计

本程序用C语言编程。传感器HXDZ-30102-ACC血氧呼吸模块,首先连接开发板的COM端口,波特率设置为115200,无奇偶校验位。上电后,单片机复位MAX30102并开始对MAX30102进行功能初始化,此时REDLED和IRLED交替点亮 来检测人体皮肤下血液的搏动和df氧含量(此时可以看到MAX30102有红光亮起,说明初始化成功)。单片机将一段时间内MAX30102采集的LED反射数据储存在内部RAM中,然后分别计算RED LED和IR LED的直流成分(DC)和交流成分(AC),最后算出数值R并通过预先储存在FLASH中的查找表来确定当前的SP02。而心率值可以通过对单个LED的交流成分相邻两波峰之间的时间差T来确定,每分钟心跳数BPM=60/T。其中red和ir是红光LED,红外LED的原始数据,HR表示心率值,HRvalid是心率是否有效标识,SP02是血氧数值,SP02valid 是血氧是否有效标识。传感器模块子程序主要完成数据的采集,以及和单片机直接的数据通信等,此部分程序的完成是整个系统软件设计成功与否的关键所在。蓝牙通信模块子程序主要完成手机蓝牙指令的接收,以及和单片机直接的数据通信等。

4 结论

本文通过对Arduino的扩展开发,设计出了能够检测睡眠质量的智能枕头。可以简单快捷的了解自己某个阶段的睡眠质量和习惯,节约了去医院传统测量的时间。本系统还用蓝牙模块开发了手机移动端的控制、分析效果,能够更为有效的满足更多人的需求。

参考文献

[1]彭思,陈淑铃,宋爱国,等. 用于呼吸暂停综合症的呼吸监测系统的研制[J] . 传感技术学报,2008,21(8):132521328 .

[2]张政波,毕亚琼,俞梦孙,等. 穿戴式呼吸感应体积描记用于睡眠呼吸事件检测[J] . 生物医学工程学杂志,2008,25(2):318319 .

[3]李红岩,郑明秋 . 基于 Android 系统的智能电灯控制系统的设计与研究 [J]. 中国管理信息化,2015(22):141.

(作者单位:江南大学)