Talaan ng mga Nilalaman:

Paano Maipakita ang Rate ng Puso sa STONE LCD Na May Ar: 31 Mga Hakbang
Paano Maipakita ang Rate ng Puso sa STONE LCD Na May Ar: 31 Mga Hakbang

Video: Paano Maipakita ang Rate ng Puso sa STONE LCD Na May Ar: 31 Mga Hakbang

Video: Paano Maipakita ang Rate ng Puso sa STONE LCD Na May Ar: 31 Mga Hakbang
Video: And Peter | J. Wilbur Chapman | Christian Audiobook 2024, Hulyo
Anonim
Paano Maipakita ang Rate ng Puso sa STONE LCD Na May Ar
Paano Maipakita ang Rate ng Puso sa STONE LCD Na May Ar

maikling pagpapakilala

Ilang oras ang nakakaraan, nakakita ako ng module ng rate ng rate ng rate ng puso MAX30100 sa pamimili sa online. Ang module na ito ay maaaring mangolekta ng oxygen ng dugo at rate ng rate ng puso ng mga gumagamit, na simple at maginhawa ring gamitin. Ayon sa data, nalaman kong mayroong mga aklatan ng MAX30100 sa mga file ng library ng Arduino. Iyon ay upang sabihin, kung gagamitin ko ang komunikasyon sa pagitan ng Arduino at MAX30100, maaari kong direktang tawagan ang mga file ng library ng Arduino nang hindi kinakailangang muling isulat ang mga file ng driver. Ito ay isang magandang bagay, kaya't binili ko ang module ng MAX30100.

Hakbang 1: Nagpasya Akong Gumamit ng Arduino upang Patunayan ang Pag-andar ng Rate ng Puso at Dugo ng Koleksyon ng Oxygen ng MAX30100

Napagpasyahan kong Gumamit ng Arduino upang Patunayan ang Pag-andar ng Rate ng Puso at Dugo ng Koleksyon ng Oxygen ng MAX30100
Napagpasyahan kong Gumamit ng Arduino upang Patunayan ang Pag-andar ng Rate ng Puso at Dugo ng Koleksyon ng Oxygen ng MAX30100

Tandaan: ang modyul na ito sa pamamagitan lamang ng default na may mga pakikipag-usap sa antas ng 3.3 V na MCU, sapagkat nag-default ito sa paggamit ng IIC pin na nakuha ang pagtutol ng 4.7 K hanggang 1.8 V, kaya walang komunikasyon sa Arduino bilang default, kung nais mong makipag-usap sa Arduino at kailangan ng dalawang 4.7 K ng IIC pin pull-up risistor na konektado sa VIN pin, ang mga nilalaman na ito ay ipapakilala sa likod ng kabanata.

Hakbang 2: Mga Functional Assignment

Bago simulan ang proyektong ito, naisip ko ang tungkol sa ilang mga simpleng tampok:

  • Ang data ng rate ng puso at data ng oxygen sa dugo ay nakolekta
  • Ang data ng rate ng puso at oxygen ng dugo ay ipinapakita sa pamamagitan ng isang LCD screen

Ito lamang ang dalawang tampok, ngunit kung nais nating ipatupad ito, kailangan nating gumawa ng higit na pag-iisip:

  • Anong master MCU ang ginagamit?
  • Anong uri ng lcd displayer?

Tulad ng nabanggit namin kanina, ginagamit namin ang Arduino para sa MCU, ngunit ito ay isang proyekto ng pagpapakita ng Arduino LCD, kaya kailangan naming pumili ng naaangkop na LCD display module. Plano kong gamitin ang LCD display screen na may serial port. Mayroon akong isang tagapakita ng STONE STVI070WT-01 dito, ngunit kung kailangan ng Arduino na makipag-usap dito, kinakailangan ang MAX3232 upang gawin ang antas ng conversion. Pagkatapos ang mga pangunahing elektronikong materyales ay natutukoy tulad ng sumusunod:

1. Arduino Mini Pro development board

2. MAX30100 rate ng puso at module ng oxygen oxygen sensor

3. STONE STVI070WT-01 LCD serial port module ng pagpapakita

4. MAX3232 module

Hakbang 3: Panimula sa Hardware

MAX30100

Ang MAX30100 ay isang integrated pulse oximetry at solusyon sa rate ng monitor ng rate ng puso. Pinagsasama nito ang dalawang LEDs, isang photodetector, na-optimize na optika, at low-noise na pagproseso ng signal ng analog upang makita ang pulse oximetry at mga signal ng rate ng puso.

Nagpapatakbo ang MAX30100 mula sa 1.8V at 3.3V na mga power supply at maaaring mapagana sa pamamagitan ng software na may kapabayaan na kasalukuyang standby, na pinapayagan ang power supply na manatiling konektado sa lahat ng oras.

Hakbang 4: Mga Aplikasyon

● Masusuot na Mga Device

● Mga Device sa Fitness Assistant

● Mga Device sa Pagmamanman ng Medikal

Hakbang 5: Mga Pakinabang at Tampok

1, Kumpletuhin ang Pulse Oximeter at Heart-Rate SensorSolution na Pinasimple ang Disenyo

  • Pinagsamang LEDs, Photo Sensor, at mataas na Pagganap Analog Front -End
  • Maliliit na 5.6mm x 2.8mm x 1.2mm 14-Pin OpticallyEnhanced System-in-Package

2, Ang Operasyong Ultra-Mababang-Kapangyarihan ay Nagdaragdag ng Buhay ng Baterya para sa Masusuot na Mga Device

  • Programmable Sample Rate at LED Kasalukuyang para sa Power Savings
  • Kasalukuyang Ultra-Mababang Shutdown (0.7µA, uri)

3, Ang Advanced na Pag-andar ay nagpapabuti sa Pagganap ng Pagsukat

  • Nagbibigay ang Mataas na SNR ng Matatag na Motion Artifact Resilience
  • Pinagsama-sama na Pagkansela ng Banayad na Ambient
  • Mataas na Kakayahang Rate ng Sample
  • Mabilis na Kakayahang Output ng Data

Hakbang 6: Prinsipyo sa Pagtuklas

Prinsipyo sa Pagtuklas
Prinsipyo sa Pagtuklas

Pindutin lamang ang iyong daliri laban sa sensor upang tantyahin ang saturation ng pulso oxygen (SpO2) at pulso (katumbas ng tibok ng puso).

Ang pulse oximeter (oximeter) ay isang mini-spectrometer na GINAMIT ang mga prinsipyo ng iba't ibang spasyo ng pagsipsip ng red cell upang pag-aralan ang saturation ng oxygen ng dugo. Ang real-time at mabilis na pamamaraan ng pagsukat na ito ay malawak ding ginagamit sa maraming mga sanggunian sa klinikal. Hindi ko masyadong ipakikilala ang MAX30100, dahil ang mga materyal na ito ay magagamit sa Internet. Ang mga interesadong kaibigan ay maaaring maghanap ng impormasyon ng module ng pagsubok ng rate ng puso na ito sa Internet, at magkaroon ng mas malalim na pag-unawa sa prinsipyo ng pagtuklas nito.

Hakbang 7: BATO STVI070WT-01

BATO STVI070WT-01
BATO STVI070WT-01

Panimula sa nagpapakita

Sa proyektong ito, gagamitin ko ang STONE STVI070WT-01 upang ipakita ang rate ng rate ng puso at dugo ng oxygen. Ang driver chip ay isinama sa loob ng display screen, at mayroong software na gagamitin ng mga gumagamit. Ang mga gumagamit ay kailangan lamang magdagdag ng mga pindutan, mga kahon ng teksto at iba pang lohika sa pamamagitan ng mga dinisenyong larawan ng UI, at pagkatapos ay bumuo ng mga file ng pagsasaayos at i-download ang mga ito sa display screen upang tumakbo. Ang pagpapakita ng STVI070WT-01 ay nakikipag-usap sa MCU sa pamamagitan ng signal ng uart-rs232, na nangangahulugang kailangan naming magdagdag ng isang MAX3232 chip upang mai-convert ang signal ng RS232 sa signal ng TTL, upang maaari kaming makipag-usap sa Arduino MCU.

Hakbang 8: Kung Hindi ka Sigurado Kung Paano Gumamit ng MAX3232, Mangyaring Sumangguni sa Mga Sumusunod na Larawan:

Kung Hindi ka Sigurado Kung Paano Gumamit ng MAX3232, Mangyaring Sumangguni sa Mga Sumusunod na Larawan
Kung Hindi ka Sigurado Kung Paano Gumamit ng MAX3232, Mangyaring Sumangguni sa Mga Sumusunod na Larawan

Kung sa tingin mo ay masyadong mahirap ang antas ng conversion, maaari kang pumili ng iba pang mga uri ng tagapakita ng BATO, na ang ilan ay maaaring direktang mag-output ng signal ng uart-ttl.

Ang opisyal na website ay may detalyadong impormasyon at pagpapakilala:

Hakbang 9: Kung Kailangan mo ng Mga Video Tutorial at Tutorial na Gagamitin, Maaari mo rin itong Makita sa Opisyal na Website

Kung Kailangan mo ng Mga Video Tutorial at Tutorial na Magagamit, Maaari mo ring Makahanap Ito sa Opisyal na Website
Kung Kailangan mo ng Mga Video Tutorial at Tutorial na Magagamit, Maaari mo ring Makahanap Ito sa Opisyal na Website

Hakbang 10: Mga Hakbang sa Pag-unlad

Tatlong hakbang ng pag-unlad ng display ng BATO:

  • Idisenyo ang display lohika at pindutan ng lohika gamit ang STONE TOOL software, at i-download ang file ng disenyo sa display module.
  • Nakikipag-usap ang MCU sa module ng pagpapakita ng STONE LCD sa pamamagitan ng serial port.
  • Gamit ang data na nakuha sa hakbang 2, ang MCU ay gumagawa ng iba pang mga pagkilos.

Hakbang 11: Pag-install ng BATO TOOL Software

BATO TOOL Pag-install ng Software
BATO TOOL Pag-install ng Software

I-download ang pinakabagong bersyon ng STONE TOOL software (kasalukuyang TOOL2019) mula sa website, at i-install ito.

Matapos mai-install ang software, bubuksan ang sumusunod na interface:

I-click ang pindutang "File" sa kaliwang sulok sa itaas upang lumikha ng isang bagong proyekto, na tatalakayin namin sa paglaon.

Hakbang 12: Arduino

Ang Arduino ay isang bukas na mapagkukunan ng electronic prototype platform na madaling gamitin at madaling gamitin. Kabilang dito ang bahagi ng hardware (iba't ibang mga board ng pag-unlad na umaayon sa pagtutukoy ng Arduino) at ang bahagi ng software (Arduino IDE at mga kaugnay na kit ng pag-unlad).

Ang bahagi ng hardware (o development board) ay binubuo ng isang microcontroller (MCU), Flash memory (Flash), at isang hanay ng mga unibersal na input / output interface (GPIO), na maaari mong maiisip bilang isang microcomputer motherboard. Ang bahagi ng software ay pangunahing binubuo ng Arduino IDE sa PC, kaugnay na board-level support package (BSP) at mayaman na library ng function ng third-party. Sa Arduino IDE, madali mong mai-download ang BSP na nauugnay sa iyong development board at mga aklatan na kailangan mo upang isulat ang iyong mga programa. Ang Arduino ay isang bukas na platform ng mapagkukunan. Sa ngayon, maraming mga modelo at maraming nagmula sa mga kontrol, kabilang ang Arduino Uno, Arduino Nano, ArduinoYun at iba pa. Bilang karagdagan, ang Arduino IDE ngayon ay hindi lamang sumusuporta sa mga board ng development series ng Arduino, ngunit nagdaragdag din ng suporta para sa mga tanyag na board ng pag-unlad tulad ng bilang Intel Galileo at NodeMCU sa pamamagitan ng pagpapakilala sa BSP.

Nararamdaman ng Arduino ang kapaligiran sa pamamagitan ng iba't ibang mga sensor, pagkontrol sa mga ilaw, motor at iba pang mga aparato upang pakainin muli at maimpluwensyahan ang kapaligiran. Ang microcontroller sa board ay maaaring mai-program sa isang wika ng programa ng Arduino, naipon sa mga binary, at sinunog sa microcontroller. para sa Arduino ay ipinatupad sa wika ng programa ng Arduino (batay sa Mga Kable) at sa kapaligiran ng pag-unlad ng Arduino (batay sa Pagproseso). Ang mga proyekto na nakabase sa Arduino ay maaaring maglaman lamang ng Arduino, pati na rin ang Arduino at iba pang software na tumatakbo sa PC, at nakikipag-usap sila sa bawat isa iba pa (tulad ng Flash, Processing, MaxMSP).

Hakbang 13: Kapaligiran sa Pag-unlad

Kapaligiran sa Pag-unlad
Kapaligiran sa Pag-unlad

Ang kapaligiran sa pag-unlad ng Arduino ay ang Arduino IDE, na maaaring ma-download mula sa Internet.

Mag-log in sa opisyal na website ng Arduino at i-download ang software https://www.arduino.cc/en/Main/Software?setlang=c… Matapos mai-install ang Arduino IDE, lilitaw ang sumusunod na interface kapag binuksan mo ang software:

Lumilikha ang Arduino IDE ng dalawang pag-andar bilang default: ang pag-andar ng pag-setup at pag-andar ng loop. Maraming mga pagpapakilala ng Arduino sa Internet. Kung hindi mo naiintindihan ang isang bagay, maaari kang pumunta sa Internet upang hanapin ito.

Hakbang 14: Proseso ng Pagpapatupad ng Project ng Arduino LCD

Proseso ng Pagpapatupad ng Arduino LCD Project
Proseso ng Pagpapatupad ng Arduino LCD Project

koneksyon sa hardware

Upang matiyak na maayos ang susunod na hakbang sa pagsulat ng code, dapat muna nating matukoy ang pagiging maaasahan ng koneksyon sa hardware.

Apat na piraso lamang ng hardware ang ginamit sa proyektong ito:

1. Arduino Mini pro development board

2. screen ng display ng STONE STVI070WT-01 tft-lcd

3. MAX30100 rate ng puso at sensor ng oxygen ng dugo

4. MAX3232 (rs232-> TTL) Ang Arduino Mini Pro development board at STVI070WT-01 TFT-LCD display screen ay konektado sa pamamagitan ng UART, na nangangailangan ng antas ng conversion sa pamamagitan ng MAX3232, at pagkatapos ang Arduino Mini Pro development board at MAX30100 module ay konektado sa pamamagitan ng IIC interface. Matapos mag-isip nang malinaw, maaari nating iguhit ang sumusunod na larawan ng mga kable:

Hakbang 15:

Larawan
Larawan

Tiyaking walang mga error sa koneksyon sa hardware at magpatuloy sa susunod na hakbang.

Hakbang 16: TFT LCD User Interface Design

TFT LCD User Interface Design
TFT LCD User Interface Design

Una sa lahat, kailangan naming mag-disenyo ng isang imaheng ipinapakita sa UI, na maaaring idisenyo ng PhotoShop o iba pang mga tool sa disenyo ng imahe. Matapos idisenyo ang imaheng ipinapakita ng UI, i-save ang imahe sa format na JPG.

Buksan ang software na STONE TOOL2019 at lumikha ng isang bagong proyekto:

Hakbang 17: Alisin ang Larawan Na Na-load ng Default sa Bagong Proyekto, at Idagdag ang Larawan ng UI Na Dinisenyo Namin

Alisin ang Larawan Na Na-load ng Default sa Bagong Proyekto, at Idagdag ang Larawan ng UI Na Dinisenyo Namin
Alisin ang Larawan Na Na-load ng Default sa Bagong Proyekto, at Idagdag ang Larawan ng UI Na Dinisenyo Namin

Hakbang 18: Idagdag ang Component sa Pagpapakita ng Teksto

Idagdag ang Component sa Pagpapakita ng Teksto
Idagdag ang Component sa Pagpapakita ng Teksto

Idagdag ang bahagi ng display ng teksto, idisenyo ang display digit at decimal point, kunin ang lokasyon ng imbakan ng sangkap ng pagpapakita ng teksto sa displayer.

Ang epekto ay ang mga sumusunod:

Hakbang 19:

Address ng bahagi ng display ng teksto:

  • Koneksyon sta: 0x0008
  • Rate ng puso: 0x0001

Oxygen sa dugo: 0x0005 Ang pangunahing nilalaman ng interface ng UI ay ang mga sumusunod:

  • Katayuan ng koneksyon
  • Pagpapakita ng rate ng puso
  • Nagpakita ang oxygen ng dugo

Hakbang 20: Bumuo ng Configuration File

Bumuo ng Configuration File
Bumuo ng Configuration File

Kapag kumpleto ang disenyo ng UI, maaaring mabuo at mai-download ang file ng pagsasaayos sa display na STVI070WT-01.

Una, gampanan ang hakbang 1, pagkatapos ay ipasok ang usb flash drive sa computer, at ipapakita ang simbolo ng disk. Pagkatapos i-click ang "I-download sa u-disk" upang I-download ang file ng pagsasaayos sa usb flash drive, at pagkatapos ay ipasok ang usb flash drive sa STVI070WT-01 upang makumpleto ang pag-upgrade.

Hakbang 21: MAX30100

MAX30100
MAX30100

Ang MAX30100 ay nakikipag-usap sa pamamagitan ng IIC. Ang prinsipyo ng pagtatrabaho nito ay ang halaga ng ADC ng rate ng puso ay maaaring makuha sa pamamagitan ng infrared led irradiation. Ang rehistro ng MAX30100 ay maaaring nahahati sa limang kategorya: rehistro ng estado, FIFO, rehistro ng kontrol, rehistro ng temperatura at rehistro ng ID. binabasa ang halaga ng temperatura ng maliit na tilad upang iwasto ang paglihis na dulot ng temperatura. Maaaring basahin ng rehistro ng ID ang numero ng ID ng chip.

Ang MAX30100 ay konektado sa Arduino Mini Pro development board sa pamamagitan ng interface ng komunikasyon ng IIC. Dahil may mga handa nang MAX30100 file ng library sa Arduino IDE, mababasa natin ang rate ng puso at data ng oxygen sa dugo nang hindi pinag-aaralan ang mga rehistro ng MAX30100. Para sa mga interesadong galugarin ang rehistro ng MAX30100, tingnan ang MAX30100 Datasheet.

Hakbang 22: Baguhin ang MAX30100 IIC Pull-up Resistor

Baguhin ang MAX30100 IIC Pull-up Resistor
Baguhin ang MAX30100 IIC Pull-up Resistor

Dapat pansinin na ang 4.7k pull-up na paglaban ng IIC pin ng MAX30100 module ay konektado sa 1.8v, na hindi isang problema sa teorya. Gayunpaman, ang antas ng lohika ng komunikasyon ng Arduino IIC pin ay 5V, kaya't hindi ito maaaring makipag-usap sa Arduino nang hindi binabago ang hardware ng MAX30100 module. Posible ang direktang komunikasyon kung ang MCU ay STM32 o ibang 3.3v na antas ng lohika na MCU.

Samakatuwid, ang mga sumusunod na pagbabago ay kailangang gawin:

Alisin ang tatlong 4.7k resistors na minarkahan sa larawan gamit ang isang electric soldering iron. Pagkatapos ay hinangin ang dalawang resistors na 4.7k sa mga pin ng SDA at SCL sa VIN, upang maaari kaming makipag-usap sa Arduino.

Hakbang 23: Arduino

Arduino
Arduino

Buksan ang Arduino IDE at hanapin ang mga sumusunod na pindutan:

Hakbang 24: Maghanap para sa "MAX30100" upang Makahanap ng Dalawang Aklatan para sa MAX30100, Pagkatapos I-click ang I-download at I-install

Paghahanap para sa
Paghahanap para sa

Hakbang 25: Matapos ang Pag-install, Mahahanap Mo ang Demo ng MAX30100 sa LIB Library Folder ng Arduino:

Matapos ang Pag-install, Mahahanap Mo ang Demo ng MAX30100 sa LIB Library Folder ng Arduino
Matapos ang Pag-install, Mahahanap Mo ang Demo ng MAX30100 sa LIB Library Folder ng Arduino

Hakbang 26: I-double click ang File upang Buksan Ito

I-double click ang File upang Buksan Ito
I-double click ang File upang Buksan Ito

Hakbang 27: Ang Kumpletong Code Ay Tulad ng Mga Sumusunod:

Ang Demo na ito ay maaaring direktang masubukan. Kung ok ang koneksyon sa hardware, maaari mong i-download ang compilation ng code sa Arduibo development board at makita ang data ng MAX30100 sa serial debugging tool.

Ang kumpletong code ay ang mga sumusunod:

/ * Arduino-MAX30100 oximetry / heart rate integrated sensor library Copyright (C) 2016 OXullo Intersecans Ang program na ito ay libreng software: maaari mo itong ipamahagi muli at / o baguhin ito sa ilalim ng mga tuntunin ng GNU General Public License na na-publish ng Free Software Foundation, alinman sa bersyon 3 ng Lisensya, o (sa iyong pagpipilian) anumang susunod na bersyon. Ang program na ito ay ipinamamahagi sa pag-asa na ito ay magiging kapaki-pakinabang, ngunit WALANG ANUMANG WARRANTY; nang hindi kahit na ang ipinahiwatig na warranty ng MERCHANTABILITY o FITNESS PARA SA ISANG PARTICULAR na LAYUNIN. Tingnan ang Pangkalahatang Lisensya ng Publiko ng GNU para sa higit pang mga detalye. Dapat nakatanggap ka ng isang kopya ng GNU General Public Lisensya kasama ang program na ito. Kung hindi, kita n'yo. * / # isama ang # isama ang "MAX30100_PulseOximeter.h" #define REPORTING_PERIOD_MS 1000 // Ang PulseOximeter ay ang mas mataas na antas ng interface sa sensor // nag-aalok ito: // * matalo ang pag-uulat ng detection // * pagkalkula ng rate ng puso // * SpO2 (antas ng oksihenasyon) pagkalkula ng PulseOximeter pox; uint32_t tsLastReport = 0; // Callback (nakarehistro sa ibaba) fired kapag ang isang pulso ay napansin walang bisa saBeatDetected () {Serial.println ("Beat!"); } void setup () {Serial.begin (115200); Serial.print ("Initializing pulse oximeter.."); // Initialize the PulseOximeter instance // Ang mga pagkabigo sa pangkalahatan ay sanhi ng isang hindi wastong mga kable ng I2C, nawawalang power supply // o maling target chip kung (! Pox.begin ()) {Serial.println ("FAILED"); para sa (;;); } iba pa {Serial.println ("SUCCESS"); } // Ang default na kasalukuyang para sa IR LED ay 50mA at maaari itong mabago // sa pamamagitan ng pag-a-kompromiso sa sumusunod na linya. Suriin ang MAX30100_Registers.h para sa lahat ng // magagamit na mga pagpipilian. // pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA); // Magrehistro ng isang callback para sa beat detection pox.setOnBeatDetectedCallback (onBeatDetected); } void loop () {// Tiyaking tumawag sa pag-update nang mas mabilis hangga't maaari pox.update (); // Asynchronous dump rate ng rate ng puso at oksihenasyon sa serial // Para sa pareho, ang halaga ng 0 ay nangangahulugang "hindi wasto" kung (millis () - tsLastReport> REPORTING_PERIOD_MS) {Serial.print ("Heart rate:"); Serial.print (pox.getHeartRate ()); Serial.print ("bpm / SpO2:"); Serial.print (pox.getSpO2 ()); Serial.println ("%"); tsLastReport = millis (); }}

Hakbang 28:

Larawan
Larawan

Napakadali ng code na ito, naniniwala akong maiintindihan mo ito sa isang sulyap. Kailangan kong sabihin na ang modular programming ng Arduino ay napaka-maginhawa, at hindi ko na kailangang maunawaan kung paano ipinatupad ang driver code ng Uart at IIC.

Siyempre, ang code sa itaas ay isang opisyal na Demo, at kailangan ko pa ring gumawa ng ilang mga pagbabago upang maipakita ang data sa tagapakita ng STONE.

Hakbang 29: Ipakita ang Data sa STONE Displayer Sa pamamagitan ng Arduino

Una, kailangan naming makuha ang address ng bahagi na nagpapakita ng rate ng rate ng puso at oxygen sa dugo sa tagapakita ng STONE:

Sa aking proyekto, ang address ay ang mga sumusunod: rate ng sangkap ng display ng rate ng puso: 0x0001 Address ng module ng pagpapakita ng oxygen ng dugo: 0x0005 Address ng status ng koneksyon ng sensor: 0x0008 Kung kailangan mong baguhin ang nilalaman ng display sa kaukulang espasyo, maaari mong baguhin ang nilalaman ng display sa pamamagitan ng pagpapadala ng data sa kaukulang address ng display screen sa pamamagitan ng serial port ng Arduino.

Hakbang 30: Ang Binagong Code Ay Tulad ng Mga Sumusunod:

/ * Arduino-MAX30100 oximetry / heart rate integrated sensor library Copyright (C) 2016 OXullo Intersecans Ang program na ito ay libreng software: maaari mo itong ipamahagi muli at / o baguhin ito sa ilalim ng mga tuntunin ng GNU General Public License na na-publish ng Free Software Foundation, alinman sa bersyon 3 ng Lisensya, o (sa iyong pagpipilian) anumang susunod na bersyon. Ang program na ito ay ipinamamahagi sa pag-asa na ito ay magiging kapaki-pakinabang, ngunit WALANG ANUMANG WARRANTY; nang hindi kahit na ang ipinahiwatig na warranty ng MERCHANTABILITY o FITNESS PARA SA ISANG PARTICULAR na LAYUNIN. Tingnan ang Pangkalahatang Lisensya ng Publiko ng GNU para sa higit pang mga detalye. Dapat nakatanggap ka ng isang kopya ng GNU General Public Lisensya kasama ang program na ito. Kung hindi, kita n'yo. * / # isama ang # isama ang "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] = 0x, 0x, 0x, 0x, 0x, 0x, 0x, 0x, 0x 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 ay ang mas mataas na antas ng interface sa sensor // nag-aalok ito: // * beat detection reporting // * heart rate calcul // * SpO2 (oxidation level) pagkalkula PulseOximeter pox; uint32_t tsLastReport = 0; // Callback (nakarehistro sa ibaba) fired kapag ang isang pulso ay napansin walang bisa saBeatDetected () {// Serial.println ("Beat!"); } void setup () {Serial.begin (115200); // Serial.print ("Initializing pulse oximeter.."); // Initialize the PulseOximeter instance // Ang mga pagkabigo sa pangkalahatan ay sanhi ng isang hindi wastong mga kable ng I2C, nawawalang supply ng kuryente // o maling target chip kung (! Pox.begin ()) {// Serial.println ("FAILED"); // connect_sta_send [7] = 0x00; // Serial.write (connect_sta_send, 8); para sa (;;); } iba pa {connect_sta_send [7] = 0x01; Serial.write (connect_sta_send, 8); // Serial.println ("TAGUMPAY"); } // Ang default na kasalukuyang para sa IR LED ay 50mA at maaari itong mabago // sa pamamagitan ng pag-a-kompromiso sa sumusunod na linya. Suriin ang MAX30100_Registers.h para sa lahat ng // magagamit na mga pagpipilian.pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA); // Magrehistro ng isang callback para sa beat detection pox.setOnBeatDetectedCallback (onBeatDetected); } void loop () {// Tiyaking tumawag sa pag-update nang mas mabilis hangga't maaari pox.update (); // Asynchronous dump rate ng rate ng puso at oksihenasyon sa serial // Para sa pareho, ang halaga ng 0 ay nangangahulugang "hindi wasto" kung (millis () - tsLastReport> REPORTING_PERIOD_MS) {// Serial.print ("Heart rate:"); // 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 (); }}

Hakbang 31: Ipakita ang Rate ng Puso sa LCD Gamit ang Arduino

Ipakita ang Rate ng Puso sa LCD Gamit ang Arduino
Ipakita ang Rate ng Puso sa LCD Gamit ang Arduino

Compile ang code, i-download ito sa Arduino development board, at handa ka na upang simulan ang pagsubok.

Maaari nating makita na kapag iniiwan ng mga daliri ang MAX30100, ipinapakita ang rate ng puso at oxygen ng dugo 0. Ilagay ang iyong daliri sa kolektor ng MAX30100 upang makita ang antas ng rate ng iyong puso at mga oxygen sa dugo sa real-time.

Makikita ang epekto sa sumusunod na larawan:

Inirerekumendang: