作品设计报告.PDFVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
作品设计报告 基于光电透射原理的心率监测仪 组长:赵天伦 成员:李震 范宣 指导教师:李茂奎 摘要 我们小组的作品主要是利用Arduino MEGA 2560来控制CJMCU Pulse Sensor Amplified光电传感器模块通过光电透射原理来测量心率,同时将2560外接一 个16*2的1602ALCD屏幕来显示BPM心率,并将原始数据的心率波形利用树莓派 显示在外接显示屏上。 1. 原理说明 光电容积法的基本原理是利用人体组织在血管搏动时造成透光率不同来进 行脉搏测量。其使用的传感器由光源和光电变换器两部分组成,通过绑带或夹子 固定在手指上或耳垂上。光源采用对动脉中氧和血红蛋白有选择性的一定波长的 发光二极管。光束透过人体外围血管时,由于动脉搏动充血体积变化导致透光率 改变,感光传感器接收到光线并转变为电信号进行滤波、放大和输出。当脉搏周 期性搏动时,其血管体积也在周期性变化,电信号也会周期性出现,找到相邻波 峰的时间差,就是一次心跳的间隔时间,便可以算出心率。 该传感器采用515nm波长的绿光LED,型号为AM2520,感光器采用APDS-9008, 感受峰值波长565nm,故较为灵敏。此外,由于脉搏信号频率幅度很小,容易受 到各种信号干扰,于是在感受器后面加了低通滤波和由运放MCP6001构成的放大 器,将信号放大了331倍,使放大后的信号可以很好地被单片机采集到。 整个传感器结构如下图: 整个心率采集器显示系统结构如下图: 2. 电路原理图 3. 硬件单元使用 预先将心率传感器程序烧写入ArduinoMEGA2560 中,利用树莓派写入脚本 实现插电后自动运行心率传感器并测量,与此同时将数据通过树莓派传入显示屏 并绘图。 4. 软件设计思想 整个软件的核心代码是每2ms执行一次的中断程序,寻找并跟随每个波形的 顶点,计算每两个顶点之间的时间差来计算BPM。 这是中断程序: volatile int rate[10]; volatile unsigned long sampleCounter = 0; volatile unsigned long lastBeatTime = 0; volatile int P = 512; volatile int T = 512; volatile int thresh = 512; volatile int amp = 100; volatile boolean firstBeat = true; volatile boolean secondBeat = true; void interruptSetup(){ TCCR2A = 0x02; TCCR2B = 0x06; OCR2A = 0X7C; TIMSK2 = 0x02; sei(); } ISR(TIMER2_COMPA_vect){ cli(); Signal = analogRead(pulsePin); sampleCounter += 2; int N = sampleCounter - lastBeatTime; if(Signal thresh N (IBI/5)*3){ if (Signal T){ T = Signal; } } if(Signal thresh Signal P){ P = Signal; } if (N 250){ if ( (Signal thresh) (Pulse == false) (N (IBI/5)*3) ){

文档评论(0)

zhaojf9409 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档