Përmbajtje:

Si të shfaqni rrahjet e zemrës në LCD GURIN Me Ar: 31 hapa
Si të shfaqni rrahjet e zemrës në LCD GURIN Me Ar: 31 hapa

Video: Si të shfaqni rrahjet e zemrës në LCD GURIN Me Ar: 31 hapa

Video: Si të shfaqni rrahjet e zemrës në LCD GURIN Me Ar: 31 hapa
Video: smart watch review| smart watch connect to mobile 2024, Korrik
Anonim
Si të shfaqni rrahjet e zemrës në LCD GURIN Me Ar
Si të shfaqni rrahjet e zemrës në LCD GURIN Me Ar

prezantim i shkurtër

Disa kohë më parë, gjeta një modul të sensorit të rrahjeve të zemrës MAX30100 në blerjet në internet. Ky modul mund të mbledhë të dhëna për oksigjenin e gjakut dhe rrahjet e zemrës së përdoruesve, të cilat janë gjithashtu të thjeshta dhe të përshtatshme për t'u përdorur. Sipas të dhënave, zbulova se ka biblioteka MAX30100 në skedarët e bibliotekës Arduino. Kjo do të thotë, nëse përdor komunikimin midis Arduino dhe MAX30100, mund të telefonoj drejtpërdrejt skedarët e bibliotekës Arduino pa pasur nevojë të rishkruaj skedarët e shoferit. Kjo është një gjë e mirë, kështu që bleva modulin MAX30100.

Hapi 1: Vendosa të përdor Arduino për të verifikuar rrahjet e zemrës dhe funksionin e grumbullimit të oksigjenit në gjak të MAX30100

Vendosa të përdor Arduino për të verifikuar rrahjet e zemrës dhe funksionin e grumbullimit të oksigjenit në gjak të MAX30100
Vendosa të përdor Arduino për të verifikuar rrahjet e zemrës dhe funksionin e grumbullimit të oksigjenit në gjak të MAX30100

Shënim: ky modul si parazgjedhje vetëm me komunikime MCU të nivelit 3.3 V, sepse parazgjedhja e përdorimit të pin IIC tërheq rezistencën prej 4.7 K në 1.8 V, kështu që nuk ka komunikim me Arduino si parazgjedhje, nëse doni të komunikoni me Arduino dhe kanë nevojë për dy rezistente 4.7 K të kunjit IIC të lidhur me kunjin VIN, këto përmbajtje do të futen në pjesën e pasme të kapitullit.

Hapi 2: Detyrat funksionale

Para fillimit të këtij projekti, unë mendova për disa veçori të thjeshta:

  • Të dhënat e rrahjeve të zemrës dhe të dhënat e oksigjenit në gjak u mblodhën
  • Të dhënat e rrahjeve të zemrës dhe oksigjenit të gjakut shfaqen përmes një ekrani LCD

Këto janë dy veçoritë e vetme, por nëse duam ta zbatojmë, duhet të mendojmë më shumë:

  • Çfarë master MCU përdoret?
  • Çfarë lloj ekrani LCD?

Siç e përmendëm më herët, ne përdorim Arduino për MCU, por ky është një projekt i ekranit Arduino LCD, kështu që ne duhet të zgjedhim modulin e duhur të ekranit LCD. Unë planifikoj të përdor ekranin e ekranit LCD me port serik. Unë kam një ekran STONE STVI070WT-01 këtu, por nëse Arduino ka nevojë të komunikojë me të, MAX3232 nevojitet për të bërë konvertimin e nivelit. Pastaj materialet bazë elektronike përcaktohen si më poshtë:

1. Bordi i zhvillimit të Arduino Mini Pro

2. Moduli i rrahjeve të zemrës MAX30100 dhe oksigjenit të gjakut

3. Moduli i shfaqjes së portës serike STONE STVI070WT-01 LCD

4. Moduli MAX3232

Hapi 3: Hyrje në harduer

MAX30100

MAX30100 është një zgjidhje e integruar e sensorit të pulsit dhe monitorit të rrahjeve të zemrës. Ai kombinon dy LED, një fotodetektor, optikë të optimizuar dhe përpunim sinjali analog me zhurmë të ulët për të zbuluar oksimetrinë e pulsit dhe sinjalet e rrahjeve të zemrës.

MAX30100 funksionon nga furnizimi me energji 1.8V dhe 3.3V dhe mund të fiket përmes softuerit me rrymë të papërfillshme të gatishmërisë, duke lejuar që furnizimi me energji elektrike të mbetet i lidhur gjatë gjithë kohës.

Hapi 4: Aplikimet

Pajisjet e veshshme

De Pajisjet e Ndihmës së Fitnesit

Pajisjet e Monitorimit Mjekësor

Hapi 5: Përfitimet dhe Karakteristikat

1 O Oksimetri i plotë i pulsit dhe sensori i rrahjeve të zemrës Thjeshton dizajnin

  • LED të integruar, Sensori i fotografisë dhe Front Analog me Performancë të Lartë -Përfundo
  • I vogël 5.6mm x 2.8mm x 1.2mm 14-Pin Sistemi Optik i Përmirësuar në Paketë

2 Ope Funksionimi me fuqi shumë të ulët rrit jetën e baterisë për pajisjet e veshshme

  • Shkalla e Mostrës së Programueshme dhe Rryma LED për Kursimet e Energjisë
  • Rryma e mbylljes ultra e ulët (0.7µA, tip)

3 unction Funksionaliteti i Avancuar Përmirëson Performancën e Matjes

  • SNR i Lartë Ofron Qëndrueshmëri të Fuqishme të Artefaktit të Lëvizjes
  • Anulimi i integruar i dritës së ambientit
  • Aftësia e Shkallës së Lartë të Mostrës
  • Aftësia e daljes së shpejtë të të dhënave

Hapi 6: Parimi i Zbulimit

Parimi i Zbulimit
Parimi i Zbulimit

Thjesht shtypni gishtin kundër sensorit për të vlerësuar ngopjen e oksigjenit të pulsit (SpO2) dhe pulsin (ekuivalent me rrahjet e zemrës).

Oksimetri i pulsit (oksimetri) është një mini-spektrometër që përdor parimet e spektrave të ndryshëm të thithjes së qelizave të kuqe për të analizuar ngopjen e oksigjenit të gjakut. Kjo metodë e matjes në kohë reale dhe e shpejtë përdoret gjithashtu gjerësisht në shumë referenca klinike. Unë nuk do ta prezantoj MAX30100 shumë, sepse këto materiale janë në dispozicion në internet. Miqtë e interesuar mund të kërkojnë informacionin e këtij moduli të testit të rrahjeve të zemrës në internet dhe të kenë një kuptim më të thellë të parimit të zbulimit të tij.

Hapi 7: GURI STVI070WT-01

GURI STVI070WT-01
GURI STVI070WT-01

Hyrje në ekranin

Në këtë projekt, unë do të përdor STONE STVI070WT-01 për të shfaqur të dhënat e rrahjeve të zemrës dhe oksigjenit të gjakut. Çipi i shoferit është integruar brenda ekranit të ekranit dhe ka softuer për përdoruesit. Përdoruesit duhet të shtojnë vetëm butona, kuti teksti dhe logjikë të tjera përmes fotografive të dizajnuara të UI, dhe pastaj të krijojnë skedarë konfigurimi dhe t'i shkarkojnë ato në ekranin e ekranit për t'u ekzekutuar. Ekrani i STVI070WT-01 komunikon me MCU përmes sinjalit uart-rs232, që do të thotë se duhet të shtojmë një çip MAX3232 për të kthyer sinjalin RS232 në sinjal TTL, në mënyrë që të mund të komunikojmë me Arduino MCU.

Hapi 8: Nëse nuk jeni të sigurt se si ta përdorni MAX3232, ju lutemi referojuni fotove të mëposhtme:

Nëse nuk jeni të sigurt se si ta përdorni MAX3232, ju lutemi referojuni fotove në vijim
Nëse nuk jeni të sigurt se si ta përdorni MAX3232, ju lutemi referojuni fotove në vijim

Nëse mendoni se konvertimi i nivelit është shumë i mundimshëm, mund të zgjidhni lloje të tjera të shfaqësve të GURIT, disa prej të cilëve mund të japin drejtpërdrejt sinjal uart-ttl.

Faqja zyrtare e internetit ka informacion të detajuar dhe prezantim:

Hapi 9: Nëse keni nevojë për Video Tutorials dhe Tutorials për t'u përdorur, Ju gjithashtu mund t'i gjeni në faqen zyrtare të internetit

Nëse keni nevojë për mësime video dhe mësime për t'u përdorur, gjithashtu mund t'i gjeni në faqen zyrtare të internetit
Nëse keni nevojë për mësime video dhe mësime për t'u përdorur, gjithashtu mund t'i gjeni në faqen zyrtare të internetit

Hapi 10: Hapat e zhvillimit

Tre hapa të zhvillimit të ekranit të ekranit STONE:

  • Hartoni logjikën e ekranit dhe logjikën e butonave me softuerin STONE TOOL dhe shkarkoni skedarin e projektimit në modulin e ekranit.
  • MCU komunikon me modulin e ekranit STONE LCD përmes portës serike.
  • Me të dhënat e marra në hapin 2, MCU bën veprime të tjera.

Hapi 11: Instalimi i Softuerit STONE TOOL

Instalimi i Softuerit STONE TOOL
Instalimi i Softuerit STONE TOOL

Shkarkoni versionin më të fundit të softuerit STONE TOOL (aktualisht TOOL2019) nga uebfaqja dhe instalojeni.

Pas instalimit të softuerit, ndërfaqja e mëposhtme do të hapet:

Klikoni butonin "File" në këndin e sipërm të majtë për të krijuar një projekt të ri, për të cilin do të diskutojmë më vonë.

Hapi 12: Arduino

Arduino është një platformë prototipi elektronik me burim të hapur që është i lehtë për t’u përdorur dhe i lehtë për t’u përdorur. Ai përfshin pjesën e harduerit (bordet e ndryshme të zhvillimit që përputhen me specifikimet Arduino) dhe pjesën e softuerit (Arduino IDE dhe komplete të zhvillimit të lidhur).

Pjesa e harduerit (ose bordi i zhvillimit) përbëhet nga një mikrokontrollues (MCU), Flash memorie (Flash) dhe një grup ndërfaqesh universale të hyrjes/daljes (GPIO), të cilat mund t'i konsideroni si një motherboard mikrokompjuter. Pjesa e softuerit është e përbërë kryesisht nga Arduino IDE në PC, paketa mbështetëse e nivelit të bordit (BSP) dhe biblioteka e pasur e funksioneve të palëve të treta. Me Arduino IDE, ju lehtë mund të shkarkoni BSP të lidhur me bordin tuaj të zhvillimit dhe bibliotekat që ju nevojiten për të shkruar programet tuaja. Arduino është një platformë me burim të hapur. Deri më tani, ka pasur shumë modele dhe shumë kontrollues të derivuar, duke përfshirë Arduino Uno, Arduino Nano, ArduinoYun dhe kështu me radhë. Përveç kësaj, Arduino IDE tani jo vetëm që mbështet bordet e zhvillimit të serisë Arduino, por gjithashtu shton mbështetje për bordet e njohura të zhvillimit të tilla si Intel Galileo dhe NodeMCU duke prezantuar BSP.

Arduino ndjen mjedisin përmes një sërë sensorësh, duke kontrolluar dritat, motorët dhe pajisjet e tjera për të ushqyer dhe ndikuar në mjedis. Mikrokontrolluesi në tabelë mund të programohet me një gjuhë programimi Arduino, të përpiluar në binare dhe të digjet në mikrokontrollues. për Arduino zbatohet me gjuhën e programimit Arduino (bazuar në Wiring) dhe mjedisin e zhvillimit Arduino (bazuar në Përpunimin). Projektet e bazuara në Arduino mund të përmbajnë vetëm Arduino, si dhe Arduino dhe softuerë të tjerë që funksionojnë në PC, dhe ata komunikojnë me secilin të tjera (të tilla si Flash, Processing, MaxMSP).

Hapi 13: Mjedisi i Zhvillimit

Mjedisi i Zhvillimit
Mjedisi i Zhvillimit

Mjedisi i zhvillimit të Arduino është Arduino IDE, i cili mund të shkarkohet nga Interneti.

Hyni në faqen zyrtare të Arduino dhe shkarkoni programin https://www.arduino.cc/en/Main/Software?setlang=c… Pas instalimit të Arduino IDE, ndërfaqja e mëposhtme do të shfaqet kur hapni softuerin:

Arduino IDE krijon dy funksione si parazgjedhje: funksionin e konfigurimit dhe funksionin e lakut. Ka shumë prezantime të Arduino në internet. Nëse nuk kuptoni diçka, mund të shkoni në internet për ta gjetur.

Hapi 14: Procesi i Zbatimit të Projektit LCD Arduino

Procesi i Zbatimit të Projektit LCD Arduino
Procesi i Zbatimit të Projektit LCD Arduino

lidhje hardware

Për të siguruar që hapi tjetër në shkrimin e kodit të shkojë pa probleme, së pari duhet të përcaktojmë besueshmërinë e lidhjes së harduerit.

Vetëm katër pjesë të pajisjeve u përdorën në këtë projekt:

1. Bordi i zhvillimit Arduino Mini pro

2. Ekrani i ekranit STONE STVI070WT-01 tft-LCD

3. Sensori i rrahjeve të zemrës MAX30100 dhe oksigjeni i gjakut

4. MAX3232 (rs232-> TTL) Bordi i zhvillimit Arduino Mini Pro dhe ekrani i ekranit STVI070WT-01 TFT-LCD janë të lidhura përmes UART, i cili kërkon konvertim të nivelit përmes MAX3232, dhe pastaj bordi i zhvillimit Arduino Mini Pro dhe moduli MAX30100 lidhen përmes Ndërfaqja IIC. Pasi të mendojmë qartë, ne mund të vizatojmë figurën e mëposhtme të telave:

Hapi 15:

Imazhi
Imazhi

Sigurohuni që nuk ka gabime në lidhjen e harduerit dhe vazhdoni në hapin tjetër.

Hapi 16: Dizajni i Ndërfaqes së Përdoruesit TFT LCD

Dizajni i Ndërfaqes së Përdoruesit TFT LCD
Dizajni i Ndërfaqes së Përdoruesit TFT LCD

Para së gjithash, ne duhet të hartojmë një imazh të shfaqjes së UI, i cili mund të dizajnohet nga PhotoShop ose mjete të tjera të dizajnit të imazhit. Pas hartimit të imazhit të shfaqjes së ndërfaqes, ruani imazhin në formatin JPG.

Hapni programin STONE TOOL2019 dhe krijoni një projekt të ri:

Hapi 17: Hiqni imazhin që u ngarkua si parazgjedhje në Projektin e Ri dhe shtoni imazhin e ndërfaqes që krijuam

Hiqni imazhin që u ngarkua si parazgjedhje në projektin e ri dhe shtoni imazhin e ndërfaqes së internetit që kemi projektuar
Hiqni imazhin që u ngarkua si parazgjedhje në projektin e ri dhe shtoni imazhin e ndërfaqes së internetit që kemi projektuar

Hapi 18: Shtoni Komponentin e Shfaqjes së Tekstit

Shtoni Komponentin e Shfaqjes së Tekstit
Shtoni Komponentin e Shfaqjes së Tekstit

Shtoni përbërësin e shfaqjes së tekstit, dizajnoni shifrën e shfaqjes dhe pikën dhjetore, merrni vendndodhjen e ruajtjes së komponentit të shfaqjes së tekstit në ekran.

Efekti është si më poshtë:

Hapi 19:

Adresa e komponentit të shfaqjes së tekstit:

  • Niveli i lidhjes: 0x0008
  • Shkalla e zemrës: 0x0001

Oksigjeni i gjakut: 0x0005 Përmbajtja kryesore e ndërfaqes UI janë si më poshtë:

  • Statusi i lidhjes
  • Shfaqja e rrahjeve të zemrës
  • U tregua oksigjeni i gjakut

Hapi 20: Gjeneroni skedarin e konfigurimit

Gjeneroni skedarin e konfigurimit
Gjeneroni skedarin e konfigurimit

Pasi të përfundojë dizajni i ndërfaqes, skedari i konfigurimit mund të gjenerohet dhe shkarkohet në ekranin STVI070WT-01.

Së pari, kryeni hapin 1, pastaj futni USB flash drive në kompjuter dhe simboli i diskut do të shfaqet. Pastaj klikoni "Shkarkoni në u-disk" për të shkarkuar skedarin e konfigurimit në USB flash drive, dhe pastaj futni USB flash drive në STVI070WT-01 për të përfunduar azhurnimin.

Hapi 21: MAX30100

MAX30100
MAX30100

MAX30100 komunikon përmes IIC. Parimi i tij i punës është që vlera e zemrës ADC mund të merret përmes rrezatimit me rreze infra të kuqe. Regjistri MAX30100 mund të ndahet në pesë kategori: regjistri shtetëror, FIFO, regjistri i kontrollit, regjistri i temperaturës dhe regjistri i ID. Regjistri i temperaturës lexon vlerën e temperaturës së çipit për të korrigjuar devijimin e shkaktuar nga temperatura. Regjistri ID mund të lexojë numrin ID të çipit.

MAX30100 lidhet me bordin e zhvillimit Arduino Mini Pro përmes ndërfaqes së komunikimit IIC. Për shkak se ka skedarë bibliotekash të gatshëm MAX30100 në Arduino IDE, ne mund të lexojmë të dhënat e rrahjeve të zemrës dhe oksigjenit të gjakut pa studiuar regjistrat e MAX30100. Për ata që janë të interesuar të eksplorojnë regjistrin MAX30100, shihni Fletën e të dhënave MAX30100.

Hapi 22: Ndryshoni Rezistencën tërheqëse MAX30100 IIC

Ndryshoni Rezistencën tërheqëse MAX30100 IIC
Ndryshoni Rezistencën tërheqëse MAX30100 IIC

Duhet të theksohet se rezistenca tërheqëse 4.7k e kunjit IIC të modulit MAX30100 është e lidhur me 1.8v, gjë që nuk është problem në teori. Sidoqoftë, niveli i logjikës së komunikimit të pinit Arduino IIC është 5V, kështu që nuk mund të komunikojë me Arduino pa ndryshuar harduerin e modulit MAX30100. Komunikimi i drejtpërdrejtë është i mundur nëse MCU është STM32 ose një nivel tjetër logjik 3.3v MCU.

Prandaj, ndryshimet e mëposhtme duhet të bëhen:

Hiqni tre rezistorët 4.7k të shënuar në figurë me një hekur elektrik bashkues. Pastaj bashkoni dy rezistorë prej 4.7k në kunjat e SDA dhe SCL në VIN, në mënyrë që të mund të komunikojmë me Arduino.

Hapi 23: Arduino

Arduino
Arduino

Hapni Arduino IDE dhe gjeni butonat e mëposhtëm:

Hapi 24: Kërkoni për "MAX30100" për të gjetur dy biblioteka për MAX30100, pastaj klikoni Shkarkoni dhe instaloni

Kërko për
Kërko për

Hapi 25: Pas instalimit, mund të gjeni demonstrimin e MAX30100 në Dosjen e Bibliotekës LIB të Arduino:

Pas instalimit, mund të gjeni demonstrimin e MAX30100 në Dosjen e Bibliotekës LIB të Arduino
Pas instalimit, mund të gjeni demonstrimin e MAX30100 në Dosjen e Bibliotekës LIB të Arduino

Hapi 26: Klikoni dy herë në skedar për ta hapur atë

Klikoni dy herë në skedar për ta hapur atë
Klikoni dy herë në skedar për ta hapur atë

Hapi 27: Kodi i plotë është si më poshtë:

Kjo Demo mund të testohet drejtpërdrejt. Nëse lidhja e harduerit është në rregull, mund të shkarkoni përpilimin e kodit në tabelën e zhvillimit Arduibo dhe të shihni të dhënat e MAX30100 në mjetin e korrigjimit serik.

Kodi i plotë është si më poshtë:

/* Arduino-MAX30100 oksimetria /biblioteka e integruar e sensorit të rrahjeve të zemrës E drejta e autorit (C) 2016 OXullo Intersecans Ky program është softuer falas: mund ta rishpërndani dhe /ose modifikoni atë sipas kushteve të Licencës së Përgjithshme Publike GNU të publikuar nga Fondacioni Software i Lirë, ose versionin 3 të Licencës, ose (sipas dëshirës tuaj) ndonjë version të mëvonshëm. Ky program shpërndahet me shpresën se do të jetë i dobishëm, por pa asnjë garanci; pa as garancinë e nënkuptuar të TREGTARIS ose P FRSHTATSHMRIS FOR P AR NJ QLLIM TART VETM. Shihni Licencën e Përgjithshme Publike GNU për më shumë detaje. Duhet të kishit marrë një kopje të Licencës së Përgjithshme Publike GNU së bashku me këtë program. Nëse jo, shihni. */ #include #include "MAX30100_PulseOximeter.h" #cakto RAPORTING_PERIOD_MS 1000 // PulseOximeter është ndërfaqja e nivelit më të lartë te sensori // ofron: // * raportimin e zbulimit të rrahjeve // * llogaritjen e rrahjeve të zemrës // * SpO2 (niveli i oksidimit) llogaritja e dhenve PulseOksimetër; uint32_t tsLastReport = 0; // Reagimi (i regjistruar më poshtë) ndizet kur zbulohet një impuls i zbrazët nëBeatDetected () {Serial.println ("Mundi!"); } void setup () {Serial.begin (115200); Serial.print ("Fillimi i oksimetrit të impulsit.."); // Filloni shembullin PulseOximeter // Dështimet në përgjithësi janë për shkak të një instalimi të papërshtatshëm të I2C, mungesës së furnizimit me energji // ose çipit të gabuar të synuar nëse (! Pox.begin ()) {Serial.println ("Dështoi"); për (;;); } else {Serial.println ("SUKSES"); } // Rryma e paracaktuar për LED LED është 50mA dhe mund të ndryshohet // duke mos komentuar rreshtin e mëposhtëm. Kontrolloni MAX30100_Registers.h për të gjitha opsionet e disponueshme //. // pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA); // Regjistroni një thirrje për zbulimin e ritmit pox.setOnBeatDetectedCallback (onBeatDetected); } void loop () {// Sigurohuni që të telefononi përditësimin sa më shpejt të jetë e mundur pox.update (); // Shkarkoni në mënyrë asinkrone shkallën e zemrës dhe nivelet e oksidimit në serial // Për të dyja, vlera 0 do të thotë "e pavlefshme" nëse (millis () - tsLastReport> REPORTING_PERIOD_MS) {Serial.print ("Rrahjet e zemrës:"); Serial.print (pox.getHeartRate ()); Serial.print ("bpm / SpO2:"); Serial.print (pox.getSpO2 ()); Serial.println ("%"); tsLastReport = millis (); }}

Hapi 28:

Imazhi
Imazhi

Ky kod është shumë i thjeshtë, besoj se mund ta kuptoni me një shikim. Duhet të them që programimi modular i Arduino është shumë i përshtatshëm, dhe as nuk kam nevojë të kuptoj se si zbatohet kodi i drejtuesit të Uart dhe IIC.

Sigurisht, kodi i mësipërm është një Demo zyrtare, dhe unë ende duhet të bëj disa ndryshime për të shfaqur të dhënat në ekranin e STONE.

Hapi 29: Shfaqni të dhënat në ekranin STONE përmes Arduino

Së pari, duhet të marrim adresën e komponentit që shfaq të dhënat e rrahjeve të zemrës dhe oksigjenit të gjakut në ekranin e STONE:

Në projektin tim, adresa është si më poshtë: Adresa e komponentit të shfaqjes së rrahjeve të zemrës: 0x0001 Adresa e modulit të shfaqjes së oksigjenit në gjak: 0x0005 Adresa e statusit të lidhjes së sensorit: 0x0008 Nëse keni nevojë të ndryshoni përmbajtjen e ekranit në hapësirën përkatëse, mund të ndryshoni përmbajtjen e ekranit duke dërguar të dhëna në adresën përkatëse të ekranit të ekranit përmes portit serik të Arduino.

Hapi 30: Kodi i modifikuar është si më poshtë:

/* Arduino-MAX30100 oksimetri /bibliotekë e integruar e sensorit të rrahjeve të zemrës E drejta e autorit (C) 2016 OXullo Intersecans Ky program është softuer falas: mund ta rishpërndani dhe /ose modifikoni sipas kushteve të Licencës së Përgjithshme Publike GNU të publikuar nga Fondacioni i Softuerit të Lirë, ose versionin 3 të Licencës, ose (sipas dëshirës tuaj) ndonjë version të mëvonshëm. Ky program shpërndahet me shpresën se do të jetë i dobishëm, por pa asnjë garanci; pa as garancinë e nënkuptuar të TREGTARIS ose P FRSHTATSHMRIS FOR P AR NJ QLLIM TART VETM. Shihni Licencën e Përgjithshme Publike GNU për më shumë detaje. Duhet të kishit marrë një kopje të Licencës së Përgjithshme Publike GNU së bashku me këtë program. Nëse jo, shihni. * / #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, 0x5A, 0x05, 0x82, / 0x00, Heart_dis_addr, 0x00, 0x00}; shenjë pa shenjë Sop2_send [8] = {0xA5, 0x5A, 0x05, 0x82, 0x00, / Sop2_dis_addr, 0x00, 0x00}; pa shenjë char connect_sta_send [8] = {0xA5, 0x5A, 0x05, 0x82, 0x00, / connect_sta_addr, 0x00, 0x00}; // PulseOximeter është ndërfaqja e nivelit më të lartë me sensorin // ofron: // * raportimin e zbulimit të rrahjeve // * llogaritjen e rrahjeve të zemrës // * Llogaritjen e SpO2 (niveli i oksidimit) PulseOximeter pox; uint32_t tsLastReport = 0; // Reagimi (i regjistruar më poshtë) ndizet kur një puls zbulohet i pavlefshëm nëBeatDetected () {// Serial.println ("Mundi!"); } void setup () {Serial.begin (115200); // Serial.print ("Fillimi i oksimetrit të impulsit.."); // Filloni shembullin PulseOximeter // Dështimet në përgjithësi janë për shkak të një instalimi të papërshtatshëm të I2C, mungesës së furnizimit me energji // ose çipit të gabuar të synuar nëse (! Pox.begin ()) {// Serial.println ("Dështoi"); // lidh_sta_send [7] = 0x00; // Serial.write (lidh_sta_send, 8); për (;;); } tjetër {connect_sta_send [7] = 0x01; Serial.write (lidh_sta_send, 8); // Serial.println ("SUKSES"); } // Rryma e paracaktuar për LED LED është 50mA dhe mund të ndryshohet // duke mos komentuar rreshtin e mëposhtëm. Kontrolloni MAX30100_Registers.h për të gjitha opsionet // në dispozicion.pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA); // Regjistroni një thirrje për zbulimin e ritmit pox.setOnBeatDetectedCallback (onBeatDetected); } void loop () {// Sigurohuni që të telefononi përditësimin sa më shpejt të jetë e mundur pox.update (); // Shkarkoni në mënyrë asinkrone rrahjet e zemrës dhe nivelet e oksidimit në serial // Për të dyja, vlera 0 do të thotë "e pavlefshme" nëse (millis () - tsLastReport> REPORTING_PERIOD_MS) {// Serial.print ("Rrahjet e zemrës:"); // Serial.print (pox.getHeartRate ()); // Serial.print ("bpm / SpO2:"); // Serial.print (pox.getSpO2 ()); // Serial.println ("%"); zemra_vlerësimi [7] = (uint32_t) pox.getHeartRate (); Serial.shkruaj (vlerësimi_i zemrës dërgoj, 8); Sop2_send [7] = pox.getSpO2 (); Serial.shkruaj (Sop2_send, 8); tsLastReport = millis (); }}

Hapi 31: Shfaqni Rrahjet e Zemrës në LCD me Arduino

Shfaqni Rrahjet e Zemrës në LCD me Arduino
Shfaqni Rrahjet e Zemrës në LCD me Arduino

Përpiloni kodin, shkarkojeni në bordin e zhvillimit Arduino dhe jeni gati për të filluar testimin.

Ne mund të shohim se kur gishtat largohen nga MAX30100, rrahjet e zemrës dhe oksigjeni i gjakut shfaqin 0. Vendoseni gishtin në kolektorin MAX30100 për të parë rrahjet e zemrës dhe nivelet e oksigjenit në gjak në kohë reale.

Efekti mund të shihet në foton e mëposhtme:

Recommended: