在大三的时候,因为刚开始的时间比较空闲,同时也想学一点东西,于是想着就设计一个作品出来去参加学校的科技作品比赛,于是就做了这么一个东西,最初的构想是通过设计电路板,将传感器集成,从而使得可以直接带在手上,但是技术有限,等待大四慢慢完善吧。

我们的作品的定位主要是独居老人,众所周知的是因为子女工作在外,有许多的老人常年独自一人生活,而老人群体中许多人都患有各种心脑血管疾病,并且需要长期服用药物来维持身体健康;而这类老人的生活自理能力也会受到很大的影响,经常会有新闻报道,一些独居老人在家突发疾病,但因为家中无人,会在几天之后才被发现的惨剧;而我们本次作品的主要目的就是为了解决这类问题,可以明晰的是血压,血糖,血氧饱和度,心率这四样东西可以比较全面的表征一个人的身体健康状态;在本次作品中,我们的便携式设备端,实现了测量心率和血氧饱和度的功能,同时我们将这些数据实时通过云端发送至移动端设备,可以方便独居老人的子女远程查看独居老人的实时身体健康。而针对于老年人记忆力衰退而会经常忘记服用药品或者忘记服用药品方式和数量的现象,我们在便携式设备端可以通过MFRC522对RFID卡的检测,识别出药品的服用方式,并给出语音提醒,而同时老人查看药品的这个动作也会通过云端发送至移动端设备,方便老人的子女查看老人当天的服用药物的情况。

本次作品用到的模块主要有:MAX30102,MFRC522,IC卡高频RFID电子标签,OLED,STM32F103最小系统板,ESP8266WiFi模块,蜂鸣器。

  • 心率血氧模块

  • 原理

氧气在血液中的载体主要是氧血红蛋白(氧Hb),没有氧气的血红蛋白,称之为脱氧血红蛋白(脱氧Hb),血氧饱和度指的是携带氧气的血红蛋白的百分比。血氧的测量主要分为透射式和反射式,目前主流的是透射式,但是两者的原理差不多,都是使用发光二极管(红光RED,红外IR,绿光GREEN和蓝光BLUE等)照射被测部位,然后使用一个光电二极管接收透射或反射的光线,将光信号转换为电信号,然后通过高精度的ADC测量反射回来的电流大小,评估血液中的含氧量。

当我们将手指放在光源和探测器之间时,光线穿过手指到达探测器,部分光线将被手指吸收,未吸收的部分到达光探测器。手指吸收的光量取决于许多物理特性,这些特性可以用于计算血氧饱和度。吸收的光量主要取决于:光吸收物质的浓度,吸收物质中光路径的长度,氧血红蛋白和脱氧血红蛋白以不同的方式吸收红色和红外光。

  1. 物理属性1:吸收的光量与光吸收物质的浓度成正比(啤酒定律)
  2. 物理属性2:吸收的光量与光路径的长度成正比(兰伯特定律)
  3. 物理属性3:氧血红蛋白吸收的红外光比红光多—脱氧血红蛋白吸收的红光比红外光多

氧血红蛋白和脱氧血红蛋白以特定的方式吸收不同波长的光。

脉冲血氧仪便可以利用两个光来分析血红蛋白,一个时红光,波长约为650nm,另一个是红外光,波长约为950nm,我们将氧Hb和脱氧Hb的吸收特性放一起,可以发现,氧Hb吸收的红外光比红光多,脱氧Hb吸收的红光多于红外光。

脉冲血氧仪通过比较血液吸收多少红光和红外光来测量血氧饱和度,不同的氧Hb和脱氧Hb的含量对应着不同的红光量和红外光吸收的比例,使用着比率,我们便可以得出血氧饱和度。下图所示的动态动画显示了这个变化规律,随着氧Hb和脱氧Hb量的变化,红色和红外光吸收的比例也会发生变化,脉冲血氧仪利用该比率计算出氧饱和度。

但在身体部位,如手指,动脉血液不是唯一吸收光的东西。皮肤和其他组织也会吸收一些光,对于一个典型的PPG波形来说(光电二极管接收到原始的光信号波形)。波形(由图中的白色横虚线)可以分为两部分:DC signal和AC singal;其中直流信号由下到上可以分为三个部分的反射:组织,静脉血和不跳动的动脉血;而交流信号就比较单一:由跳动的动脉血反射得到,其中波峰对应心脏的收缩,波谷对应心脏舒张。

脉冲血氧仪使用的是一种称为“发光二极管”的LED,可以发现的是,虽然我们只用了一个红色LED和红外LED,但是实际光探测器还会受到室内环境光的影响,实际上两个LED从未仪器点亮,相反,传感器以特定的顺序快速打开和关闭LED,首先,传感器激活红色LED灯,探测器记录落在它的红光和房间光,其次关闭红色LED打开红外LED,探测器记录落在它的红外光和房间光,最后,关闭红色和红外光,探测器记录现在的光线水平,故而传感器明确现在的房间光的水平,所以它能够从读数中减去它,以获得实际的红色和红外光水平。

上述所说的还只是没有考虑众多影响因素下的理想场景,在实际的过程中脉信号十分的小,故而手指的运动,光学分流,环境光太强,电磁干扰等等皆会影响实际的返回信号,具体更详细的探讨可以查阅https://www.howequipmentworks.com/pulse_oximeter/

  • MAX30102相关事宜

MAX30102系统的框图如下所示,其测量的过程,可以总结为:将RED/IR 光射向皮肤,通过皮肤组织反射回来的光被光敏传感器接收并转换成电信号,再经过AD转换成数字信号,故而我们需要控制的主要是光源LED的电流强度和采样率,光敏传感器的ADC精度等。

具体的代码配置等已经放在我的资源文件里,有需要的可以下载查看。

  • 原始信号的处理

  • 心率检测:对于原始的信号来说,其必定是会有振荡的,而且其峰值的偏移也会较大,为了读取正确的心率和血氧数据,我们就需要去除DC信号,仅保留AC部分;而又因为脉冲是数据出现最大值变化的地方,故而我们需要进一步运用均值中值滤波器将其脉冲提取出来,高大的山峰即是心跳数据。

  • 血氧饱和度测量

将模式切换为SaO2+HR,对于该种模式,我们需要注意的是两个LED的电流不应该设置成一样的,因为这样会导致红色LED的读数非常饱和,为了能够测量两个读数之间的比率,在基准水平上,他们的直流电平应该几乎相同。故而为了达到这个目的,我们可以反复进行比较,直到其两者返回的直流基准差不多相同。不同的血氧饱和度对应着不同的吸收光量的比率,而两个波长之间的比率R可以由以下方程式确定

而SpO2与R的关系实际上是非线性的,但对于一般精度不是很高的场合下,运用以往的经验公式:SpO2=110-25*R,也是可以的,不过最好还是可以对其进行一定的校准,行成查找表。

  • RFID识别模块

本模块由MFRC522读卡器,S50IC卡,蜂鸣器,LED灯组成;我们预先将药物的相关信息存储在S50卡中,之后再通过MFRC522将卡中的数据读取出来,然后控制蜂鸣器与LED灯做出相应动作;后期可以将其更换为语音模块,使其可以将卡中的信息以语音播报的方式展现出来。

本模块所用的IC卡是非接触式的,其内部主要由三部分组成:天线,MPU微处理器,FLASH,ROM;其实现方式其实是LC谐振电路;其工作流程为:读卡机实时的向外发射一定的电磁波,当IC卡进入电磁波的有效范围内时,天性就会接收到电磁波,电磁波的实质是电场与磁场的交变,而变化的磁场则会在天线,MPU和FLASH,ROM组成的闭合回路里产生电流。该电流为MPU提供能源,并同时加载一定的数据信息。MPU先与读卡器同步,从FLASH,ROM中取得卡片的身份信息,与读卡机进行验证,验证完成后,对FLAH/ROM中的内容进行操作。关于卡片的具体信息可以查看FM11RF08.pdf

这可以使我们对整个工作流程有一个更好的了解。

  • WIFi模块-手机端开发

对于WIFi模块,我们采用的是机智云的开发平台和正点原子的ESP8266,其相关教程较多,可以参考正点原子编写的文档ESP8266-WIFI使用教程.pdf,其上面清晰的讲述了协议的移植等相关信息。

基于STM32的便携式多功能医用交互设备相关推荐

  1. 基于STM32与ATT7022E多功能电力监测仪设计

    本设计是基于STM32与ATT7022E多功能电力监测仪的电路方案设计 程序编译器:keil 5 编程语言:C语言 [腾讯文档]C0016 网盘链接 近年来随着我国国民经济的高速发展,先进嵌入式处理器 ...

  2. 基于Stm32的WiFi多功能LED

    (限于本人水平,此项目中中还存在不足,欢迎大家指正探讨) 多功能LED设计,拥有自动和手动两种模式 1)自动模式:可以通过人体红外传感器检测是否有人,采用光敏电阻构成的电路检测环境光的强度,从而自动实 ...

  3. 4.6 基于STM32+MC20地图显示路径功能

    需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...

  4. 基于STM32单片机实现多功能MP3播放器系统设计

    百度网盘下载地址(942):点击下载 本项目是基于STM32F103来制作一个多功能MP3,除了可以实现MP3播放的基本功能之外,同时拥有丰富并实用的外扩功能,整个系统的功能包括:MP3播放功能.收音 ...

  5. 【摄像头模块】基于STM32与口罩识别功能调试问题总结

    文章目录 一. 初始化 二.程序烧录 三.识别是否佩戴口罩 小项目中常用到摄像头模块,文章内容疑问,可以私信交流 一. 初始化 1.初始界面为版本号,以及SD卡识别 如果未出现此界面,则可以按板子上的 ...

  6. 【毕业设计】基于stm32的便携式U盘设计与实现 - stm32制作U盘

    文章目录 0 前言 1 简介 2 主要器件 3 实现过程 4 部分核心代码 5 最后 0 前言

  7. 基于STM32单片机的多功能智能时钟【DHT11温湿度传感器蜂鸣器报警12864液晶显示】

    系统功能 系统可以显示日期.时间.星期.温度.湿度,可以对日期时间进行设置,可以设置闹钟,可以打开和关闭背光显示,有两种计时模式:正计时和倒计时. 液晶显示界面

  8. 基于STM32的多功能MP3设计 毕业设计(论文)开题报告

    中国计量学院 毕业设计(论文)开题报告 学生姓名:卢杰学 号:XXXXXXXXX 专    业:电子科学与技术 班    级:10电子1 设计(论文)题目: 基于STM32的多功能MP3设计 指导教师 ...

  9. 智能手环功能模块设计_基于STM32实现智能手环设计

    龙源期刊网 http://www.qikan.com.cn 基于 STM32 实现智能手环设计 作者:付海生 陈婷婷 韩百科 涂曾兵 来源:<科学导报 · 学术> 2017 年第 10 期 ...

最新文章

  1. 实验一HSRP与STP结合
  2. win10下c/c++隐藏进程
  3. java 词频_java程序:统计单词词频,
  4. (转) android UI进阶之用gallery实现可滑动的Tab
  5. CompSNN: A Lightweight Spiking Neural Network Based on Spatiotemporally Compressive Spike Features
  6. java 编码解码_深入解析Java中的编码转换以及编码和解码操作
  7. Markdown数学公式、特殊字符、上下标、积分、分式/根式 亲测有效
  8. 磁盘IO单线程顺序写时最快的,如果多线程写,磁盘的磁头要不断重新寻址,所以写入速度反而会慢...
  9. 如何判断电脑是否中毒(转)
  10. 数据结构课程设计——药店的药品销售统计系统(排序应用)
  11. EditPlus 3 实现将JSON字符串格式化、排版成JSON格式数据
  12. 旗袍时尚:青花瓷与青花时装
  13. 《tkinter实用教程二》tkinter的子模块ttk
  14. 硅谷的政治泡沫:反对特朗普,与美国大部分地区观念出现割裂
  15. Python爬虫-selenium爬取网易云歌单
  16. [JavaScript]Object(对象)学习
  17. 获取SYSTEM Shell:Citrix Workspace软件命名管道校验客户端漏洞分析
  18. python fun函数、求4x4整型数组的主对角线元素的和_输入4行4列的二维数组,求计算主对角线各元素之和,计算副对角线各元素之和。...
  19. oracle 数据库中order by 的一些高级用法
  20. 如何使用word模板生成word文档(文本,图片)

热门文章

  1. 使用HTML制作个人简历
  2. Dota2 AI 简易开发教程(二)——英雄出装及其相关功能
  3. 计算机网络:网间互联协议
  4. 第二十六讲 有限域基础
  5. 7-209 sdut-C语言实验-数位数7-210 sdut-C语言实验-小树快长高
  6. 被尘封的故事技能点bug_幻象冰龙能减速?死亡缠绕打不死兵?这些War3里的Bug你都知道吗?...
  7. java中的instance_Java基础之Class类与instance关键字
  8. 拍照已经成为我们手机中必备的功能之一,但是我们很多人都无法使用手机原相机拍出好看的图片,这是为什么呢?
  9. 2016 KCon 黑客大会兵器谱
  10. Bluekeep(0708)漏洞利用发布:潘多拉盒子已经打开