Isi kandungan:

Cara Memaparkan Denyutan Jantung pada LCD BATU Dengan Ar: 31 Langkah
Cara Memaparkan Denyutan Jantung pada LCD BATU Dengan Ar: 31 Langkah

Video: Cara Memaparkan Denyutan Jantung pada LCD BATU Dengan Ar: 31 Langkah

Video: Cara Memaparkan Denyutan Jantung pada LCD BATU Dengan Ar: 31 Langkah
Video: 20 Solusi Mebel Kreatif dan Ide Penghematan Ruang 2024, Julai
Anonim
Cara Memaparkan Denyutan Jantung pada LCD BATU Dengan Ar
Cara Memaparkan Denyutan Jantung pada LCD BATU Dengan Ar

pengenalan ringkas

Beberapa ketika yang lalu, saya menemui modul sensor degupan jantung MAX30100 dalam membeli-belah dalam talian. Modul ini dapat mengumpulkan data oksigen darah dan degupan jantung pengguna, yang juga mudah dan senang digunakan. Menurut data, saya dapati terdapat perpustakaan MAX30100 dalam fail perpustakaan Arduino. Maksudnya, jika saya menggunakan komunikasi antara Arduino dan MAX30100, saya boleh memanggil fail perpustakaan Arduino secara langsung tanpa perlu menulis semula fail pemacu. Ini adalah perkara yang baik, jadi saya membeli modul MAX30100.

Langkah 1: Saya Memutuskan Menggunakan Arduino untuk mengesahkan Fungsi Pengumpulan Kadar Jantung dan Oksigen Darah MAX30100

Saya Memutuskan untuk Menggunakan Arduino untuk mengesahkan Fungsi Pengumpulan Kadar Jantung dan Oksigen Darah MAX30100
Saya Memutuskan untuk Menggunakan Arduino untuk mengesahkan Fungsi Pengumpulan Kadar Jantung dan Oksigen Darah MAX30100

Catatan: modul ini secara lalai hanya dengan komunikasi MCU tahap 3.3 V, kerana secara default menggunakan rintangan penarik pin IIC 4.7 K hingga 1.8 V, jadi tidak ada komunikasi dengan Arduino secara lalai, jika anda ingin berkomunikasi dengan Arduino dan memerlukan dua 4.7 K resistor penarik pin IIC yang disambungkan ke pin VIN, kandungan ini akan diperkenalkan di bahagian belakang bab ini.

Langkah 2: Tugasan Berfungsi

Sebelum memulakan projek ini, saya memikirkan beberapa ciri mudah:

  • Data denyut jantung dan data oksigen darah dikumpulkan
  • Data kadar denyutan jantung dan oksigen darah ditunjukkan melalui skrin LCD

Ini adalah satu-satunya dua ciri, tetapi jika kita ingin menerapkannya, kita perlu berfikir lebih banyak:

  • MCU induk apa yang digunakan?
  • Paparan lcd macam mana?

Seperti yang kami sebutkan sebelumnya, kami menggunakan Arduino untuk MCU, tetapi ini adalah projek paparan LCD Arduino, jadi kami perlu memilih modul paparan LCD yang sesuai. Saya merancang untuk menggunakan skrin paparan LCD dengan port bersiri. Saya mempunyai paparan STONE STVI070WT-01 di sini, tetapi jika Arduino perlu berkomunikasi dengannya, MAX3232 diperlukan untuk melakukan penukaran tahap. Kemudian bahan elektronik asas ditentukan seperti berikut:

1. Papan pengembangan Arduino Mini Pro

2. Modul sensor denyut jantung dan oksigen darah MAX30100

3. Modul paparan port bersiri LCD STONE STVI070WT-01

4. Modul MAX3232

Langkah 3: Pengenalan Perkakasan

MAX30100

MAX30100 adalah penyelesaian sensor denyut nadi oksimetri dan denyut jantung bersepadu. Ia menggabungkan dua LED, fotodetektor, optik yang dioptimumkan, dan pemprosesan isyarat analog dengan bunyi rendah untuk mengesan oksimetri nadi dan isyarat degupan jantung.

MAX30100 beroperasi dari bekalan kuasa 1.8V dan 3.3V dan dapat dimatikan melalui perisian dengan arus siap sedia yang boleh diabaikan, yang membolehkan bekalan kuasa tetap terhubung sepanjang masa.

Langkah 4: Aplikasi

● Peranti Boleh Dipakai

● Peranti Pembantu Kecergasan

● Peranti Pemantauan Perubatan

Langkah 5: Faedah dan Ciri

1 、 Penyelesaian Pulse Oksimeter dan Sensor Denyutan Jantung Menyelesaikan Reka Bentuk

  • LED Bersepadu, Sensor Foto, dan Bahagian Depan Analog Berprestasi Tinggi
  • 5.6mm x 2.8mm x 1.2mm 14-Pin OpticalEnhanced System-in-Package kecil

2, Operasi Daya Ultra Rendah Meningkatkan Hayat Bateri untuk Peranti yang Boleh Dipakai

  • Kadar Sampel yang Boleh Diprogramkan dan Arus LED untuk Penjimatan Kuasa
  • Arus Penutupan Sangat Rendah (0.7µA, taip)

3, Fungsi Lanjutan Meningkatkan Prestasi Pengukuran

  • SNR Tinggi Memberi Ketahanan Artifak Gerak Kuat
  • Pembatalan Cahaya Ambient Bersepadu
  • Keupayaan Kadar Sampel Tinggi
  • Keupayaan Output Data yang pantas

Langkah 6: Prinsip Pengesanan

Prinsip Pengesanan
Prinsip Pengesanan

Cukup tekan jari anda ke sensor untuk mengira ketepuan oksigen nadi (SpO2) dan nadi (bersamaan dengan degupan jantung).

Pulse oximeter (oximeter) adalah spektrometer mini yang MENGGUNAKAN prinsip spektrum penyerapan sel merah yang berbeza untuk menganalisis ketepuan oksigen darah. Kaedah pengukuran masa nyata dan cepat ini juga banyak digunakan dalam banyak rujukan klinikal. Saya tidak akan memperkenalkan MAX30100 terlalu banyak, kerana bahan-bahan ini terdapat di Internet. Rakan-rakan yang berminat boleh mencari maklumat modul ujian degupan jantung ini di Internet, dan mempunyai pemahaman yang lebih mendalam mengenai prinsip pengesanannya.

Langkah 7: BATU STVI070WT-01

BATU STVI070WT-01
BATU STVI070WT-01

Pengenalan kepada paparan

Dalam projek ini, saya akan menggunakan STONE STVI070WT-01 untuk memaparkan data kadar denyutan jantung dan oksigen darah. Cip pemacu telah disatukan di dalam layar paparan, dan ada perisian untuk digunakan oleh pengguna. Pengguna hanya perlu menambahkan butang, kotak teks dan logik lain melalui gambar UI yang dirancang, dan kemudian menghasilkan fail konfigurasi dan memuat turunnya ke skrin paparan untuk dijalankan. Paparan STVI070WT-01 berkomunikasi dengan MCU melalui isyarat uart-rs232, yang bermaksud bahawa kita perlu menambahkan cip MAX3232 untuk menukar isyarat RS232 menjadi isyarat TTL, agar kita dapat berkomunikasi dengan Arduino MCU.

Langkah 8: Sekiranya Anda Tidak Memastikan Cara Menggunakan MAX3232, Sila Rujuk Gambar Berikut:

Sekiranya Anda Tidak Pasti Cara Menggunakan MAX3232, Sila Rujuk Gambar Berikut
Sekiranya Anda Tidak Pasti Cara Menggunakan MAX3232, Sila Rujuk Gambar Berikut

Sekiranya anda berpendapat bahawa penukaran tahap terlalu menyusahkan, anda boleh memilih jenis paparan BATU lain, ada yang langsung dapat mengeluarkan isyarat uart-ttl.

Laman web rasmi mempunyai maklumat dan pengenalan terperinci:

Langkah 9: Sekiranya Anda Memerlukan Tutorial Video dan Tutorial untuk Digunakan, Anda Juga Boleh Menemukannya di Laman Web Rasmi

Sekiranya Anda Memerlukan Tutorial Video dan Tutorial untuk Digunakan, Anda Juga Boleh Menemuinya di Laman Web Rasmi
Sekiranya Anda Memerlukan Tutorial Video dan Tutorial untuk Digunakan, Anda Juga Boleh Menemuinya di Laman Web Rasmi

Langkah 10: Langkah Pembangunan

Tiga langkah pengembangan skrin paparan BATU:

  • Reka logik paparan dan logik butang dengan perisian STONE TOOL, dan muat turun fail reka bentuk ke modul paparan.
  • MCU berkomunikasi dengan modul paparan LCD BATU melalui port bersiri.
  • Dengan data yang diperoleh pada langkah 2, MCU melakukan tindakan lain.

Langkah 11: Pemasangan Perisian ALAT BATU

Pemasangan Perisian ALAT BATU
Pemasangan Perisian ALAT BATU

Muat turun versi terbaru perisian STONE TOOL (kini TOOL2019) dari laman web, dan pasangkannya.

Setelah perisian dipasang, antara muka berikut akan dibuka:

Klik butang "Fail" di sudut kiri atas untuk membuat projek baru, yang akan kita bincangkan kemudian.

Langkah 12: Arduino

Arduino adalah platform prototaip sumber terbuka yang senang digunakan dan senang digunakan. Ini termasuk bahagian perkakasan (pelbagai papan pengembangan yang sesuai dengan spesifikasi Arduino) dan bahagian perisian (Arduino IDE dan alat pengembangan yang berkaitan).

Bahagian perkakasan (atau papan pengembangan) terdiri daripada mikrokontroler (MCU), memori Flash (Flash), dan sekumpulan antara muka input / output universal (GPIO), yang boleh anda fikirkan sebagai papan induk mikrokomputer. Bahagian perisian terutamanya terdiri daripada Arduino IDE pada PC, pakej sokongan peringkat papan (BSP) dan perpustakaan fungsi pihak ketiga yang kaya. Dengan Arduino IDE, anda boleh memuat turun BSP dengan mudah dengan papan pengembangan dan perpustakaan yang anda perlukan. untuk menulis program anda. Arduino adalah platform sumber terbuka. Setakat ini, terdapat banyak model dan banyak pengawal yang berasal, termasuk Arduino Uno, Arduino Nano, ArduinoYun dan sebagainya. Di samping itu, Arduino IDE kini tidak hanya menyokong papan pengembangan siri Arduino, tetapi juga menambahkan sokongan untuk papan pengembangan popular seperti sebagai Intel Galileo dan NodeMCU dengan memperkenalkan BSP.

Arduino merasakan persekitaran melalui pelbagai sensor, mengendalikan lampu, motor dan peranti lain untuk memberi makan dan mempengaruhi persekitaran. Mikrokontroler di papan dapat diprogramkan dengan bahasa pengaturcaraan Arduino, disusun menjadi binari, dan dibakar ke dalam mikrokontroler. untuk Arduino diimplementasikan dengan bahasa pengaturcaraan Arduino (berdasarkan Wiring) dan persekitaran pengembangan Arduino (berdasarkan Pemprosesan). Projek berasaskan Arduino hanya boleh memuat Arduino, serta Arduino dan perisian lain yang berjalan di PC, dan mereka saling berkomunikasi lain (seperti Flash, Pemprosesan, MaxMSP).

Langkah 13: Persekitaran Pembangunan

Persekitaran Pembangunan
Persekitaran Pembangunan

Persekitaran pembangunan Arduino adalah Arduino IDE, yang boleh dimuat turun dari Internet.

Log masuk ke laman web rasmi Arduino dan muat turun perisian https://www.arduino.cc/en/Main/Software?setlang=c… Setelah memasang Arduino IDE, antara muka berikut akan muncul semasa anda membuka perisian:

Arduino IDE membuat dua fungsi secara lalai: fungsi persediaan dan fungsi gelung. Terdapat banyak pengenalan Arduino di Internet. Sekiranya anda tidak memahami sesuatu, anda boleh pergi ke Internet untuk mencarinya.

Langkah 14: Proses Pelaksanaan Projek LCD Arduino

Proses Pelaksanaan Projek LCD Arduino
Proses Pelaksanaan Projek LCD Arduino

sambungan perkakasan

Untuk memastikan bahawa langkah seterusnya dalam menulis kod berjalan lancar, kita mesti menentukan kebolehpercayaan sambungan perkakasan terlebih dahulu.

Hanya empat bahagian perkakasan yang digunakan dalam projek ini:

1. Lembaga pengembangan pro Arduino Mini

2. Skrin paparan STONE0VIW70-tft-lcd STONE

3. MAX30100 denyut jantung dan sensor oksigen darah

4. MAX3232 (rs232-> TTL) Papan pengembangan Arduino Mini Pro dan skrin paparan TFVI-LCD STVI070WT-01 disambungkan melalui UART, yang memerlukan penukaran tahap melalui MAX3232, dan kemudian papan pengembangan Arduino Mini Pro dan modul MAX30100 disambungkan melalui Antara muka IIC. Setelah berfikir dengan jelas, kami dapat melukis gambar pendawaian berikut:

Langkah 15:

Imej
Imej

Pastikan tidak ada kesalahan dalam sambungan perkakasan dan teruskan ke langkah seterusnya.

Langkah 16: Reka Bentuk Antara Muka Pengguna TFT LCD

Reka Bentuk Antara Muka Pengguna TFT LCD
Reka Bentuk Antara Muka Pengguna TFT LCD

Pertama sekali, kita perlu merancang gambar paparan UI, yang boleh dirancang oleh PhotoShop atau alat reka bentuk gambar lain. Setelah merancang gambar paparan UI, simpan gambar dalam format JPG.

Buka perisian STONE TOOL2019 dan buat projek baru:

Langkah 17: Keluarkan Gambar yang Dimuat secara Lalai dalam Projek Baru, dan Tambahkan Gambar UI yang Kami Reka

Keluarkan Gambar yang Dimuat secara Lalai dalam Projek Baru, dan Tambahkan Gambar UI yang Kami Reka
Keluarkan Gambar yang Dimuat secara Lalai dalam Projek Baru, dan Tambahkan Gambar UI yang Kami Reka

Langkah 18: Tambahkan Komponen Paparan Teks

Tambahkan Komponen Paparan Teks
Tambahkan Komponen Paparan Teks

Tambahkan komponen paparan teks, rancang digit paparan dan titik perpuluhan, dapatkan lokasi penyimpanan komponen paparan teks di dalam paparan.

Kesannya adalah seperti berikut:

Langkah 19:

Alamat komponen paparan teks:

  • Sambungan sta: 0x0008
  • Denyut jantung: 0x0001

Oksigen darah: 0x0005 Kandungan utama antara muka UI adalah seperti berikut:

  • Status sambungan
  • Paparan kadar jantung
  • Oksigen darah menunjukkan

Langkah 20: Hasilkan Fail Konfigurasi

Hasilkan Fail Konfigurasi
Hasilkan Fail Konfigurasi

Setelah reka bentuk UI selesai, fail konfigurasi dapat dihasilkan dan dimuat turun ke paparan STVI070WT-01.

Pertama, lakukan langkah 1, kemudian masukkan pemacu denyar usb ke dalam komputer, dan simbol cakera akan dipaparkan. Kemudian klik "Muat turun ke u-disk" untuk Memuat turun fail konfigurasi ke pemacu denyar usb, dan kemudian masukkan pemacu denyar usb ke dalam STVI070WT-01 untuk menyelesaikan peningkatan.

Langkah 21: MAX30100

MAX30100
MAX30100

MAX30100 berkomunikasi melalui IIC. Prinsip kerjanya adalah bahawa nilai denyut jantung ADC dapat diperoleh melalui penyinaran led inframerah. Daftar MAX30100 boleh dibahagikan kepada lima kategori: daftar negara, FIFO, daftar kawalan, daftar suhu dan daftar ID. Daftar suhu membaca nilai suhu cip untuk membetulkan penyimpangan yang disebabkan oleh suhu. Daftar ID dapat membaca nombor ID cip.

MAX30100 dihubungkan dengan papan pengembangan Arduino Mini Pro melalui antara muka komunikasi IIC. Kerana terdapat fail perpustakaan MAX30100 siap pakai di Arduino IDE, kami dapat membaca data denyut jantung dan oksigen darah tanpa mempelajari daftar MAX30100. Bagi mereka yang berminat untuk meneroka daftar MAX30100, lihat Lembar Data MAX30100.

Langkah 22: Ubahsuai MAX30100 IIC Pull-up Resistor

Ubahsuai MAX30100 IIC Pull-up Resistor
Ubahsuai MAX30100 IIC Pull-up Resistor

Perlu diingatkan bahawa rintangan tarik 4.7k dari pin IIC modul MAX30100 disambungkan ke 1.8v, yang tidak menjadi masalah secara teori. Walau bagaimanapun, tahap logik komunikasi pin Arduino IIC adalah 5V, jadi ia tidak dapat berkomunikasi dengan Arduino tanpa mengubah perkakasan modul MAX30100. Komunikasi langsung mungkin dilakukan jika MCU adalah STM32 atau MCU tahap logik 3.3v yang lain.

Oleh itu, perubahan berikut perlu dilakukan:

Keluarkan tiga perintang 4.7k yang ditandakan dalam gambar dengan besi pematerian elektrik. Kemudian kimpal dua perintang 4.7k pada pin SDA dan SCL ke VIN, supaya kami dapat berkomunikasi dengan Arduino.

Langkah 23: Arduino

Arduino
Arduino

Buka Arduino IDE dan cari butang berikut:

Langkah 24: Cari "MAX30100" untuk Mencari Dua Perpustakaan untuk MAX30100, Kemudian Klik Muat turun dan Pasang

Carian untuk
Carian untuk

Langkah 25: Selepas Pemasangan, Anda Boleh Mencari Demo MAX30100 di Folder Perpustakaan LIB Arduino:

Selepas Pemasangan, Anda Boleh Mencari Demo MAX30100 di Folder Perpustakaan LIB Arduino
Selepas Pemasangan, Anda Boleh Mencari Demo MAX30100 di Folder Perpustakaan LIB Arduino

Langkah 26: Klik dua kali Fail untuk Membukanya

Klik dua kali Fail untuk Membukanya
Klik dua kali Fail untuk Membukanya

Langkah 27: Kod Lengkap Seperti Berikut:

Demo ini boleh diuji secara langsung. Sekiranya sambungan perkakasan baik, anda boleh memuat turun kompilasi kod ke papan pengembangan Arduibo dan melihat data MAX30100 dalam alat debug bersiri.

Kod lengkapnya adalah seperti berikut:

/ * Arduino-MAX30100 oximetry / perpustakaan sensor bersepadu kadar jantung Hak cipta (C) 2016 OXullo Intersecans Program ini adalah perisian percuma: anda boleh mengedarkannya semula dan / atau mengubahnya mengikut syarat-syarat Lesen Umum Umum GNU seperti yang diterbitkan oleh Yayasan Perisian Percuma, sama ada versi 3 dari Lesen, atau (mengikut pilihan anda) versi lain. Program ini diedarkan dengan harapan dapat bermanfaat, tetapi TANPA JAMINAN; bahkan tanpa jaminan tersirat KEBOLEHANAN atau KESESUAIAN UNTUK TUJUAN TERTENTU. Lihat Lesen Awam Umum GNU untuk maklumat lebih lanjut. Anda semestinya telah menerima salinan Lesen Awam Umum GNU bersama dengan program ini. Sekiranya tidak, lihat. * / #include #include "MAX30100_PulseOximeter.h" #define REPORTING_PERIOD_MS 1000 // PulseOximeter adalah antara muka tahap yang lebih tinggi ke sensor // ia menawarkan: // * pelaporan pengesanan denyut // * pengiraan degupan jantung // * SpO2 (tahap pengoksidaan) pengiraan poxOximeter PulseOximeter; uint32_t tsLastReport = 0; // Panggilan balik (didaftarkan di bawah) dipancarkan apabila denyutan nadi dikesan batal padaBeatDetected () {Serial.println ("Beat!"); } persediaan tidak sah () {Serial.begin (115200); Serial.print ("Memulakan pulse oximeter.."); // Memulakan contoh PulseOximeter // Kegagalan umumnya disebabkan oleh pendawaian I2C yang tidak betul, kehilangan bekalan kuasa // atau cip sasaran yang salah jika (! Pox.begin ()) {Serial.println ("GAGAL"); untuk (;;); } lain {Serial.println ("KEJAYAAN"); } // Arus lalai untuk LED IR adalah 50mA dan boleh diubah // dengan melepaskan baris berikut. Periksa MAX30100_Registers.h untuk semua // pilihan yang ada. // pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA); // Daftar panggilan balik untuk deteksi rentak pox.setOnBeatDetectedCallback (onBeatDetected); } gelung void () {// Pastikan untuk memanggil kemas kini secepat mungkin pox.update (); // Menurunkan kadar denyutan jantung dan tahap pengoksidaan secara serentak ke siri // Untuk keduanya, nilai 0 bermaksud "tidak sah" jika (milis () - tsLastReport> REPORTING_PERIOD_MS) {Serial.print ("Denyut jantung:"); Serial.print (pox.getHeartRate ()); Serial.print ("bpm / SpO2:"); Serial.print (pox.getSpO2 ()); Serial.println ("%"); tsLastReport = milis (); }}

Langkah 28:

Imej
Imej

Kod ini sangat mudah, saya percaya anda dapat memahaminya secara sepintas lalu. Saya harus mengatakan bahawa pengaturcaraan modular Arduino sangat mudah, dan saya bahkan tidak perlu memahami bagaimana kod pemacu Uart dan IIC dilaksanakan.

Sudah tentu, kod di atas adalah Demo rasmi, dan saya masih perlu membuat beberapa perubahan untuk memaparkan data ke paparan STONE.

Langkah 29: Paparkan Data ke Paparan BATU Melalui Arduino

Pertama, kita perlu mendapatkan alamat komponen yang memaparkan kadar denyutan jantung dan oksigen darah di paparan STONE:

Dalam projek saya, alamatnya adalah seperti berikut: Alamat komponen paparan denyut jantung: 0x0001 Alamat modul paparan oksigen darah: 0x0005 Alamat status sambungan sensor: 0x0008 Sekiranya anda perlu mengubah kandungan paparan di ruang yang sesuai, anda boleh mengubah kandungan paparan dengan mengirimkan data ke alamat layar paparan yang sesuai melalui port bersiri Arduino.

Langkah 30: Kod yang Diubah Seperti Berikut:

/ * Arduino-MAX30100 oximetry / perpustakaan sensor bersepadu kadar jantung Hak cipta (C) 2016 OXullo Intersecans Program ini adalah perisian percuma: anda boleh mengedarkannya semula dan / atau mengubahnya mengikut syarat-syarat Lesen Umum Umum GNU seperti yang diterbitkan oleh Yayasan Perisian Percuma, sama ada versi 3 dari Lesen, atau (mengikut pilihan anda) versi lain. Program ini diedarkan dengan harapan dapat bermanfaat, tetapi TANPA JAMINAN; bahkan tanpa jaminan tersirat KEBOLEHANAN atau KESESUAIAN UNTUK TUJUAN TERTENTU. Lihat Lesen Awam Umum GNU untuk maklumat lebih lanjut. Anda semestinya telah menerima salinan Lesen Awam Umum GNU bersama dengan program ini. Sekiranya tidak, lihat. * / #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 char unsigned char_x_xx, 0x, 0x, 0x, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00}; char yang tidak ditandatangani Sop2_send [8] = {0xA5, 0x5A, 0x05, 0x82, 0x00, / Sop2_dis_addr, 0x00, 0x00}; char tidak bertanda connect_sta_send [8] = {0xA5, 0x5A, 0x05, 0x82, 0x00, / connect_sta_addr, 0x00, 0x00}; // PulseOximeter adalah antara muka tahap yang lebih tinggi ke sensor // ia menawarkan: // * pelaporan pengesanan degupan // * pengiraan kadar denyut jantung // * pengiraan SpO2 (tahap pengoksidaan) PulseOximeter pox; uint32_t tsLastReport = 0; // Panggilan balik (didaftarkan di bawah) dipecat apabila nadi dikesan batal padaBeatDetected () {// Serial.println ("Beat!"); } batal persediaan () {Serial.begin (115200); // Serial.print ("Memulakan pulse oximeter.."); // Memulakan contoh PulseOximeter // Kegagalan biasanya disebabkan oleh pendawaian I2C yang tidak betul, kehilangan bekalan kuasa // atau cip sasaran yang salah jika (! Pox.begin ()) {// Serial.println ("GAGAL"); // connect_sta_send [7] = 0x00; // Serial.write (connect_sta_send, 8); untuk (;;); } lain {connect_sta_send [7] = 0x01; Serial.write (connect_sta_send, 8); // Serial.println ("KEJAYAAN"); } // Arus lalai untuk LED IR adalah 50mA dan boleh diubah // dengan melepaskan baris berikut. Periksa MAX30100_Registers.h untuk semua // pilihan yang ada.pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA); // Daftar panggilan balik untuk deteksi rentak pox.setOnBeatDetectedCallback (onBeatDetected); } gelung void () {// Pastikan untuk memanggil kemas kini secepat mungkin pox.update (); // Menurunkan kadar denyutan jantung dan tahap pengoksidaan secara serentak ke siri // Bagi keduanya, nilai 0 bermaksud "tidak sah" jika (milis () - tsLastReport> REPORTING_PERIOD_MS) {// Serial.print ("Denyut jantung:"); // 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 = milis (); }}

Langkah 31: Paparkan Denyut Jantung pada LCD Dengan Arduino

Paparkan Denyut Jantung pada LCD Dengan Arduino
Paparkan Denyut Jantung pada LCD Dengan Arduino

Susun kodnya, muat turun ke papan pengembangan Arduino, dan anda sudah bersedia untuk memulakan ujian.

Kita dapat melihat bahawa ketika jari keluar dari MAX30100, kadar denyutan jantung dan oksigen darah 0. Letakkan jari anda pada pengumpul MAX30100 untuk melihat kadar denyutan jantung dan oksigen darah anda dalam masa nyata.

Kesannya dapat dilihat pada gambar berikut:

Disyorkan: