Kalp Atış Sensörü Kullanılarak Kalp Atış Hızı Nasıl Ölçülür?

Kalp atış hızı veya nabız, tıp alanında ölçülen en önemli parametredir. Kalp atış hızının ölçülebileceği iki yol vardır. Biri, bir stetoskop kullanarak ve kalp atış hızını tahmin ederek bileği manuel olarak kontrol etmektir, diğer yöntem ise bir kalp atış hızı sensörü kullanmaktır. Bir kalp atış hızı sensörü, nabzın bazı okumalarını alır ve mikrodenetleyiciye bir elektrik sinyali gönderir, bu okumalar daha sonra hesaplanır ve tam nabız hızı görüntülenir.

Kalp Atış Hızı Sensörü Nabız Hızını Nasıl Ölçer?

Ne yapacağımızı bildiğimiz için bu proje üzerinde çalışmaya başlayalım.

Adım 1: Bileşenleri Toplama

Herhangi bir projeye başlamadan önce bileşenlerin bir listesini yapmak ve bu bileşenlerin çalışmasını incelemek en iyi yaklaşımdır. Projemizde kullanılacak bileşenler şunlardır:

Adım 2: Kullanılan Bileşenleri Tanımak

Kullanacağımız aparatların listemizde olduğu gibi. Şimdi bu bileşenlerin nasıl çalıştığını görelim.

Arduino Uno, çeşitli devreleri kontrol etmek için kullanılan bir mikrodenetleyici kartıdır. Bir görevi yerine getirmesi için talimatlar veren bir C kodu kullanır. Piyasada bulunan bu mikrodenetleyici kartının diğer ikameleri Arduino Nano, Node MCU, ESP32 vb.

SEN-11574, Arduino ile entegre bir tak ve çalıştır nabız hızı sensörüdür. İki tarafı vardır. Bir tarafa ışık yayan bir led yerleştirilmiştir. Bu led doğrudan bir damarın üstüne yerleştirilmelidir. Kalp pompalandığında damardaki kan hacminin daha fazla olduğunu bildiğimiz için, damarda daha fazla kan olduğunda sensöre daha fazla ışık yansıyacaktır. Sensörün aldığı ışıktaki bu değişiklik zamanla analiz edilir ve kalp atış hızı ölçülür. Sensörün diğer tarafında, alınan sinyalin yükseltilmesinden ve gürültünün giderilmesinden sorumlu olan bir devre mevcuttur.

Adım 3: Bileşenlerin montajı

  1. Derinin insan vücuduna ait olduğunu bildiğimiz gibi, bazen nemli veya yağlı. Bu, yanlış ölçümler veren sensörün kısa devresine neden olabilir. Cildin nemlenmesini önlemek için sensörün LED tarafına bir vinil çıkartma katmanı uygulamak daha iyidir.
  2. Bunu yaptıktan sonra, bir parça siyah vektör bandı alın ve sensörün diğer tarafına yapıştırın. Bu, çevredeki ışığın sensörlerin ışığını kesmesini önleyecektir.
  3. Şimdi, sensörün Vcc ve toprak pinini Arduino ya ve sensörün analog pinini Arduino'nun A0'ına bağlayın.

Tüm aparat artık ayarlanmış ve kullanıma hazırdır. Kalp atış hızını ölçmek için sensörü doğrudan damara, parmağa veya kulağa yerleştireceğiz.

Adım 4: Arduino'ya Başlarken

Daha önce Arduino IDE üzerinde çalışmadıysanız endişelenmeyin çünkü Arduino IDE kullanarak mikrodenetleyici kartına bir kod yazma prosedürü aşağıda verilmiştir.

  1. Arduino kartınızı PC'nize bağladıktan sonra, Arduino'nun bağlı olduğu bağlantı noktasının adını kontrol etmek için Denetim Masası> Donanım ve Ses> Aygıtlar ve Yazıcılar'a gidin. Farklı bilgisayarlarda farklıdır.
  2. Arduino IDE'yi açın ve kartı şu şekilde ayarlayın: Arduino / Genuino UNO.
  3. Şimdi kontrol panelinde daha önce gözlemlediğiniz bağlantı noktasını ayarlayın.
  4. Aşağıda verilen kodu indirin ve açın. Kodu tıklayarak Mikrodenetleyici kartınıza yazın. Yükle buton.

Kodu indirmek için burayı tıklayın.

Adım 5: Kod

Nabız hızını ölçen kod biraz uzun ve karmaşıktır. Kodun bir kısmı aşağıda açıklanmıştır.

1. Başlangıçta kullanılacak tüm pinler tanımlanır. Farklı fonksiyonlarda kullanılacak tüm değişkenler ve interrupt servis rutini (ISR).

2. geçersiz kurulum () Pinlerin GİRİŞ veya ÇIKIŞ olarak kullanılmak üzere tanımlandığı bir işlevdir. baud hızı da bu işlevde ayarlanır. Baud hızı, mikro denetleyicinin diğer bileşenlerle iletişim kurma hızıdır. ISR, bu işlevde de adlandırılır.

3. geçersiz döngü ()bir döngüde sürekli çalışan bir işlevdir. Burada nabız hızı bulunur ve bir kalp atışı bulunduğunda led'in ne zaman söneceğine karar verir.

geçersiz döngü () {serialOutput (); if (QS == true) {// Bir Kalp Atışı Bulundu // BPM ve IBI Belirlendi // Arduino bir kalp atışı fadeRate = 255 bulduğunda Ölçülen Benlik "QS" true; // LED Fade Efektinin Gerçekleşmesini Sağlar // 'fadeRate' Değişkenini puls ile LED'i soldurmak için 255'e ayarlayın serialOutputWhenBeatHappens (); // Bir Vuruş Oldu, Bunu seri hale getir. QS = yanlış; // Quantified Self bayrağını bir sonraki sefer için sıfırlayın} ledFadeToBeat (); // LED Fade Efektinin gecikmesini sağlar (20); // ara ver }

4. void serialOutput ()çıkışın seri monitörde nasıl gösterileceğine karar veren bir işlevdir.

void serialOutput () {switch (outputType) {case PROCESSING_VISUALIZER: sendDataToSerial ('S', Signal); // sendDataToSerial işlevine gider break; case SERIAL_PLOTTER: // bu verileri görselleştirmek için Arduino Serial Plotter'ı açın Serial.print (BPM); Seri.baskı (","); Seri baskı (IBI); Seri.baskı (","); Serial.println (Signal); kırmak; varsayılan: ara; } }

5. ISR, donanım tarafından üretilen ve işlenmek üzere CPU'ya gönderilen bir kesmedir. kesme üretildiğinde, devam etmekte olan işlem durur ve kesme işlenir. kesme işlendikten sonra önceki işlem devam eder.

void interruptSetup () {// KESİNTİLERLE İLGİLİ DAHA FAZLA BİLGİ İÇİN Timer_Interrupt_Notes SEKMESİNİ KONTROL EDİN #ifndef ESP32 // Her 2mS'de bir kesme atmak için Timer2'yi başlatır. TCCR2A = 0x02; // DİJİTAL PIN 3 VE 11'DE PWM'Yİ DEVRE DIŞI BIRAKIN VE CTC MODUNA GİTİN TCCR2B = 0x06; // KARŞILAŞTIRMAYIN, 256 ÖN KALICI OCR2A = 0X7C; // 500Hz ÖRNEK HIZI TIMSK2 = 0x02 İÇİN SAYIN EN ÜSTÜNÜ 124'E AYARLAYIN; // TIMER2 İLE OCR2A ARASINDAKİ MAÇTA KESİNTİYE ETKİNLEŞTİR sei (); // KÜRESEL KESİNTİLERİN ETKİN OLDUĞUNDAN EMİN OLUN // Zamanlayıcı tetiklendiğinde bizi bilgilendirmek için semafor oluşturun #else timerSemaphore = xSemaphoreCreateBinary (); // 4'ün 1. zamanlayıcıyı kullan (sıfırdan sayılır). // Ön ölçekleyici için 80 bölücü ayarlayın (daha fazla bilgi için // ESP32 Teknik Referans Kılavuzu'na bakın). timer = timerBegin (0, 80, doğru); // Zamanlayıcımıza onTimer işlevi ekleyin. timerAttachInterrupt (timer, & onTimer, true); // Her saniye onTimer işlevini çağırmak için alarm ayarlayın (değer mikrosaniye cinsinden). // Alarmı tekrarlayın (üçüncü parametre) timerAlarmWrite (timer, 2000, true); // Bir alarm başlatabilirsiniz timerAlarmEnable (timer); #endif}

Uygulamalar:

Artık bir kalp atış hızı sensörü kullanarak Nabız hızının nasıl ölçüleceğini biliyoruz. Şimdi onu örneğin farklı projeler yapmak için kullanabiliriz.

  1. Sağlık grupları.
  2. Anksiyete Monitörü.
  3. Uyku İzleme.
  4. Uzaktan hasta izleme / alarm sistemi.
  5. Gelişmiş oyun konsolları
Facebook Twitter Google Plus Pinterest