Menü
Kapat
Giriş Yap Kayıt Ol
Şifremi Unuttum
Kapat
Sepetim
11.08.2023

Arduino ile nabız ölçer nasıl yapılır ?

Bu blog yazımızda, Arduino ile nabız ölçer nasıl yapılır bunu inceleyeceğiz. Bunun için sitemizde bulunan 3 farklı modülü kullanacağız. Kullanacağımız bu modüller;

1-MAX30100 Kalp Nabız Sensörü

2-Pulse Nabız Ölçer

3-Parmak Nabız Ölçer Sensör

 

Arduino ile MAX30100 Kalp Nabız Sensörü Kullanımı

Cihaz üzerinde bulunan sensör, biri kırmızı ışık yayan diğeri kızılötesi ışık yayan iki LED'e sahiptir. Nabız hızı için yalnızca kızılötesi ışık gereklidir. Hem kırmızı ışık hem de kızılötesi ışık kandaki oksijen seviyelerini ölçmek için kullanılır.

Kalp kan pompaladığında, daha fazla kan olması sonucu oksijenli kanda bir artış olur. Kalp rahatladıkça oksijenli kan hacmi de azalır. Modül, oksijenden zengin kanın artması ve azalması arasındaki süreyi bilerek nabız hızını hesaplar.

Oksijenli kan daha fazla kızılötesi ışığı emer ve daha fazla kırmızı ışık geçirirken, oksijensiz kan kırmızı ışığı emer ve daha fazla kızılötesi ışık geçirir.MAX30100'ün ana işlevi şudur: her iki ışık kaynağı için de absorpsiyon seviyelerini okur ve bunları I2C aracılığıyla okunabilen bir arabellekte saklar.

 

Sensör üzerinde bulunan VIN pini arduinonun 3V3 pinine bağlanır. GND pinleri birleştirilir. SCL pini Arduinonun A5 pinine, SDA pini ise A4 pinine bağlanır. Sensörün Arduino ile bağlantı şeması aşağıda şekildeki gibidir.

Modül üzerinde bulunan INT pini Interrupt pinidir ve kesme işlemini yapar. IRD pini, IR LED katot ve LED sürücü bağlantı noktasıdır. RD pini, kırmızı LED katot ve LED sürücü bağlantı noktasıdır. Projede bu pinleri kullanmamıza gerek yoktur ancak ne olduklarını bilmemizde fayda vardır.

Şimdi Arduino kodunda öncelikle MAX30100.h kütüphanesini yüklüyoruz ve aşağıdaki arduino kodunu yazarak kalp nabız hızı ve kan oksijen konsantrasyonu seri monitörde görüntülenir. Tek yapmanız gereken kodu yüklemek ve parmağınızı sensöre yaklaştırmaktır.

 

//******************************************************************************

#include "MAX30100.h"

MAX30100* pulseOxymeter;

void setup() {

Wire.begin();

Serial.begin(115200);

Serial.println("Pulse oxymeter test!");

pulseOxymeter = new MAX30100();

pinMode(2, OUTPUT);

}

void loop() {

pulseoxymeter_t result = pulseOxymeter->update();

if( result.pulseDetected == true )

{

Serial.println("BEAT");

Serial.print( "BPM: " );

Serial.print( result.heartBPM );

Serial.print( "SaO2: " );

Serial.print( result.SaO2 );

Serial.println( "%" );

}

}

//****************************************************************************

 

 

Arduino ile Pulse Nabız Ölçer Kullanımı

Bu sensörün çalışma mantığı da hemen hemen MAX30100 ile aynıdır. Ancak bu sensörde sadece nabız hızı ölçülebilmektedir. MAX30100 sensöründe kandaki oksijen seviyesi de ölçülebiliyordu.

Sensörün ön tarafı, kalp logolu taraftır.Parmağınızı yerleştirdiğiniz yer burasıdır.Ön tarafta ters monte edilmiş yeşil LED'inin parladığı küçük yuvarlak bir delik göreceksiniz. Bu sensörün de çalışma mantığı buradaki yeşil LED’e dayanmaktadır. Parmağa yeşil bir ışık (~ 550nm) yakarak ve bir fotosensör kullanarak yansıyan ışığın miktarını ölçerek çalışır.

 

 

Işık yoluyla bu darbe algılama yöntemineFotopletismogramdenir. Arter kanındaki oksijenli hemoglobin, yeşil ışığı absorbe etme özelliğine sahiptir.Kan ne kadar kırmızıysa (hemoglobin ne kadar yüksekse), o kadar fazla yeşil ışık emilir.Kan her kalp atışıyla parmaktan pompalanırken, yansıyan ışığın miktarı değişir ve fotosensörün çıkışında değişen bir dalga biçimi oluşturur. Işığı yakmaya ve fotosensör okumaları almaya devam ettikçe, hızlı bir şekilde kalp atışı nabız okuması almaya başlarsınız.

 

Sensörün 3 kablosu bulunmaktadır. Siyah olan GND, kırmızı olan VCC ve mor olan kablo ise analog sinyal kablosudur. Yandaki şekilde de sensörün bağlantılarını görebilirsiniz.

 

 

 

 

 

 

Arduino ile bağlantıları ise şu şekildedir; VCC pini arduinonun 3.3V veya 5V’u ile bağlantı yapılabilir. GND uçları birleştirlir. Analog sinyali yani mor kabloyu ise A0 pinine bağlıyoruz. Aşağıdaki görselde bağlantı şemasını daha rahat inceleyebilirsiniz.

 

Arduino kodunda yine öncelikle bir önceki projedeki gibi sensörün kendisine ait olan PulseSensorPlayground.h kütüphanesini yüklüyoruz. Bu kütüphaneyi yükledikten sonra aşağıdaki kod ile anlık nabzınızın rakamsal değer olarak görebilirsiniz.

//****************************************************************************

void setup() {

Serial.begin(9600);

pulseSensor.analogInput(PulseWire);

pulseSensor.blinkOnPulse(LED13);

pulseSensor.setThreshold(Threshold);

 

if (pulseSensor.begin()) {

Serial.println("PulseSensor basladi!");

}

}

void loop() {

int myBPM = pulseSensor.getBeatsPerMinute();

if (pulseSensor.sawStartOfBeat()) {

Serial.println("Kalp atisi algilandi! ");

Serial.print("BPM: ");

Serial.println(myBPM);

}

delay(20);

}

//*****************************************************************************

Arduino ile Parmak Nabız Ölçer Sensör

Bu sensör de bir önceki anlatmış olduğumuz Pulse Nabız Ölçer Sensör’ü ile aynı mantıkta çalışmaktadır. Üzerinde bulunan kızılötesi LED ile çalışmasını gerçekleştirir.

Sensör üzerinde 3 pin bulunmaktadır. Bunlar aynı bir önceki sensörde olduğu gibi VCC, GND ve analog sinyal pinidir. Aşağıdaki görselde pin şemasını daha iyi bir şekilde görebilirsiniz.

 

Arduino ile bağlantı şeması; VCC pini 5V pinine, GND pini GND’ye ve Analog sinyal pini de A0 pinine bağlı olacak şekilde birleştirilmelidir. Bağlantı şemasını aşağıda daha net bir şekilde görebilirsiniz.

 

Arduino kodunda bu sensör için herhangi bir kütüphane yüklememize gerek yok. Son 20 çıkış sinyal verisinin ortalamasını alarak nabız ölçüm verilerini alacağız. İşte arduino kodumuz;

//*******************************************************************************

void setup() {

pinMode(A0, INPUT);

Serial.begin(9600);

}

 

void loop() {

float pulse;

int sum = 0;

for (int i = 0; i < 20; i++)

sum += analogRead(A0);

pulse = sum / 20.00;

Serial.println(pulse);

delay(100);

}

//********************************************************************************

 

Bu projeleri yaptığınız zaman bizimle paylaşırsanız sosyal medya sayfalarımızda paylaşmaktan memnuniyet duyarız.

 

Başka projelerde görüşmek üzere!