İçindekiler:

Ar ile Taş LCD'de Nabız Nasıl Görüntülenir: 31 Adım
Ar ile Taş LCD'de Nabız Nasıl Görüntülenir: 31 Adım

Video: Ar ile Taş LCD'de Nabız Nasıl Görüntülenir: 31 Adım

Video: Ar ile Taş LCD'de Nabız Nasıl Görüntülenir: 31 Adım
Video: Lesson 99: Building Arduino Digital Clock using DS3231 LCD and Seven Segment Display 2024, Kasım
Anonim
Ar ile STONE LCD'de Nabız Nasıl Görüntülenir
Ar ile STONE LCD'de Nabız Nasıl Görüntülenir

kısa tanıtım

Bir süre önce, çevrimiçi alışverişte bir kalp atış hızı sensörü modülü MAX30100 buldum. Bu modül, aynı zamanda basit ve kullanımı kolay olan kullanıcıların kan oksijen ve kalp atış hızı verilerini toplayabilir. Verilere göre Arduino kütüphane dosyalarında MAX30100 kütüphaneleri olduğunu buldum. Yani Arduino ile MAX30100 arasındaki iletişimi kullanırsam, sürücü dosyalarını yeniden yazmaya gerek kalmadan doğrudan Arduino kütüphane dosyalarını çağırabilirim. Bu iyi bir şey, bu yüzden MAX30100 modülünü satın aldım.

Adım 1: MAX30100'ün Kalp Atış Hızı ve Kan Oksijen Toplama İşlevini Doğrulamak İçin Arduino Kullanmaya Karar Verdim

MAX30100'ün Kalp Atış Hızı ve Kan Oksijen Toplama İşlevini Doğrulamak İçin Arduino Kullanmaya Karar Verdim
MAX30100'ün Kalp Atış Hızı ve Kan Oksijen Toplama İşlevini Doğrulamak İçin Arduino Kullanmaya Karar Verdim

Not: Bu modül varsayılan olarak yalnızca 3,3 V seviye MCU iletişimi ile, çünkü varsayılan olarak 4,7 K ila 1,8 V arasında IIC pin çekme direnci kullanır, bu nedenle Arduino ile iletişim kurmak istiyorsanız varsayılan olarak Arduino ile iletişim yoktur. ve VIN pinine bağlı iki adet 4,7 K IIC pin pull-up direncine ihtiyaç duyarlar, bu içerikler bölümün arkasında tanıtılacaktır.

2. Adım: İşlevsel Atamalar

Bu projeye başlamadan önce bazı basit özellikler düşündüm:

  • Kalp atış hızı verileri ve kan oksijen verileri toplandı
  • Kalp atış hızı ve kan oksijen verileri bir LCD ekran aracılığıyla görüntülenir

Bunlar sadece iki özellik, ancak uygulamak istiyorsak daha fazla düşünmemiz gerekiyor:

  • Hangi ana MCU kullanılır?
  • Ne tür bir lcd ekran?

Daha önce bahsettiğimiz gibi MCU için Arduino kullanıyoruz fakat bu bir Arduino LCD ekran projesi o yüzden uygun LCD ekran modülünü seçmemiz gerekiyor. LCD ekran ekranını seri port ile kullanmayı planlıyorum. Burada bir STONE STVI070WT-01 görüntüleyicim var, ancak Arduino'nun onunla iletişim kurması gerekiyorsa, seviye dönüşümü yapmak için MAX3232 gerekir. Daha sonra temel elektronik malzemeler şu şekilde belirlenir:

1. Arduino Mini Pro geliştirme kartı

2. MAX30100 kalp atış hızı ve kan oksijen sensörü modülü

3. STONE STVI070WT-01 LCD seri port ekran modülü

4. MAX3232 modülü

3. Adım: Donanım Tanıtımı

MAX30100

MAX30100, entegre bir nabız oksimetresi ve kalp atış hızı izleme sensörü çözümüdür. Nabız oksimetresi ve kalp atış hızı sinyallerini algılamak için iki LED'i, bir fotodedektörü, optimize edilmiş optikleri ve düşük gürültülü analog sinyal işlemeyi birleştirir.

MAX30100, 1.8V ve 3.3V güç kaynaklarından çalışır ve ihmal edilebilir bekleme akımıyla yazılım aracılığıyla kapatılabilir, bu da güç kaynağının her zaman bağlı kalmasına izin verir.

4. Adım: Uygulamalar

● Giyilebilir Cihazlar

● Fitness Asistanı Cihazları

● Tıbbi İzleme Cihazları

Adım 5: Yararlar ve Özellikler

1, Komple Nabız Oksimetresi ve Nabız Sensörü Çözümü Tasarımı Basitleştirir

  • Entegre LED'ler, Fotoğraf Sensörü ve yüksek Performanslı Analog Ön Uç
  • Minik 5,6 mm x 2,8 mm x 1,2 mm 14-Pin Optik Olarak Geliştirilmiş Paket İçinde Sistem

2, Ultra Düşük Güçte Çalışma, Giyilebilir Cihazlar için Pil Ömrünü Artırır

  • Güç Tasarrufu için Programlanabilir Örnekleme Hızı ve LED Akımı
  • Ultra Düşük Kapatma Akımı (0.7µA, tip)

3, Gelişmiş İşlevsellik, Ölçüm Performansını İyileştirir

  • Yüksek SNR Sağlam Hareket Yapısı Esnekliği Sağlar
  • Entegre Ortam Işığı İptali
  • Yüksek Örnekleme Hızı Yeteneği
  • Hızlı Veri Çıkış Yeteneği

Adım 6: Algılama İlkesi

Algılama Prensibi
Algılama Prensibi

Nabız oksijen doygunluğunu (SpO2) ve nabzı (kalp atışına eşdeğer) tahmin etmek için parmağınızı sensöre doğru bastırın.

Nabız oksimetresi (oksimetre), kanın oksijen doygunluğunu analiz etmek için farklı kırmızı hücre absorpsiyon spektrumlarının ilkelerini KULLANAN bir mini spektrometredir. Bu gerçek zamanlı ve hızlı ölçüm yöntemi, birçok klinik referansta da yaygın olarak kullanılmaktadır. MAX30100'ü çok fazla tanıtmayacağım çünkü bu malzemeler internette mevcut. İlgilenen arkadaşlar bu kalp atış hızı testi modülünün bilgilerini İnternette arayabilir ve algılama prensibini daha iyi anlayabilir.

Adım 7: TAŞ STVI070WT-01

TAŞ STVI070WT-01
TAŞ STVI070WT-01

Görüntüleyiciye giriş

Bu projede kalp atış hızı ve kan oksijen verilerini görüntülemek için STONE STVI070WT-01 kullanacağım. Sürücü çipi, ekranın içine entegre edilmiştir ve kullanıcıların kullanması için bir yazılım bulunmaktadır. Kullanıcıların yalnızca tasarlanan UI resimleri aracılığıyla düğmeler, metin kutuları ve diğer mantığı eklemesi ve ardından yapılandırma dosyaları oluşturması ve çalıştırmak için bunları görüntüleme ekranına indirmesi gerekir. STVI070WT-01'in ekranı MCU ile uart-rs232 sinyali aracılığıyla iletişim kurar, bu da Arduino MCU ile iletişim kurabilmemiz için RS232 sinyalini TTL sinyaline dönüştürmek için bir MAX3232 yongası eklememiz gerektiği anlamına gelir.

Adım 8: MAX3232'yi Nasıl Kullanacağınızdan Emin Değilseniz, Lütfen Aşağıdaki Resimlere Bakın:

MAX3232'yi Nasıl Kullanacağınızdan Emin Değilseniz, Lütfen Aşağıdaki Resimlere Bakın
MAX3232'yi Nasıl Kullanacağınızdan Emin Değilseniz, Lütfen Aşağıdaki Resimlere Bakın

Seviye dönüşümünün çok zahmetli olduğunu düşünüyorsanız, bazıları doğrudan uart-ttl sinyali verebilen diğer STONE görüntüleyici türlerini seçebilirsiniz.

Resmi web sitesinde detaylı bilgi ve tanıtım bulunmaktadır:

Adım 9: Kullanmak için Video Eğitimlerine ve Öğreticilere İhtiyacınız Varsa, Resmi Web Sitesinde de Bulabilirsiniz

Kullanmak için Video Eğitimlerine ve Öğreticilere İhtiyacınız Varsa, Resmi Web Sitesinde de Bulabilirsiniz
Kullanmak için Video Eğitimlerine ve Öğreticilere İhtiyacınız Varsa, Resmi Web Sitesinde de Bulabilirsiniz

Adım 10: Geliştirme Adımları

STONE ekran geliştirmenin üç adımı:

  • STONE TOOL yazılımı ile ekran mantığını ve buton mantığını tasarlayın ve tasarım dosyasını ekran modülüne indirin.
  • MCU, STONE LCD ekran modülü ile seri port üzerinden haberleşir.
  • 2. adımda elde edilen verilerle MCU diğer işlemleri yapar.

Adım 11: STONE TOOL Yazılım Kurulumu

STONE TOOL Yazılım Kurulumu
STONE TOOL Yazılım Kurulumu

STONE TOOL yazılımının (şu anda TOOL2019) en son sürümünü web sitesinden indirin ve kurun.

Yazılım yüklendikten sonra aşağıdaki arayüz açılacaktır:

Daha sonra tartışacağımız yeni bir proje oluşturmak için sol üst köşedeki "Dosya" düğmesini tıklayın.

Adım 12: Arduino

Arduino, kullanımı kolay ve kullanımı kolay, açık kaynaklı bir elektronik prototip platformudur. Donanım bölümünü (Arduino spesifikasyonuna uyan çeşitli geliştirme kartları) ve yazılım bölümünü (Arduino IDE ve ilgili geliştirme kitleri) içerir.

Donanım parçası (veya geliştirme kartı), bir mikro denetleyici (MCU), Flash bellek (Flash) ve bir mikro bilgisayar anakartı olarak düşünebileceğiniz bir dizi evrensel giriş/çıkış arabiriminden (GPIO) oluşur. Yazılım kısmı temel olarak PC üzerinde Arduino IDE, ilgili kart düzeyinde destek paketi (BSP) ve zengin üçüncü taraf fonksiyon kitaplığından oluşmaktadır. Arduino IDE ile geliştirme kartınızla ilişkili BSP'yi ve ihtiyacınız olan kütüphaneleri kolayca indirebilirsiniz. programlarınızı yazmak için Arduino açık kaynaklı bir platformdur. Şimdiye kadar, Arduino Uno, Arduino Nano, ArduinoYun ve benzeri dahil olmak üzere birçok model ve birçok türetilmiş denetleyici oldu. BSP'yi tanıtarak Intel Galileo ve NodeMCU olarak.

Arduino, çeşitli sensörler aracılığıyla çevreyi algılar, ışıkları, motorları ve diğer cihazları kontrol ederek geri bildirimde bulunur ve çevreyi etkiler. Kart üzerindeki mikrodenetleyici bir Arduino programlama dili ile programlanabilir, ikili dosyalar halinde derlenebilir ve mikrodenetleyiciye yazılabilir. Programlama Arduino için, Arduino programlama dili (Wiring'e dayalı) ve Arduino geliştirme ortamı (İşlemeye dayalı) ile uygulanır. Arduino tabanlı projeler, yalnızca Arduino'yu, Arduino'yu ve PC'de çalışan diğer yazılımları içerebilir ve birbirleriyle iletişim kurarlar. diğer (Flash, İşleme, MaxMSP gibi).

Adım 13: Geliştirme Ortamı

Geliştirme Ortamı
Geliştirme Ortamı

Arduino geliştirme ortamı, internetten indirilebilen Arduino IDE'dir.

Arduino'nun resmi web sitesine giriş yapın ve yazılımı indirin https://www.arduino.cc/en/Main/Software?setlang=c… Arduino IDE'yi kurduktan sonra, yazılımı açtığınızda aşağıdaki arayüz görünecektir:

Arduino IDE, varsayılan olarak iki işlev oluşturur: kurulum işlevi ve döngü işlevi. İnternette birçok Arduino tanıtımı var. Bir şeyi anlamadıysanız, bulmak için internete gidebilirsiniz.

Adım 14: Arduino LCD Projesi Uygulama Süreci

Arduino LCD Projesi Uygulama Süreci
Arduino LCD Projesi Uygulama Süreci

donanım bağlantısı

Kod yazarken bir sonraki adımın sorunsuz geçmesini sağlamak için önce donanım bağlantısının güvenilirliğini belirlememiz gerekir.

Bu projede sadece dört parça donanım kullanıldı:

1. Arduino Mini pro geliştirme kartı

2. STONE STVI070WT-01 tft-lcd ekran

3. MAX30100 kalp atış hızı ve kan oksijen sensörü

4. MAX3232 (rs232-> TTL) Arduino Mini Pro geliştirme kartı ve STVI070WT-01 TFT-LCD ekran, MAX3232 üzerinden seviye dönüşümü gerektiren UART üzerinden bağlanır ve ardından Arduino Mini Pro geliştirme kartı ve MAX30100 modülü aracılığıyla bağlanır. IIC arayüzü. Açıkça düşündükten sonra aşağıdaki kablolama resmini çizebiliriz:

Adım 15:

resim
resim

Donanım bağlantısında hata olmadığından emin olun ve sonraki adıma geçin.

Adım 16: TFT LCD Kullanıcı Arayüzü Tasarımı

TFT LCD Kullanıcı Arayüzü Tasarımı
TFT LCD Kullanıcı Arayüzü Tasarımı

Her şeyden önce, PhotoShop veya diğer görsel tasarım araçları ile tasarlanabilen bir UI görüntüleme görseli tasarlamamız gerekiyor. UI ekran görüntüsünü tasarladıktan sonra görüntüyü-j.webp

STONE TOOL2019 yazılımını açın ve yeni bir proje oluşturun:

Adım 17: Yeni Projede Varsayılan Olarak Yüklenen Resmi Kaldırın ve Tasarladığımız UI Resmini Ekleyin

Yeni Projede Varsayılan Olarak Yüklenen Resmi Kaldırın ve Tasarladığımız UI Resmini Ekleyin
Yeni Projede Varsayılan Olarak Yüklenen Resmi Kaldırın ve Tasarladığımız UI Resmini Ekleyin

Adım 18: Metin Görüntüleme Bileşenini Ekleyin

Metin Görüntüleme Bileşenini ekleyin
Metin Görüntüleme Bileşenini ekleyin

Metin görüntüleme bileşenini ekleyin, görüntüleme basamağını ve ondalık noktayı tasarlayın, görüntüleyicide metin görüntüleme bileşeninin saklama yerini alın.

Etkisi aşağıdaki gibidir:

Adım 19:

Metin görüntüleme bileşeni adresi:

  • Bağlantı durumu: 0x0008
  • Nabız: 0x0001

Kan oksijeni: 0x0005 UI arayüzünün ana içeriği aşağıdaki gibidir:

  • Bağlantı durumu
  • Kalp atış hızı ekranı
  • Kan oksijen gösterdi

Adım 20: Yapılandırma Dosyası Oluşturun

Yapılandırma Dosyası Oluştur
Yapılandırma Dosyası Oluştur

UI tasarımı tamamlandığında, yapılandırma dosyası oluşturulabilir ve STVI070WT-01 ekranına indirilebilir.

Önce 1. adımı gerçekleştirin, ardından usb flash sürücüyü bilgisayara takın, disk sembolü görüntülenecektir. Ardından yapılandırma dosyasını usb flash sürücüye indirmek için "U-disk'e indir" seçeneğine tıklayın ve ardından yükseltmeyi tamamlamak için usb flash sürücüyü STVI070WT-01'e takın.

Adım 21: MAX30100

MAX30100
MAX30100

MAX30100, IIC üzerinden haberleşir. Çalışma prensibi, kalp atış hızının ADC değerinin kızılötesi led ışınlama yoluyla elde edilebilmesidir. MAX30100 kaydı beş kategoriye ayrılabilir: durum kaydı, FIFO, kontrol kaydı, sıcaklık kaydı ve kimlik kaydı. Sıcaklık kaydı sıcaklığın neden olduğu sapmayı düzeltmek için çipin sıcaklık değerini okur. Kimlik kaydı çipin kimlik numarasını okuyabilir.

MAX30100, IIC iletişim arayüzü aracılığıyla Arduino Mini Pro geliştirme kartına bağlanır. Arduino IDE'de hazır MAX30100 kitaplık dosyaları bulunduğu için MAX30100'ün kayıtlarını incelemeden kalp atış hızı ve kan oksijen verilerini okuyabiliyoruz. MAX30100 kayıt defterini keşfetmek isteyenler için MAX30100 Veri Sayfasına bakın.

Adım 22: MAX30100 IIC Çekme Direncini Değiştirin

MAX30100 IIC Çekme Direncini Değiştirin
MAX30100 IIC Çekme Direncini Değiştirin

Unutulmamalıdır ki MAX30100 modülünün IIC pininin 4.7k pull-up direnci 1.8v'ye bağlıdır ki bu teoride bir problem değildir. Ancak Arduino IIC pininin haberleşme mantık seviyesi 5V olduğu için MAX30100 modülünün donanımını değiştirmeden Arduino ile haberleşemez. MCU STM32 veya başka bir 3.3v mantık seviyeli MCU ise direkt haberleşme mümkündür.

Bu nedenle, aşağıdaki değişikliklerin yapılması gerekir:

Resimde işaretlenmiş üç adet 4.7k rezistörü elektrikli bir havya ile sökün. Ardino ile haberleşebilmemiz için SDA ve SCL pinlerine 4.7k lık iki rezistörü VIN'e kaynak yapın.

Adım 23: Arduino

Arduino
Arduino

Arduino IDE'yi açın ve aşağıdaki düğmeleri bulun:

Adım 24: MAX30100 için İki Kitaplık Bulmak için "MAX30100" arayın, ardından İndir ve Yükle'ye tıklayın

Aramak
Aramak

Adım 25: Kurulumdan Sonra Arduino'nun LIB Library Klasöründe MAX30100 Demosunu Bulabilirsiniz:

Kurulumdan Sonra MAX30100 Demosunu Arduino'nun LIB Library Klasöründe Bulabilirsiniz
Kurulumdan Sonra MAX30100 Demosunu Arduino'nun LIB Library Klasöründe Bulabilirsiniz

Adım 26: Açmak için Dosyaya çift tıklayın

Açmak için Dosyaya çift tıklayın
Açmak için Dosyaya çift tıklayın

Adım 27: Kodun Tamamı Aşağıdaki Gibidir:

Bu Demo doğrudan test edilebilir. Donanım bağlantısı tamamsa, kod derlemesini Arduibo geliştirme kartına indirebilir ve seri hata ayıklama aracında MAX30100'ün verilerini görebilirsiniz.

Kodun tamamı aşağıdaki gibidir:

/* Arduino-MAX30100 oksimetre / kalp atış hızı entegre sensör kitaplığı Telif hakkı (C) 2016 OXullo Intersecans Bu program ücretsiz bir yazılımdır: Özgür Yazılım Vakfı tarafından yayınlanan GNU Genel Kamu Lisansı koşulları altında yeniden dağıtabilir ve/veya değiştirebilirsiniz, Lisansın 3. sürümü veya (seçiminize bağlı olarak) daha sonraki herhangi bir sürüm. Bu program yararlı olması ümidiyle dağıtılmaktadır, ancak HİÇBİR GARANTİ YOKTUR; SATILABİLİRLİK veya BELİRLİ BİR AMACA UYGUNLUK zımni garantisi bile olmadan. Daha fazla ayrıntı için GNU Genel Kamu Lisansına bakın. Bu programla birlikte GNU Genel Kamu Lisansının bir kopyasını almış olmalısınız. Değilse, bkz. */ #include #include "MAX30100_PulseOximeter.h" #define REPORTING_PERIOD_MS 1000 // PulseOximeter, sensöre yönelik üst düzey arayüzdür // şunları sunar: // * atım algılama raporlaması // * kalp atış hızı hesaplama // * SpO2 (oksidasyon seviyesi) PulseOximeter çiçeği hesaplaması; uint32_t tsLastReport = 0; // Geri arama (aşağıda kayıtlıdır) bir darbe algılandığında tetiklenir void onBeatDetected() { Serial.println("Beat!"); } geçersiz kurulum() { Serial.begin(115200); Serial.print("Nabız oksimetresi başlatılıyor.."); // PulseOximeter örneğini başlat // Hatalar genellikle hatalı bir I2C kablolaması, eksik güç kaynağı // veya yanlış hedef çip if (!pox.begin()) { Serial.println("FAILED"); için(;;); } else { Serial.println("BAŞARI"); } // IR LED için varsayılan akım 50mA'dır ve aşağıdaki satırın yorumunu kaldırarak // değiştirilebilir. Tüm // mevcut seçenekler için MAX30100_Registers.h'yi kontrol edin. // pox.setIRLedCurrent(MAX30100_LED_CURR_7_6MA); // Beat algılama pox için bir geri arama kaydedin.setOnBeatDetectedCallback(onBeatDetected); } void loop() { // Güncellemeyi olabildiğince hızlı çağırdığınızdan emin olun pox.update(); // Kalp atış hızını ve oksidasyon seviyelerini eşzamansız olarak seriye aktar // Her ikisi için de 0 değeri "geçersiz" anlamına gelir if (millis() - tsLastReport > REPORTING_PERIOD_MS) { Serial.print("Kalp hızı:"); Serial.print(pox.getHeartRate()); Serial.print("bpm / SpO2:"); Serial.print(pox.getSpO2()); Serial.println("%"); tsLastReport = millis(); } }

Adım 28:

resim
resim

Bu kod çok basit, bir bakışta anlayabileceğinize inanıyorum. Arduino'nun modüler programlamasının çok uygun olduğunu söylemeliyim ve Uart ve IIC'nin sürücü kodunun nasıl uygulandığını anlamama bile gerek yok.

Tabii ki, yukarıdaki kod resmi bir Demo ve verileri STONE'ın görüntüleyicisine görüntülemek için hala bazı değişiklikler yapmam gerekiyor.

Adım 29: Arduino Üzerinden STONE Görüntüleyiciye Verileri Görüntüleyin

İlk olarak, STONE'ın ekranında kalp atış hızı ve kan oksijen verilerini gösteren bileşenin adresini almamız gerekiyor:

Projemde adres şu şekildedir: Nabız görüntüleme bileşeni adresi: 0x0001 Kan oksijen gösterge modülünün adresi: 0x0005 Sensör bağlantı durumu adresi: 0x0008 İlgili alanda ekran içeriğini değiştirmeniz gerekiyorsa, ekran içeriğini değiştirebilirsiniz. Arduino'nun seri portu üzerinden ekranın ilgili adresine veri göndererek.

Adım 30: Değiştirilen Kod Aşağıdaki Gibidir:

/* Arduino-MAX30100 oksimetre / kalp atış hızı entegre sensör kitaplığı Telif hakkı (C) 2016 OXullo Intersecans Bu program ücretsiz bir yazılımdır: Özgür Yazılım Vakfı tarafından yayınlanan GNU Genel Kamu Lisansı koşulları altında yeniden dağıtabilir ve/veya değiştirebilirsiniz, Lisansın 3. sürümü veya (seçiminize bağlı olarak) daha sonraki herhangi bir sürüm. Bu program yararlı olması ümidiyle dağıtılmaktadır, ancak HİÇBİR GARANTİ YOKTUR; SATILABİLİRLİK veya BELİRLİ BİR AMACA UYGUNLUK zımni garantisi bile olmadan. Daha fazla ayrıntı için GNU Genel Kamu Lisansına bakın. Bu programla birlikte GNU Genel Kamu Lisansının bir kopyasını almış olmalısınız. Değilse, bkz. */ #include #include "MAX30100_PulseOximeter.h" #define REPORTING_PERIOD_MS 1000 #define Heart_dis_addr 0x01 #define Sop2_dis_addr 0x05 #define connect_sta_addr 0x08 unsigned char heart_rate_send[8]= {0xA5, 0x_00, {0xA5, 0x_05,} 0x00}; unsigned char Sop2_send[8]= {0xA5, 0x5A, 0x05, 0x82, 0x00, / Sop2_dis_addr, 0x00, 0x00}; unsigned char connect_sta_send[8]={0xA5, 0x5A, 0x05, 0x82, 0x00, / connect_sta_addr, 0x00, 0x00}; // PulseOximeter, sensöre yönelik daha yüksek seviyeli arayüzdür // şunları sunar: // * atım algılama raporlaması // * kalp hızı hesaplama // * SpO2 (oksidasyon seviyesi) hesaplama PulseOximeter çiçeği; uint32_t tsLastReport = 0; // Geri arama (aşağıda kayıtlıdır) bir darbe algılandığında tetiklenir void onBeatDetected() { // Serial.println("Beat!"); } geçersiz kurulum() { Serial.begin(115200); // Serial.print("Nabız oksimetresi başlatılıyor.."); // PulseOximeter örneğini başlat // Hatalar genellikle yanlış bir I2C kablolaması, eksik güç kaynağı // veya yanlış hedef çip if (!pox.begin()) { // Serial.println("FAILED"); // connect_sta_send[7]=0x00; // Serial.write(connect_sta_send, 8); için(;;); } else { connect_sta_send[7]=0x01; Serial.write(connect_sta_send, 8); // Serial.println("BAŞARI"); } // IR LED için varsayılan akım 50mA'dır ve aşağıdaki satırın yorumunu kaldırarak // değiştirilebilir. Tüm // mevcut seçenekler için MAX30100_Registers.h'yi kontrol edin.pox.setIRLedCurrent(MAX30100_LED_CURR_7_6MA); // Beat algılama pox için bir geri arama kaydedin.setOnBeatDetectedCallback(onBeatDetected); } void loop() { // Güncellemeyi olabildiğince hızlı çağırdığınızdan emin olun pox.update(); // Kalp atış hızını ve oksidasyon seviyelerini eşzamansız olarak seriye aktar // Her ikisi için de 0 değeri "geçersiz" anlamına gelir if (millis() - tsLastReport > REPORTING_PERIOD_MS) { // Serial.print("Kalp hızı:"); // Serial.print(pox.getHeartRate()); // Serial.print("bpm / SpO2:"); // Serial.print(pox.getSpO2()); // Serial.println("%"); heart_rate_send[7]=(uint32_t)pox.getHeartRate(); Serial.write(heart_rate_send, 8); Sop2_send[7]=pox.getSpO2(); Serial.write(Sop2_send, 8); tsLastReport = millis(); } }

Adım 31: Arduino ile LCD'de Kalp Atış Hızını Görüntüleme

Arduino ile LCD'de Kalp Atış Hızını Görüntüleme
Arduino ile LCD'de Kalp Atış Hızını Görüntüleme

Kodu derleyin, Arduino geliştirme panosuna indirin ve test etmeye hazırsınız.

Parmaklar MAX30100'den ayrıldığında kalp atış hızı ve kan oksijeninin 0 olduğunu görebiliriz. Kalp atış hızınızı ve kan oksijen seviyenizi gerçek zamanlı olarak görmek için parmağınızı MAX30100 toplayıcının üzerine yerleştirin.

Etki aşağıdaki resimde görülebilir:

Önerilen: