用仅一个红外发射器和一个接收器(Arduino)制作一个心跳传感器,并查看您的心跳的实时图。
硬件组件
- Arduino UNO和Genuino UNO×1个
- 红外发射器(通用)×1个
- 红外接收器(通用)×1个
- USB-A至Mini-USB电缆×1个
- Arduino IDE
最近,新冠病毒的爆发在全世界造成了严重破坏,对呼吸机等医疗器械的需求和需求急剧增加,导致其稀缺。因此,迫切需要更便宜的设备和仪器。这种DIY心跳传感器的价格不到15美元,可以有效地用于检测心跳并实时绘制它们。唯一需要做的就是将手指放在传感器上以获取读数。
工作方式:
工作原理基本上是由任何物体(在这种情况下为手指)内部存在任何流体(在这种情况下为血液)的不透明性差异决定的。当血液被血液泵送时,手指的血管中会有更多的血液,这使其变得更加不透明。当血液撤退时,血管中的血液量减少,手指变得不透明。通过测量手指的不透明度,我们可以绘制其曲线,该曲线随血液中的血液量而变化。为了进行此测量,我们使用红外发射器和接收器。
红外发射器连续向手指投射光,一部分被吸收,一部分被反射,其中一些被透射,我们需要用很少量的透射光(穿过的光量)来绘制数据。手指另一侧的检测器检测到这种少量的透射光。但是,该强度随手指中的血液量而变化,因此,通过绘制从检测器获得的值,我们可以直接获得人的心跳的实时图。
可以在Arduino IDE的串行绘图仪上查看输出绘图。
精确度,为垃圾值过滤数据:
这涉及消除由于许多物体甚至我们散发出来的环境红外辐射引起的传感器值误差。为此,Arduino会预先计算平均垃圾读数,然后删除该平均垃圾读数以获取原始的精确值。这是通过以下代码完成的:
现在,计算5次环境垃圾读数的总和,以便以后可以消除它们。
//For debugging
for(int i=0;i<5;i++)
{
reading = reading + analogRead(A0);
}
reading_final = (reading)/5;
计算平均垃圾读数。
delay(100);
Heart_rate = analogRead(A0)-reading_final;
最终读数值,更精确。然后绘制变量 Heart_Rate 。
设置传感器硬件:
传感器由红外发射器和接收器组成。这是需要完成的接线示意图。
最后,硬件设置将如下所示:
输出:
附件有简短的视频,展示了DIY传感器的工作原理。我的心跳的实时图正在绘制中。下载即可查看。