Mündəricat:

Ar: 31 Addımlı STONE LCD -də Ürək Nəbzini Necə Göstərmək olar
Ar: 31 Addımlı STONE LCD -də Ürək Nəbzini Necə Göstərmək olar

Video: Ar: 31 Addımlı STONE LCD -də Ürək Nəbzini Necə Göstərmək olar

Video: Ar: 31 Addımlı STONE LCD -də Ürək Nəbzini Necə Göstərmək olar
Video: НЕ УПАДИТЕ! ЖЁНЫ АРАБСКИХ ШЕЙХОВ! Как выглядят и живут красавицы Ближнего Востока! 2024, Iyul
Anonim
Ar ilə STONE LCD -də Ürək Nəbzini Necə Göstərmək olar
Ar ilə STONE LCD -də Ürək Nəbzini Necə Göstərmək olar

qısa giriş

Bir müddət əvvəl onlayn alış -verişdə MAX30100 nəbz sensoru modulu tapdım. Bu modul istifadəçilərin qan oksigen və nəbz məlumatlarını toplaya bilər ki, bu da istifadəsi sadə və rahatdır. Məlumatlara görə, Arduino kitabxana sənədlərində MAX30100 kitabxanalarının olduğunu gördüm. Yəni Arduino və MAX30100 arasındakı ünsiyyətdən istifadə etsəm, sürücü fayllarını yenidən yazmadan Arduino kitabxana fayllarına birbaşa zəng edə bilərəm. Bu yaxşı bir şeydir, buna görə MAX30100 modulunu aldım.

Addım 1: MAX30100 -ün ürək dərəcəsini və qan oksigen toplama funksiyasını yoxlamaq üçün Arduino istifadə etməyə qərar verdim

MAX30100 -ün nəbzini və qan oksigen toplama funksiyasını yoxlamaq üçün Arduinodan istifadə etməyə qərar verdim
MAX30100 -ün nəbzini və qan oksigen toplama funksiyasını yoxlamaq üçün Arduinodan istifadə etməyə qərar verdim

Qeyd: bu modul, standart olaraq yalnız 3.3 V səviyyəli MCU əlaqələri ilə əlaqədardır, çünki IIC pinindən istifadə etmək üçün standart olaraq 4.7 K -dan 1.8 V -a qədər müqavimət qaldırır, buna görə də Arduino ilə ünsiyyət qurmaq istəyirsinizsə Arduino ilə heç bir əlaqə yoxdur. və VIN pininə bağlı olan 2 ədəd 4.7 K IIC pinli çəkmə direncinə ehtiyacınız varsa, bu məzmun fəslin arxasında təqdim ediləcək.

Addım 2: Funksional Təyinatlar

Bu layihəyə başlamazdan əvvəl bəzi sadə xüsusiyyətlər haqqında düşündüm:

  • Ürək dərəcəsi məlumatları və qan oksigen məlumatları toplandı
  • Ürək dərəcəsi və qan oksigen məlumatları LCD ekran vasitəsilə göstərilir

Bunlar yalnız iki xüsusiyyətdir, amma tətbiq etmək istəyiriksə, daha çox düşünməliyik:

  • Hansı əsas MCU istifadə olunur?
  • Nə cür lcd ekran?

Daha əvvəl də qeyd etdiyimiz kimi, MCU üçün Arduinodan istifadə edirik, lakin bu bir Arduino LCD ekran layihəsidir, buna görə də uyğun LCD ekran modulunu seçməliyik. LCD ekranını seriyalı portlu istifadə etməyi planlaşdırıram. Burada STONE STVI070WT-01 displeyim var, amma Arduino ilə əlaqə qurmaq lazımdırsa, səviyyəli dönüşüm etmək üçün MAX3232 lazımdır. Sonra əsas elektron materiallar aşağıdakı kimi müəyyən edilir:

1. Arduino Mini Pro inkişaf lövhəsi

2. MAX30100 nəbz və qan oksigen sensoru modulu

3. STONE STVI070WT-01 LCD seriyalı port ekran modulu

4. MAX3232 modulu

Addım 3: Avadanlıq Giriş

MAX30100

MAX30100, nəbz oksimetriyası və nəbz monitoru sensoru həllidir. Pulse oksimetriya və ürək dərəcəsi siqnallarını aşkar etmək üçün iki LED, bir fotodetektor, optimallaşdırılmış optika və aşağı səs-küylü analoq siqnalın işlənməsini birləşdirir.

MAX30100 1.8V və 3.3V enerji təchizatı ilə işləyir və gözləmə cərəyanı cüzi olan proqram təminatı ilə söndürülə bilər, bu da enerji təchizatının hər zaman bağlı qalmasına imkan verir.

Addım 4: Tətbiqlər

● Geyinilə bilən Cihazlar

● Fitness Assistant Cihazları

● Tibbi Nəzarət Cihazları

Addım 5: Faydaları və Xüsusiyyətləri

1, Tam Pulse Oksimetr və Nəbz Sensorları Dizaynı asanlaşdırır

  • İnteqrasiya edilmiş LEDlər, Foto Sensoru və Yüksək Performanslı Analog Ön -Sonu
  • Kiçik 5.6mm x 2.8mm x 1.2mm 14 Pimli Optik olaraq Gücləndirilmiş Sistem Paketi

2, Ultra Aşağı Güclü Əməliyyat, Geyinilə bilən Cihazlar üçün Batareya Ömrünü Artırır

  • Proqramlaşdırıla bilən Nümunə Hızı və Güc Qənaəti üçün LED Cərəyanı
  • Ultra Aşağı Kapatma Cərəyanı (0.7µA, tip)

3, qabaqcıl funksionallıq ölçmə performansını yaxşılaşdırır

  • Yüksək SNR, Sağlam Hərəkət Artefaktına Dözümlülük təmin edir
  • Integrated Ambient Light Cancelation
  • Yüksək Nümunə Oranı Qabiliyyəti
  • Sürətli Məlumat Çıxış qabiliyyəti

Addım 6: Algılama Prinsipi

Algılama Prinsipi
Algılama Prinsipi

Pulse oksigen doyma (SpO2) və nəbzi (ürək döyüntüsünə bərabər) qiymətləndirmək üçün barmağınızı sensora basmanız kifayətdir.

Pulse oksimetr (oksimetr), qanın oksigen doymasını analiz etmək üçün müxtəlif qırmızı hüceyrə udma spektrlərinin prinsiplərindən istifadə edən bir mini-spektrometrdir. Bu real vaxt və sürətli ölçmə metodu bir çox klinik istinadlarda da geniş istifadə olunur. MAX30100 -ni çox tanıtmayacağam, çünki bu materiallar İnternetdə mövcuddur. Maraqlanan dostlar, bu nəbz test modulunun məlumatlarını İnternetdə axtara və aşkarlama prinsipini daha dərindən anlaya bilərlər.

Addım 7: STONE STVI070WT-01

STONE STVI070WT-01
STONE STVI070WT-01

Göstəriciyə giriş

Bu layihədə, STONE STVI070WT-01-dən istifadə edərək ürək dərəcəsi və qan oksigen məlumatlarını göstərəcəyəm. Sürücü çipi ekranın içərisinə daxil edilmişdir və istifadəçilərin istifadə edə biləcəyi bir proqram var. İstifadəçilərin dizayn edilmiş UI şəkilləri vasitəsi ilə yalnız düymələr, mətn qutuları və digər məntiq əlavə etmələri, sonra da konfiqurasiya sənədləri yaratmaları və işə salmaq üçün onları ekrana yükləmələri lazımdır. STVI070WT-01 ekranı MCU ilə uart-rs232 siqnalı vasitəsilə əlaqə qurur, yəni RS232 siqnalını TTL siqnalına çevirmək üçün MAX3232 çipi əlavə etməliyik ki, Arduino MCU ilə əlaqə saxlaya bilək.

Addım 8: MAX3232 -dən necə istifadə edəcəyinizə əmin deyilsinizsə, aşağıdakı şəkillərə baxın:

MAX3232 -dən necə istifadə edəcəyinizə əmin deyilsinizsə, aşağıdakı şəkillərə baxın
MAX3232 -dən necə istifadə edəcəyinizə əmin deyilsinizsə, aşağıdakı şəkillərə baxın

Səviyyə çevrilməsinin çox çətin olduğunu düşünürsünüzsə, bəziləri birbaşa uart-ttl siqnalı çıxara bilən digər STONE ekran növlərini seçə bilərsiniz.

Rəsmi veb saytında ətraflı məlumat və giriş var:

Addım 9: İstifadə etmək üçün Video Dərslikləri və Dərsliklərə ehtiyacınız varsa, Rəsmi Veb saytında da tapa bilərsiniz

İstifadə etmək üçün Video Dərsliklərinə və Dərsliklərə ehtiyacınız varsa, Rəsmi Veb Saytda da tapa bilərsiniz
İstifadə etmək üçün Video Dərsliklərinə və Dərsliklərə ehtiyacınız varsa, Rəsmi Veb Saytda da tapa bilərsiniz

Addım 10: İnkişaf addımları

STONE ekran ekran inkişafının üç mərhələsi:

  • STONE TOOL proqramı ilə ekran məntiqi və düymə məntiqini dizayn edin və dizayn faylını ekran moduluna yükləyin.
  • MCU, STONE LCD ekran modulu ilə serial port vasitəsilə əlaqə qurur.
  • 2 -ci addımda əldə edilən məlumatlar ilə MCU başqa hərəkətlər edir.

Addım 11: STONE TOOL Proqramının Quraşdırılması

STONE TOOL Proqramının Quraşdırılması
STONE TOOL Proqramının Quraşdırılması

STONE TOOL proqramının son versiyasını (hazırda TOOL2019) veb saytından yükləyin və quraşdırın.

Proqram quraşdırıldıqdan sonra aşağıdakı interfeys açılacaq:

Daha sonra müzakirə edəcəyimiz yeni bir layihə yaratmaq üçün sol üst küncdəki "Fayl" düyməsini basın.

Addım 12: Arduino

Arduino, istifadəsi asan və istifadəsi asan olan açıq mənbə elektron prototip platformasıdır. Buraya hardware hissəsi (Arduino spesifikasiyasına uyğun müxtəlif inkişaf lövhələri) və proqram hissəsi (Arduino IDE və əlaqəli inkişaf dəstləri) daxildir.

Avadanlıq hissəsi (və ya inkişaf lövhəsi) bir mikrokontrolördən (MCU), Flash yaddaşından (Flash) və bir mikrokompüter anakartı olaraq düşünə biləcəyiniz universal giriş/çıxış interfeyslərindən (GPIO) ibarətdir. Proqram hissəsi əsasən PC-də Arduino IDE, əlaqəli lövhə səviyyəli dəstək paketi (BSP) və zəngin üçüncü tərəf funksiyalar kitabxanasından ibarətdir. Arduino IDE ilə inkişaf lövhəniz və ehtiyac duyduğunuz kitabxanalarla əlaqəli BSP-ni asanlıqla yükləyə bilərsiniz. proqramlarınızı yazmaq üçün. Arduino açıq mənbə platformadır. İndiyə qədər Arduino Uno, Arduino Nano, ArduinoYun və sair daxil olmaqla bir çox modellər və bir çox törəmə idarəedicilər olmuşdur. BSP təqdim edərək Intel Galileo və NodeMCU olaraq.

Arduino, ətrafdakıları qidalandırmaq və ətrafa təsir etmək üçün müxtəlif sensorlar, işıqlar, mühərriklər və digər qurğular vasitəsi ilə ətraf mühiti hiss edir. Göyərtədəki mikro nəzarətçi Arduino proqramlaşdırma dili ilə proqramlaşdırıla bilər, ikili fayllara yığılır və mikro nəzarətçiyə yandırılır. Arduino üçün Arduino proqramlaşdırma dili (Kablolama əsasında) və Arduino inkişaf mühiti (İşlənməyə əsaslanaraq) tətbiq olunur. digərləri (Flash, Qenerasiya, MaxMSP kimi).

Addım 13: İnkişaf mühiti

İnkişaf mühiti
İnkişaf mühiti

Arduino inkişaf mühiti İnternetdən yüklənə bilən Arduino IDE -dir.

Arduinonun rəsmi saytına daxil olun və proqramı yükləyin https://www.arduino.cc/en/Main/Software?setlang=c… Arduino IDE qurduqdan sonra proqramı açdığınız zaman aşağıdakı interfeys görünəcək:

Arduino IDE standart olaraq iki funksiya yaradır: quraşdırma funksiyası və döngə funksiyası. İnternetdə bir çox Arduino təqdimatı var. Bir şeyi başa düşmürsənsə, onu tapmaq üçün İnternetə girə bilərsən.

Addım 14: Arduino LCD Layihəsinin Tətbiqi Prosesi

Arduino LCD Layihəsinin Tətbiq Edilməsi Prosesi
Arduino LCD Layihəsinin Tətbiq Edilməsi Prosesi

hardware bağlantısı

Kod yazmaqda növbəti addımın rahat getməsini təmin etmək üçün əvvəlcə hardware bağlantısının etibarlılığını təyin etməliyik.

Bu layihədə yalnız dörd ədəd hardware istifadə edildi:

1. Arduino Mini pro inkişaf lövhəsi

2. STONE STVI070WT-01 tft-lcd ekran

3. MAX30100 nəbz və qan oksigen sensoru

4. MAX3232 (rs232-> TTL) Arduino Mini Pro inkişaf lövhəsi və STVI070WT-01 TFT-LCD ekran ekranı, MAX3232 vasitəsilə səviyyəli çevrilmə tələb edən UART vasitəsi ilə, sonra Arduino Mini Pro inkişaf lövhəsi və MAX30100 modulu vasitəsilə birləşdirilir. IIC interfeysi. Aydın düşündükdən sonra aşağıdakı tel şəklini çəkə bilərik:

Addım 15:

Şəkil
Şəkil

Avadanlıq əlaqəsində heç bir səhv olmadığından əmin olun və növbəti addıma keçin.

Addım 16: TFT LCD istifadəçi interfeysi dizaynı

TFT LCD istifadəçi interfeysi dizaynı
TFT LCD istifadəçi interfeysi dizaynı

Hər şeydən əvvəl, PhotoShop və ya digər görüntü dizayn vasitələri ilə dizayn edilə bilən bir UI ekran görüntüsü dizayn etməliyik. UI ekran görüntüsünü tərtib etdikdən sonra görüntünü-j.webp

STONE TOOL2019 proqramını açın və yeni bir layihə yaradın:

Addım 17: Yeni Layihədə Varsayılan olaraq Yüklənmiş Şəkli Silin və Dizayn Etdiyimiz UI Şəkilini əlavə edin

Yeni Layihədə Varsayılan olaraq Yüklənmiş Şəkli silin və Dizayn etdiyimiz UI Şəkilini əlavə edin
Yeni Layihədə Varsayılan olaraq Yüklənmiş Şəkli silin və Dizayn etdiyimiz UI Şəkilini əlavə edin

Addım 18: Mətn Görüntü Komponentini əlavə edin

Mətn göstərmə komponentini əlavə edin
Mətn göstərmə komponentini əlavə edin

Mətn göstərmə komponentini əlavə edin, ekranın rəqəmini və ondalık nöqtəsini tərtib edin, mətn ekran komponentinin saxlama yerini displeydə əldə edin.

Təsiri belədir:

Addım 19:

Mətn göstərmə komponenti ünvanı:

  • Bağlantı nöqtəsi: 0x0008
  • Nəbz: 0x0001

Qan oksigeni: 0x0005 UI interfeysinin əsas məzmunu aşağıdakılardır:

  • Bağlantı vəziyyəti
  • Ürək dərəcəsi göstəricisi
  • Qan oksigeni göstərdi

Addım 20: Konfiqurasiya Faylını yaradın

Konfiqurasiya Faylını yaradın
Konfiqurasiya Faylını yaradın

UI dizaynı tamamlandıqdan sonra konfiqurasiya faylı yaradıla və STVI070WT-01 ekranına yüklənə bilər.

Əvvəlcə 1 -ci addımı yerinə yetirin, sonra USB flash sürücüsünü kompüterə daxil edin və disk simvolu görünəcək. Daha sonra konfiqurasiya faylını USB flash sürücüsünə yükləmək üçün "u-diskə yüklə" düyməsini basın və sonra yeniləməni başa çatdırmaq üçün USB flash sürücünü STVI070WT-01-ə daxil edin.

Addım 21: MAX30100

MAX30100
MAX30100

MAX30100 IIC vasitəsi ilə əlaqə qurur. İş prinsipi ürək dərəcəsinin ADC dəyərinin infraqırmızı LED şüalanma yolu ilə əldə edilməsidir. MAX30100 reyestri beş kateqoriyaya bölünə bilər: dövlət reyestri, FIFO, nəzarət reyestri, temperatur qeydiyyatı və şəxsiyyət reyestri. Temperaturun səbəb olduğu sapmanı düzəltmək üçün çipin temperatur dəyərini oxuyur. ID reyestri çipin ID nömrəsini oxuya bilər.

MAX30100, IIC ünsiyyət interfeysi vasitəsilə Arduino Mini Pro inkişaf lövhəsi ilə əlaqələndirilir. Arduino IDE-də hazır MAX30100 kitabxana faylları olduğu üçün MAX30100 qeydlərini öyrənmədən nəbz və qan oksigen məlumatlarını oxuya bilərik.

Addım 22: MAX30100 IIC Pull-up Resistorunu dəyişdirin

MAX30100 IIC çəkmə müqavimətini dəyişdirin
MAX30100 IIC çəkmə müqavimətini dəyişdirin

Qeyd etmək lazımdır ki, MAX30100 modulunun IIC pininin 4.7k çəkmə müqaviməti 1.8v-ə bağlıdır, bu nəzəriyyədə problem deyil. Bununla birlikdə, Arduino IIC pininin ünsiyyət məntiqi səviyyəsi 5V -dir, buna görə MAX30100 modulunun aparatını dəyişdirmədən Arduino ilə əlaqə qura bilməz. MCU STM32 və ya başqa bir 3.3v məntiqi səviyyəli MCU olarsa birbaşa əlaqə mümkündür.

Buna görə aşağıdakı dəyişikliklər edilməlidir:

Şəkildə qeyd olunan üç 4.7k rezistoru elektrik lehimləmə dəmiri ilə çıxarın. Sonra Arduino ilə ünsiyyət qurmaq üçün SDA və SCL pinlərində 4.7k iki rezistoru qaynaqlayın.

Addım 23: Arduino

Arduino
Arduino

Arduino IDE -ni açın və aşağıdakı düymələri tapın:

Adım 24: MAX30100 üçün iki kitabxana tapmaq üçün "MAX30100" axtarın, Sonra Yüklə və Yüklə düyməsini basın

Axtarmaq
Axtarmaq

Addım 25: Quraşdırıldıqdan sonra Arduinonun LIB Kitabxana Qovluğunda MAX30100 Demosunu tapa bilərsiniz:

Quraşdırmadan sonra Arduinonun LIB Kitabxana Qovluğunda MAX30100 Demosunu tapa bilərsiniz
Quraşdırmadan sonra Arduinonun LIB Kitabxana Qovluğunda MAX30100 Demosunu tapa bilərsiniz

Addım 26: Açmaq üçün Faylı iki dəfə vurun

Açmaq üçün Faylı iki dəfə vurun
Açmaq üçün Faylı iki dəfə vurun

Addım 27: Tam Kod aşağıdakı kimidir:

Bu Demo birbaşa sınaqdan keçirilə bilər. Donanım bağlantısı qaydasındadırsa, kod tərtibini Arduibo inkişaf lövhəsinə yükləyə və serial ayıklama alətində MAX30100 məlumatlarını görə bilərsiniz.

Tam kod aşağıdakı kimidir:

/* Arduino-MAX30100 oksimetri /ürək dərəcəsi inteqrasiya edilmiş sensor kitabxanası Müəlliflik hüququ (C) 2016 OXullo Intersecans Bu proqram pulsuz bir proqramdır: Azad Proqram Vəqfi tərəfindən nəşr olunduğu kimi GNU Ümumi İctimai Lisenziyanın şərtləri altında yenidən paylaya və /və ya dəyişdirə bilərsiniz., ya Lisenziyanın 3 -cü versiyası, ya da (seçiminizə görə) hər hansı bir sonrakı versiyası. Bu proqram faydalı olacağı ümidi ilə paylanır, amma HƏR ZƏMANƏT OLMADAN; TƏCİLİ MƏQSƏDƏ SATILIŞ və ya Uyğunluq zəmanəti olmadan. Daha ətraflı məlumat üçün GNU General Public License -ə baxın. Bu proqramla birlikdə GNU Ümumi Dövlət Lisenziyasının bir nüsxəsini almalı idiniz. Əgər yoxsa, bax. */ #include #include "MAX30100_PulseOximeter.h" #REPORTING_PERIOD_MS 1000 təyin edin // PulseOximeter, sensorun daha yüksək səviyyəli interfeysidir // təklif edir: // * döyüntü aşkarlama hesabatı // * nəbz hesablanması // * SpO2 (oksidləşmə səviyyəsi)) PulseOximeter pox hesablanması; uint32_t tsLastReport = 0; // Geri çağırma (aşağıda qeyd olunur) nəbz aşkar edildikdə işə salınır void onBeatDetected () {Serial.println ("Beat!"); } void setup () {Serial.begin (115200); Serial.print ("Pulse oksimetrinin işə salınması.."); // PulseOximeter nümunəsini işə salın // Uğursuzluqlar ümumiyyətlə səhv I2C naqillərindən, enerji təchizatının çatışmazlığından və ya səhv hədəf çipindən (əgər! üçün (;;); } başqa {Serial.println ("SUCCESS"); } // IR LED -i üçün standart cərəyan 50mA -dır və aşağıdakı sətri şərh etmədən // dəyişdirilə bilər. Bütün // mövcud variantlar üçün MAX30100_Registers.h yoxlayın. // pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA); // Zərərin aşkarlanması üçün geri çağırışı qeyd edin pox.setOnBeatDetectedCallback (onBeatDetected); } void loop () {// Yeniləməni mümkün qədər tez çağırdığınızdan əmin olun pox.update (); // Asinxron olaraq ürək dərəcəsini və oksidləşmə səviyyələrini seriala atın // Hər ikisi üçün 0 dəyəri "millis () - tsLastReport> REPORTING_PERIOD_MS) {Serial.print (" Ürək dərəcəsi: "); Serial.print (pox.getHeartRate ()); Serial.print ("bpm / SpO2:"); Serial.print (pox.getSpO2 ()); Serial.println ("%"); tsLastReport = millis (); }}

Addım 28:

Şəkil
Şəkil

Bu kod çox sadədir, inanıram ki, bir baxışdan başa düşə bilərsiniz. Deməliyəm ki, Arduinonun modul proqramlaşdırması çox rahatdır və Uart və IIC -nin sürücü kodunun necə tətbiq olunduğunu anlamağa belə ehtiyacım yoxdur.

Əlbəttə ki, yuxarıdakı kod rəsmi bir Demodur və məlumatları STONE ekranında göstərmək üçün hələ də bəzi dəyişikliklər etməliyəm.

Addım 29: Arduino vasitəsi ilə məlumatları STONE Displayer -ə göstərin

Birincisi, STONE ekranında nəbz və qan oksigen məlumatlarını göstərən komponentin ünvanını almalıyıq:

Layihəmdə ünvan belədir: Ürək dərəcəsi göstəricisi komponenti ünvanı: 0x0001 Qan oksigen göstərici modulunun ünvanı: 0x0005 Sensor bağlantısı status ünvanı: 0x0008 Müvafiq məkanda ekran məzmununu dəyişdirmək lazımdırsa, ekran məzmununu dəyişə bilərsiniz. Arduino seriyalı portu vasitəsilə məlumatları ekranın müvafiq ünvanına göndərməklə.

Addım 30: Dəyişdirilmiş Kod aşağıdakı kimidir:

/* Arduino-MAX30100 oksimetriya /ürək dərəcəsi inteqrasiya edilmiş sensor kitabxanası Müəlliflik hüququ (C) 2016 OXullo Intersecans Bu proqram pulsuz bir proqramdır: Azad Proqram Vəqfi tərəfindən nəşr olunduğu kimi GNU Ümumi İctimai Lisenziyası şərtləri altında yenidən paylaya və /və ya dəyişdirə bilərsiniz., ya Lisenziyanın 3 -cü versiyası, ya da (seçiminizə görə) hər hansı bir sonrakı versiyası. Bu proqram faydalı olacağı ümidi ilə paylanır, amma HƏR ZƏMANƏT OLMADAN; TƏCİLİ MƏQSƏDƏ SATILIŞ və ya Uyğunluq zəmanəti olmadan. Daha ətraflı məlumat üçün GNU General Public License -ə baxın. Bu proqramla birlikdə GNU Ümumi Dövlət Lisenziyasının bir nüsxəsini almalı idiniz. Əgər yoxsa, bax. */ #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, 0xx, 0xx, 0x8, 0x5, 0 0x00}; imzasız char Sop2_send [8] = {0xA5, 0x5A, 0x05, 0x82, 0x00, / Sop2_dis_addr, 0x00, 0x00}; imzasız char connect_sta_send [8] = {0xA5, 0x5A, 0x05, 0x82, 0x00, / connect_sta_addr, 0x00, 0x00}; // PulseOximeter, sensora daha yüksək səviyyəli bir interfeysdir // təklif edir: // * döyüntülərin aşkarlanması haqqında hesabatların verilməsi // * ürək dərəcəsinin hesablanması // * SpO2 (oksidləşmə səviyyəsinin) hesablanması PulseOximeter pox; uint32_t tsLastReport = 0; // Geri çağırma (aşağıda qeyd olunur) nəbz aşkar edildikdə işə salınır void onBeatDetected () {// Serial.println ("Beat!"); } void setup () {Serial.begin (115200); // Serial.print ("Pulse oksimetrinin işə salınması.."); // PulseOximeter nümunəsini işə salın // Uğursuzluqlar ümumiyyətlə I2C -nin düzgün olmayan naqilləri, çatışmayan enerji təchizatı // və ya səhv hədəf çipi (əgər! // connect_sta_send [7] = 0x00; // Serial.write (connect_sta_send, 8); üçün (;;); } başqa {connect_sta_send [7] = 0x01; Serial.write (connect_sta_send, 8); // Serial.println ("UĞUR"); } // IR LED -i üçün standart cərəyan 50mA -dır və aşağıdakı sətri şərh etmədən // dəyişdirilə bilər. Bütün // mövcud variantlar üçün MAX30100_Registers.h yoxlayın.pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA); // Zərərin aşkarlanması üçün geri çağırışı qeyd edin pox.setOnBeatDetectedCallback (onBeatDetected); } void loop () {// Yeniləməni mümkün qədər tez çağırdığınızdan əmin olun pox.update (); // Asinxron olaraq ürək dərəcəsini və oksidləşmə səviyyəsini seriala atın // Hər ikisi üçün 0 dəyəri "millis () - tsLastReport> REPORTING_PERIOD_MS) {" Serial.print ("Ürək dərəcəsi:"); // 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 (); }}

Addım 31: Arduino ilə LCD -də ürək dərəcəsini göstərin

Arduino ilə LCD -də ürək dərəcəsini göstərin
Arduino ilə LCD -də ürək dərəcəsini göstərin

Kodu tərtib edin, Arduino inkişaf lövhəsinə yükləyin və sınağa başlamağa hazırsınız.

Barmaqların MAX30100-dən ayrıldıqda ürək dərəcəsi və qan oksigeninin 0 olduğunu görə bilərik. Nəbzinizi və qan oksigen səviyyənizi real vaxtda görmək üçün barmağınızı MAX30100 kollektorunun üzərinə qoyun.

Təsiri aşağıdakı şəkildə görmək olar:

Tövsiyə: