Բովանդակություն:

Ինչպես Heartուցադրել սրտի բաբախյունը ՔԱՐԱՅԻՆ LCD- ում Ar: 31 քայլով
Ինչպես Heartուցադրել սրտի բաբախյունը ՔԱՐԱՅԻՆ LCD- ում Ar: 31 քայլով

Video: Ինչպես Heartուցադրել սրտի բաբախյունը ՔԱՐԱՅԻՆ LCD- ում Ar: 31 քայլով

Video: Ինչպես Heartուցադրել սրտի բաբախյունը ՔԱՐԱՅԻՆ LCD- ում Ar: 31 քայլով
Video: Ինչպես ազդել մարդկանց վրա 2024, Նոյեմբեր
Anonim
Ինչպես ցուցադրել սրտի բաբախյունը STONE LCD- ով Ar- ով
Ինչպես ցուցադրել սրտի բաբախյունը STONE LCD- ով Ar- ով

հակիրճ ներածություն

Որոշ ժամանակ առաջ ես առցանց գնումներ կատարելիս գտա MAX30100 սրտի զարկերի ցուցիչ մոդուլ: Այս մոդուլը կարող է հավաքել օգտագործողների արյան թթվածնի և սրտի զարկերի տվյալները, ինչը նույնպես պարզ և հարմար է օգտագործման համար: Ըստ տվյալների, ես գտա, որ Arduino գրադարանի ֆայլերում կան MAX30100 գրադարաններ: Այսինքն, եթե ես օգտագործում եմ Arduino- ի և MAX30100- ի հաղորդակցությունը, ես կարող եմ ուղղակիորեն զանգահարել Arduino գրադարանի ֆայլերին ՝ առանց վարորդի ֆայլերը վերաշարադրելու: Սա լավ բան է, այնպես որ ես գնել եմ MAX30100 մոդուլը:

Քայլ 1. Ես որոշեցի օգտագործել Arduino- ն ՝ MAX30100 սրտի զարկերի և արյան թթվածնի հավաքման գործառույթը ստուգելու համար:

Ես որոշեցի օգտագործել Arduino- ն ՝ MAX30100 սրտի զարկերի և արյան թթվածնի հավաքման գործառույթը ստուգելու համար
Ես որոշեցի օգտագործել Arduino- ն ՝ MAX30100 սրտի զարկերի և արյան թթվածնի հավաքման գործառույթը ստուգելու համար

Նշում. Այս մոդուլը լռելյայն միայն 3.3 Վ մակարդակի MCU հաղորդակցություններով է, քանի որ այն կանխադրված է օգտագործել IIC կապը 4.7 Կ -ից մինչև 1.8 Վ դիմադրություն, ուստի Arduino- ի հետ լռելյայն կապ չկա, եթե ցանկանում եք հաղորդակցվել Arduino- ի հետ: և պետք է երկու 4.7 Կ IIC կապի ձգման դիմադրիչ, որը միացված է VIN կապին, այս բովանդակությունը կներկայացվի գլխի հետևում:

Քայլ 2: Ֆունկցիոնալ առաջադրանքներ

Նախքան այս նախագիծը սկսելը, ես մտածեցի մի քանի պարզ առանձնահատկությունների մասին.

  • Հավաքվել են սրտի զարկերի և արյան թթվածնի տվյալները
  • Սրտի հաճախության և արյան թթվածնի տվյալները ցուցադրվում են LCD էկրանով

Սրանք միակ երկու հատկանիշներն են, բայց եթե մենք ցանկանում ենք այն իրականացնել, մենք պետք է ավելի շատ մտածենք.

  • Ո՞ր հիմնական MCU- ն է օգտագործվում:
  • Ինչպիսի՞ LCD ցուցադրիչ:

Ինչպես արդեն նշեցինք, մենք օգտագործում ենք Arduino- ն MCU- ի համար, բայց սա Arduino LCD ցուցադրման նախագիծ է, ուստի մենք պետք է ընտրենք համապատասխան LCD ցուցադրման մոդուլը: Ես նախատեսում եմ օգտագործել LCD ցուցադրման էկրանը սերիական պորտով: Ես այստեղ ունեմ STONE STVI070WT-01 ցուցադրիչ, բայց եթե Arduino- ն դրա հետ շփվելու կարիք ունի, մակարդակի փոխակերպում կատարելու համար անհրաժեշտ է MAX3232: Այնուհետև հիմնական էլեկտրոնային նյութերը որոշվում են հետևյալ կերպ.

1. Arduino Mini Pro զարգացման տախտակ

2. MAX30100 սրտի բաբախյուն և արյան թթվածնի ցուցիչ մոդուլ

3. STONE STVI070WT-01 LCD սերիայի պորտի ցուցադրման մոդուլ

4. MAX3232 մոդուլ

Քայլ 3: Սարքաշարի ներածություն

MAX30100

MAX30100- ը զարկերակային օքսիմետրիայի և սրտի զարկերի մոնիտորի սենսորների ինտեգրված լուծում է: Այն համատեղում է երկու LED լուսադիոդեկտոր, օպտիմիզացված օպտիկա և ցածր աղմուկի անալոգային ազդանշանի մշակում ՝ զարկերակային օքսիմետրիայի և սրտի բաբախման ազդանշանների հայտնաբերման համար:

MAX30100- ը գործում է 1.8 Վ և 3.3 Վ սնուցման աղբյուրներից և կարող է անջատվել աննշան սպասման հոսանք ունեցող ծրագրակազմի միջոցով ՝ թույլ տալով, որ սնուցման աղբյուրը մշտապես միացված լինի:

Քայլ 4: Applicրագրեր

● կրելի սարքեր

● Ֆիթնեսի օգնական սարքեր

● Բժշկական մոնիտորինգի սարքեր

Քայլ 5: Առավելությունները և առանձնահատկությունները

1 、 Pulse Oximeter and Heart-Rate SensorSolution- ը պարզեցնում է դիզայնը

  • Ինտեգրված լուսադիոդներ, լուսանկարների ցուցիչ և բարձրորակ անալոգային ճակատ -Վերջ
  • Փոքր 5,6 մմ x 2,8 մմ x 1,2 մմ 14-Pin OpticallyEnhanced System-in-Package

2, ծայրահեղ ցածր էներգիայի շահագործումը մեծացնում է կրելի սարքերի համար մարտկոցի ժամկետը

  • Programրագրավորվող ընտրանքային դրույքաչափ և LED հոսանք էներգիայի խնայողության համար
  • Չափազանց ցածր անջատման հոսանք (0.7µA, տիպ)

3 、 Ընդլայնված ֆունկցիոնալությունը բարելավում է չափման կատարումը

  • High SNR- ն ապահովում է շարժման արհեստական գործոնների դիմացկունություն
  • Ինտեգրված շրջակա միջավայրի լույսի չեղարկում
  • Բարձր նմուշի տոկոսադրույքի ունակություն
  • Տվյալների արագ մուտքագրման ունակություն

Քայլ 6. Հայտնաբերման սկզբունքը

Հայտնաբերման սկզբունքը
Հայտնաբերման սկզբունքը

Պարզապես սեղմեք ձեր մատը սենսորին ՝ զարկերակային թթվածնի հագեցվածությունը (SpO2) և զարկերակը (համարժեք է սրտի բաբախյունին):

Իմպուլսային օքսիմետրը (օքսիմետր) մինի սպեկտրոմետր է, որն օգտագործում է կարմիր բջիջների կլանման սպեկտրի սկզբունքները `արյան թթվածնի հագեցվածությունը վերլուծելու համար: Իրական ժամանակի և արագ չափման այս մեթոդը լայնորեն կիրառվում է նաև բազմաթիվ կլինիկական հղումներում: Ես MAX30100- ը շատ չեմ ներկայացնի, քանի որ այդ նյութերը հասանելի են ինտերնետում: Հետաքրքրված ընկերները կարող են ինտերնետում փնտրել սրտի զարկերի ստուգման այս մոդուլի տեղեկատվությունը և ավելի խորը հասկանալ դրա հայտնաբերման սկզբունքը:

Քայլ 7: STONE STVI070WT-01

ՔԱՐԻ STVI070WT-01
ՔԱՐԻ STVI070WT-01

Intուցադրիչի ներածություն

Այս նախագծում ես կօգտագործեմ STONE STVI070WT-01 ՝ սրտի և արյան թթվածնի տվյալները ցուցադրելու համար: Վարորդի չիպը ինտեգրված է ցուցադրման էկրանի ներսում, և օգտագործողների համար կա ծրագրային ապահովում: Օգտագործողները պետք է միայն կոճակներ, տեքստային տուփեր և այլ տրամաբանություն ավելացնեն նախագծված UI պատկերների միջոցով, այնուհետև ստեղծեն կազմաձևման ֆայլեր և ներբեռնեն դրանք ցուցադրման էկրանին `գործարկելու համար: STVI070WT-01- ի ցուցադրումը շփվում է MCU- ի հետ uart-rs232 ազդանշանի միջոցով, ինչը նշանակում է, որ մենք պետք է ավելացնենք MAX3232 չիպ `RS232 ազդանշանը TTL ազդանշանի վերածելու համար, որպեսզի կարողանանք հաղորդակցվել Arduino MCU- ի հետ:

Քայլ 8. Եթե վստահ չեք, թե ինչպես օգտագործել MAX3232- ը, խնդրում ենք անդրադառնալ հետևյալ նկարներին

Եթե համոզված չեք, թե ինչպես օգտագործել MAX3232- ը, դիմեք հետևյալ նկարներին
Եթե համոզված չեք, թե ինչպես օգտագործել MAX3232- ը, դիմեք հետևյալ նկարներին

Եթե կարծում եք, որ մակարդակի փոխարկումը չափազանց անհանգստացնող է, կարող եք ընտրել STONE- ի ցուցադրիչների այլ տեսակներ, որոնցից մի քանիսը կարող են ուղղակիորեն թողարկել uart-ttl ազդանշան:

Պաշտոնական կայքը պարունակում է մանրամասն տեղեկություններ և ներածություն ՝

Քայլ 9. Եթե օգտագործելու համար ձեզ անհրաժեշտ են վիդեո ձեռնարկներ և ձեռնարկներ, կարող եք նաև գտնել այն պաշտոնական կայքում:

Եթե Ձեզ անհրաժեշտ են վիդեո ձեռնարկներ և ձեռնարկներ, դրանք կարող եք գտնել նաև պաշտոնական կայքում
Եթե Ձեզ անհրաժեշտ են վիդեո ձեռնարկներ և ձեռնարկներ, դրանք կարող եք գտնել նաև պաշտոնական կայքում

Քայլ 10: Developmentարգացման քայլեր

STONE ցուցադրման էկրանի զարգացման երեք քայլ

  • Նախագծեք ցուցադրման տրամաբանությունը և կոճակների տրամաբանությունը STONE TOOL ծրագրակազմով և ներբեռնեք դիզայնի ֆայլը ցուցադրման մոդուլ:
  • MCU- ն STONE LCD ցուցադրման մոդուլի հետ հաղորդակցվում է սերիական պորտի միջոցով:
  • 2 -րդ քայլում ձեռք բերված տվյալների հետ MCU- ն կատարում է այլ գործողություններ:

Քայլ 11 ՝ STONE TOOL ծրագրաշարի տեղադրում

STONE TOOL Softwareրագրաշարի տեղադրում
STONE TOOL Softwareրագրաշարի տեղադրում

Ներբեռնեք STONE TOOL ծրագրաշարի վերջին տարբերակը (ներկայումս TOOL2019) կայքից և տեղադրեք այն:

Theրագրաշարի տեղադրումից հետո կբացվի հետևյալ ինտերֆեյսը.

Կտտացրեք «Ֆայլ» կոճակին վերին ձախ անկյունում ՝ նոր նախագիծ ստեղծելու համար, որը մենք կքննարկենք ավելի ուշ:

Քայլ 12: Arduino

Arduino- ն բաց կոդով էլեկտրոնային նախատիպային հարթակ է, որը հեշտ է օգտագործել և հեշտ օգտագործել: Այն ներառում է ապարատային մաս (տարբեր զարգացման տախտակներ, որոնք համապատասխանում են Arduino- ի բնութագրերին) և ծրագրային մաս (Arduino IDE և հարակից զարգացման հավաքածուներ):

Սարքավորման մասը (կամ զարգացման խորհուրդը) բաղկացած է միկրոկառավարիչից (MCU), ֆլեշ հիշողությունից (Flash) և ունիվերսալ մուտքի/ելքի միջերեսների շարքից (GPIO), որոնք կարող եք պատկերացնել որպես միկրոհամակարգչի մայր տախտակ: Softwareրագրային ապահովման մասը հիմնականում կազմված է Arduino IDE համակարգչից, համապատասխան մակարդակի աջակցության փաթեթից (BSP) և հարուստ երրորդ կողմի գործառնական գրադարանից: Arduino IDE- ի միջոցով կարող եք հեշտությամբ ներբեռնել BSP- ն ՝ կապված ձեր զարգացման տախտակի և ձեզ անհրաժեշտ գրադարանների հետ: գրել ձեր ծրագրերը: Arduino- ն բաց կոդով հարթակ է: Մինչ այժմ եղել են բազմաթիվ մոդելներ և շատ ածանցյալ կարգավորիչներ, այդ թվում `Arduino Uno, Arduino Nano, ArduinoYun և այլն: Բացի այդ, Arduino IDE- ն այժմ ոչ միայն աջակցում է Arduino շարքի զարգացման տախտակներին, այլև աջակցություն է ավելացնում հանրաճանաչ զարգացման տախտակների համար որպես Intel Galileo և NodeMCU ՝ ներդնելով BSP:

Arduino- ն շրջակա միջավայրը զգում է մի շարք սենսորների, լուսատուների, շարժիչների և շրջակա միջավայրի վրա ազդող այլ սարքերի միջոցով: Տախտակի վրա գտնվող միկրոկառավարիչը կարող է ծրագրավորվել Arduino ծրագրավորման լեզվով, կազմվել երկուական և այրվել միկրոկոնտրոլերի մեջ: համար Arduino- ն իրականացվում է Arduino ծրագրավորման լեզվով (հիմնված է լարերի վրա) և Arduino- ի զարգացման միջավայրի վրա (մշակման հիման վրա): Arduino- ի վրա հիմնված նախագծերը կարող են պարունակել միայն Arduino- ն, ինչպես նաև Arduino- ն և համակարգչում աշխատող այլ ծրագրակազմ, և նրանք շփվում են յուրաքանչյուրի հետ այլ (օրինակ ՝ Flash, Processing, MaxMSP):

Քայլ 13. Developmentարգացման միջավայր

Environmentարգացման միջավայր
Environmentարգացման միջավայր

Arduino- ի զարգացման միջավայրը Arduino IDE- ն է, որը կարելի է ներբեռնել ինտերնետից:

Մուտք գործեք Arduino- ի պաշտոնական կայք և ներբեռնեք ծրագրակազմը ՝ https://www.arduino.cc/hy/Main/Software?setlang=c… Arduino IDE- ն տեղադրելուց հետո ծրագրակազմը բացելիս կհայտնվի հետևյալ ինտերֆեյսը.

Arduino IDE- ն լռելյայն ստեղծում է երկու գործառույթ ՝ տեղադրման գործառույթը և հանգույցի գործառույթը: Ինտերնետում Arduino- ի բազմաթիվ ներածություններ կան: Եթե ինչ -որ բան չեք հասկանում, կարող եք գնալ ինտերնետ ՝ այն գտնելու համար:

Քայլ 14. Arduino LCD ծրագրի իրականացման գործընթաց

Arduino LCD ծրագրի իրականացման գործընթաց
Arduino LCD ծրագրի իրականացման գործընթաց

ապարատային կապ

Ապահովելու համար, որ կոդ գրելու հաջորդ քայլը սահուն անցնի, մենք նախ պետք է որոշենք ապարատային կապի հուսալիությունը:

Այս նախագծում օգտագործվել է ընդամենը չորս սարքավորում.

1. Arduino Mini pro զարգացման տախտակ

2. STONE STVI070WT-01 tft-LCD էկրան

3. MAX30100 սրտի բաբախյուն և արյան թթվածնի ցուցիչ

4. MAX3232 (rs232-> TTL) Arduino Mini Pro զարգացման տախտակը և STVI070WT-01 TFT-LCD էկրանը միացված են UART- ի միջոցով, որը պահանջում է մակարդակի փոխակերպում MAX3232- ի միջոցով, այնուհետև Arduino Mini Pro զարգացման տախտակն ու MAX30100 մոդուլը միացված են IIC ինտերֆեյս: Հստակ մտածելուց հետո մենք կարող ենք նկարել էլեկտրագծերի հետևյալ պատկերը.

Քայլ 15:

Պատկեր
Պատկեր

Համոզվեք, որ ապարատային կապի մեջ սխալներ չկան և անցեք հաջորդ քայլին:

Քայլ 16: TFT LCD ինտերֆեյսի ձևավորում

TFT LCD ինտերֆեյսի ձևավորում
TFT LCD ինտերֆեյսի ձևավորում

Առաջին հերթին, մենք պետք է նախագծենք UI ցուցադրման պատկեր, որը կարող է նախագծվել PhotoShop- ի կամ պատկերների ձևավորման այլ գործիքների կողմից: UI ցուցադրման պատկերը նախագծելուց հետո պահպանեք պատկերը-j.webp

Բացեք STONE TOOL2019 ծրագրակազմը և ստեղծեք նոր նախագիծ.

Քայլ 17. Հեռացրեք նոր նախագծում կանխադրված բեռնված պատկերը և ավելացրեք մեր նախագծած UI պատկերը:

Հեռացրեք նոր նախագծում կանխադրված բեռնված պատկերը և ավելացրեք մեր նախագծած UI պատկերը
Հեռացրեք նոր նախագծում կանխադրված բեռնված պատկերը և ավելացրեք մեր նախագծած UI պատկերը

Քայլ 18: Ավելացրեք տեքստի ցուցադրման բաղադրիչ

Ավելացնել տեքստի ցուցադրման բաղադրիչ
Ավելացնել տեքստի ցուցադրման բաղադրիչ

Ավելացրեք տեքստի ցուցադրման բաղադրիչը, նախագծեք ցուցադրման նիշը և տասնորդական կետը, ստացեք ցուցադրման տեքստի ցուցադրման բաղադրիչի պահպանման վայրը:

Էֆեկտը հետևյալն է.

Քայլ 19:

Տեքստի ցուցադրման բաղադրիչի հասցեն

  • Միացման վայրը ՝ 0x0008
  • Սրտի հաճախություն `0x0001

Արյան թթվածին `0x0005 UI ինտերֆեյսի հիմնական բովանդակությունը հետևյալն է

  • Միացման կարգավիճակը
  • Սրտի հաճախության ցուցադրում
  • Արյան թթվածինը ցույց տվեց

Քայլ 20. Ստեղծեք կազմաձևման ֆայլ

Ստեղծեք կազմաձևման ֆայլ
Ստեղծեք կազմաձևման ֆայլ

Երբ UI դիզայնն ավարտված է, կազմաձևման ֆայլը կարող է գեներացվել և ներբեռնվել STVI070WT-01 ցուցադրման մեջ:

Սկզբում կատարեք 1 -ին քայլը, այնուհետև տեղադրեք USB ֆլեշ կրիչը համակարգչի մեջ, և սկավառակի խորհրդանիշը կցուցադրվի: Այնուհետև կտտացրեք «Ներբեռնեք u-disk- ին» ՝ կազմաձևման ֆայլը USB ֆլեշ կրիչին ներբեռնելու համար, այնուհետև USB ֆլեշ կրիչը տեղադրեք STVI070WT-01- ի մեջ ՝ արդիականացումն ավարտելու համար:

Քայլ 21. MAX30100

MAX30100
MAX30100

MAX30100- ը հաղորդակցվում է IIC- ի միջոցով: Դրա աշխատանքի սկզբունքն է, որ սրտի հաճախության արժեքը կարող է ստացվել ինֆրակարմիր ճառագայթման միջոցով: MAX30100 գրանցամատյանը կարելի է բաժանել հինգ կատեգորիայի. կարդում է չիպի ջերմաստիճանի արժեքը `ջերմաստիճանից առաջացած շեղումը շտկելու համար: ID գրանցամատյանը կարող է կարդալ չիպի ID համարը:

MAX30100- ը կապված է Arduino Mini Pro զարգացման տախտակի հետ IIC հաղորդակցության միջերեսի միջոցով: Քանի որ Arduino IDE- ում առկա են պատրաստ MAX30100 գրադարանային ֆայլեր, մենք կարող ենք կարդալ սրտի զարկերի և արյան թթվածնի տվյալները ՝ առանց MAX30100 գրանցամատյանների ուսումնասիրման: Նրանց համար, ովքեր հետաքրքրված են MAX30100 գրանցամատյանով, տե՛ս MAX30100 տվյալների թերթիկը:

Քայլ 22. Փոփոխեք MAX30100 IIC ձգվող դիմադրությունը

Փոփոխեք MAX30100 IIC ձգվող դիմադրիչը
Փոփոխեք MAX30100 IIC ձգվող դիմադրիչը

Պետք է նշել, որ MAX30100 մոդուլի IIC կապի 4.7k քաշքշման դիմադրությունը կապված է 1.8v- ի հետ, ինչը տեսականորեն խնդիր չէ: Այնուամենայնիվ, Arduino IIC կապի հաղորդակցական տրամաբանության մակարդակը 5V է, ուստի այն չի կարող Arduino- ի հետ հաղորդակցվել առանց MAX30100 մոդուլի սարքավորումները փոխելու: Ուղղակի հաղորդակցությունը հնարավոր է, եթե MCU- ն STM32 է կամ մեկ այլ 3.3v տրամաբանական մակարդակի MCU:

Հետևաբար, անհրաժեշտ է կատարել հետևյալ փոփոխությունները.

Հեռացրեք նկարի վրա նշված երեք 4.7k դիմադրիչները էլեկտրական եռակցման երկաթով: Այնուհետև SDA- ի և SCL- ի կապում միացրեք 4.7k երկու դիմադրիչ VIN- ին, որպեսզի մենք կարողանանք հաղորդակցվել Arduino- ի հետ:

Քայլ 23. Arduino

Արդուինո
Արդուինո

Բացեք Arduino IDE- ն և գտեք հետևյալ կոճակները.

Քայլ 24. Որոնեք «MAX30100» ՝ MAX30100- ի համար երկու գրադարան գտնելու համար, այնուհետև կտտացրեք Ներբեռնում և տեղադրում:

Փնտրել
Փնտրել

Քայլ 25. Տեղադրվելուց հետո, Arduino- ի LIB Library Folder- ում կարող եք գտնել MAX30100- ի ցուցադրական տարբերակը

Տեղադրումից հետո, Arduino- ի LIB Library թղթապանակում կարող եք գտնել MAX30100- ի ցուցադրական տարբերակը
Տեղադրումից հետո, Arduino- ի LIB Library թղթապանակում կարող եք գտնել MAX30100- ի ցուցադրական տարբերակը

Քայլ 26. Կրկնակի սեղմեք Ֆայլը ՝ այն բացելու համար:

Կրկնակի սեղմեք Ֆայլը ՝ այն բացելու համար
Կրկնակի սեղմեք Ֆայլը ՝ այն բացելու համար

Քայլ 27. Ամբողջական ծածկագիրը հետևյալն է

Այս Դեմո ցուցադրումը կարող է ուղղակիորեն փորձարկվել: Եթե ապարատային կապը կարգին է, կարող եք ներբեռնել ծածկագրերը Arduibo զարգացման տախտակում և MAX30100- ի տվյալները տեսնել սերիական կարգաբերման գործիքում:

Ամբողջական ծածկագիրը հետևյալն է.

/* Arduino-MAX30100 օքսիմետրիա /սրտի զարկերի ինտեգրված տվիչների գրադարան Հեղինակային իրավունք (C) 2016 OXullo Intersecans Այս ծրագիրը անվճար ծրագրակազմ է. Կարող եք այն վերաբաշխել և /կամ փոփոխել այն GNU General Public License- ի պայմաններով, որը հրապարակվել է Free Software Foundation- ի կողմից:, կամ լիցենզիայի 3 -րդ տարբերակ, կամ (ըստ ձեր ցանկության) ցանկացած ավելի ուշ տարբերակ: Այս ծրագիրը տարածվում է այն հույսով, որ այն օգտակար կլինի, բայց ԱՌԱՆ YԱՆԿԱՅԻՆ ԵՐԱՇԽԻՔԻ; առանց նույնիսկ ԱՌԵՎՏՐՈԹՅՈՆԱ orՈ orԹՅԱՆ կամ ՊԱՏԱՍԽԱՆՈԹՅԱՆ ԵliedՐԱԳԻՏ երաշխիքի `ՄԱՍՆԱԿՈURԹՅԱՆ ՆՊԱՏԱԿԻ ՀԱՄԱՐ: Լրացուցիչ մանրամասների համար տե՛ս GNU General Public License- ը: Այս ծրագրի հետ մեկտեղ դուք պետք է ստացած լինեիք GNU General Public License- ի պատճենը: Եթե ոչ, տես. */ #include #include "MAX30100_PulseOximeter.h" #define REPORTING_PERIOD_MS 1000 // PulseOximeter- ը սենսորին ավելի բարձր մակարդակի ինտերֆեյս է // այն առաջարկում է.) հաշվարկ PulseOximeter pox; uint32_t tsLastReport = 0; // Հետադարձ կապը (գրանցված է ստորև) արձակվում է, երբ զարկերակը հայտնաբերվում է անվավեր onBeatDetected () {Serial.println ("Beat!"); } void setup () {Serial.begin (115200); Serial.print («Իմպուլսային օքսիմետրի նախնականացում..»); // Initialize PulseOximeter օրինակը // Խափանումներն ընդհանուր առմամբ պայմանավորված են I2C- ի ոչ պատշաճ էլեկտրագծով, էլեկտրամատակարարման բացակայությամբ // կամ սխալ թիրախային չիպով, եթե (! Pox.begin ()) {Serial.println ("FAILED"); համար (;;); } else {Serial.println ("ՀԱCCՈՈԹՅՈՆ"); } // IR LED- ի կանխադրված հոսանքը 50mA է և այն կարող է փոխվել // մեկնաբանելով հետևյալ տողը: Ստուգեք MAX30100_Registers.h բոլոր // առկա ընտրանքների համար: // pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA); // Գրանցեք հետադարձ կապ ծեծի հայտնաբերման համար pox.setOnBeatDetectedCallback (onBeatDetected); } void loop () {// Համոզվեք, որ հնարավորինս արագ կանչեք թարմացում pox.update (); // Ասինխրոն կերպով սրտի բաբախյունը և օքսիդացման մակարդակը թողեք սերիական // Երկուսի դեպքում էլ 0 -ի արժեքը նշանակում է «անվավեր», եթե (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 (); }}

Քայլ 28:

Պատկեր
Պատկեր

Այս ծածկագիրը շատ պարզ է, կարծում եմ, որ այն կարող եք հասկանալ մի հայացքից: Պետք է ասեմ, որ Arduino- ի մոդուլային ծրագրավորումը շատ հարմար է, և ես նույնիսկ կարիք չունեմ հասկանալու, թե ինչպես է իրականացվում Uart- ի և IIC- ի վարորդական կոդը:

Իհարկե, վերը նշված կոդը պաշտոնական Demo- ն է, և ես դեռ պետք է որոշ փոփոխություններ կատարեմ ՝ տվյալները STONE- ի ցուցադրիչին ցուցադրելու համար:

Քայլ 29. Տվյալների ցուցադրում ՔԱՐԻ ցուցադրիչին Arduino- ի միջոցով

Նախ, մենք պետք է ստանանք բաղադրիչի հասցեն, որը ցուցադրում է սրտի զարկերի և արյան թթվածնի տվյալները STONE- ի ցուցադրիչում.

Իմ նախագծում հասցեն հետևյալն է. Սրտի հաճախության ցուցադրման բաղադրիչի հասցեն ՝ 0x0001 Արյան թթվածնի ցուցադրման մոդուլի հասցե ՝ 0x0005 Սենսորային կապի կարգավիճակի հասցե ՝ 0x0008 Եթե համապատասխան տարածության մեջ անհրաժեշտ է փոխել ցուցադրման բովանդակությունը, կարող եք փոխել ցուցադրման բովանդակությունը Arduino- ի սերիական նավահանգստի միջոցով տվյալներ ուղարկելով ցուցադրման էկրանի համապատասխան հասցեով:

Քայլ 30. Փոփոխված ծածկագիրը հետևյալն է

/* Arduino-MAX30100 օքսիմետրիա /սրտի զարկերի ինտեգրված տվիչների գրադարան Հեղինակային իրավունք (C) 2016 OXullo Intersecans Այս ծրագիրը անվճար ծրագրակազմ է. Կարող եք այն վերաբաշխել և /կամ փոփոխել այն GNU General Public License- ի պայմաններով, որը հրապարակվել է Free Software Foundation- ի կողմից:, կամ լիցենզիայի 3 -րդ տարբերակ, կամ (ըստ ձեր ցանկության) ցանկացած ավելի ուշ տարբերակ: Այս ծրագիրը տարածվում է այն հույսով, որ այն օգտակար կլինի, բայց ԱՌԱՆ YԱՆԿԱՅԻՆ ԵՐԱՇԽԻՔԻ; առանց նույնիսկ ԱՌԵՎՏՐՈԹՅՈՆԱ orՈ orԹՅԱՆ կամ ՊԱՏԱՍԽԱՆՈԹՅԱՆ Ե impՐԱԳԻՏ երաշխիքի `ՄԱՍՆԱԿՈ PԹՅԱՆ ՆՊԱՏԱԿԻ ՀԱՄԱՐ: Լրացուցիչ մանրամասների համար տե՛ս GNU General Public License- ը: Այս ծրագրի հետ մեկտեղ դուք պետք է ստացած լինեիք GNU General Public License- ի պատճենը: Եթե ոչ, տես. * / #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 heart_rate_send [8] = {0xA5, 0x5A, 0x05, 0x82, / 0x00, Heart_dis_addr, 0x00, 0x00}; անստորագիր նշան Sop2_send [8] = {0xA5, 0x5A, 0x05, 0x82, 0x00, / Sop2_dis_addr, 0x00, 0x00}; անստորագիր char connect_sta_send [8] = {0xA5, 0x5A, 0x05, 0x82, 0x00, / connect_sta_addr, 0x00, 0x00}; // PulseOximeter- ը սենսորի ավելի բարձր մակարդակի միջերես է // այն առաջարկում է. uint32_t tsLastReport = 0; // Հետադարձ կապը (գրանցված է ստորև) գործարկվում է, երբ զարկերակը հայտնաբերվում է անվավեր onBeatDetected () {// Serial.println ("Beat!"); } void setup () {Serial.begin (115200); // Serial.print («Իմպուլսային օքսիմետրի նախնական մեկնարկ..»); // Initialize PulseOximeter օրինակը // Խափանումներն ընդհանուր առմամբ պայմանավորված են I2C- ի ոչ պատշաճ էլեկտրագծով, էլեկտրամատակարարման բացակայությամբ // կամ սխալ թիրախային չիպով, եթե (! Pox.begin ()) {// Serial.println ("FAILED"); // Connect_sta_send [7] = 0x00; // Serial.write (connect_sta_send, 8); համար (;;); } else {connect_sta_send [7] = 0x01; Serial.write (connect_sta_send, 8); // Serial.println («ՀԱ SUՈՈԹՅՈՆ»); } // IR LED- ի կանխադրված հոսանքը 50 մԱ է և այն կարող է փոխվել // հետևյալ տողը չմեկնաբանելով: Ստուգեք MAX30100_Registers.h բոլոր // առկա ընտրանքների համար:pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA); // Գրանցեք հետադարձ կապ ծեծի հայտնաբերման համար pox.setOnBeatDetectedCallback (onBeatDetected); } void loop () {// Համոզվեք, որ հնարավորինս արագ կանչեք թարմացում pox.update (); // Ասինխրոն կերպով սրտի բաբախյունը և օքսիդացման մակարդակը թողեք սերիական // Երկուսի դեպքում էլ 0 -ի արժեքը նշանակում է «անվավեր», եթե (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 (); }}

Քայլ 31. Displayուցադրեք սրտի բաբախյունը LCD- ով Arduino- ով

LCD- ի վրա ցուցադրեք սրտի բաբախում Arduino- ով
LCD- ի վրա ցուցադրեք սրտի բաբախում Arduino- ով

Կազմեք կոդը, ներբեռնեք այն Arduino- ի զարգացման տախտակին, և դուք պատրաստ եք սկսել փորձարկումները:

Մենք տեսնում ենք, որ երբ մատները դուրս են գալիս MAX30100- ից, սրտի կշիռը և արյան թթվածինը ցուցադրվում են 0. Տեղադրեք ձեր մատը MAX30100 կոլեկտորի վրա `ձեր սրտի զարկերի և արյան թթվածնի մակարդակը իրական ժամանակում տեսնելու համար:

Էֆեկտը կարելի է տեսնել հետևյալ նկարում.

Խորհուրդ ենք տալիս: