Բովանդակություն:
- Քայլ 1. Ես որոշեցի օգտագործել Arduino- ն ՝ MAX30100 սրտի զարկերի և արյան թթվածնի հավաքման գործառույթը ստուգելու համար:
- Քայլ 2: Ֆունկցիոնալ առաջադրանքներ
- Քայլ 3: Սարքաշարի ներածություն
- Քայլ 4: Applicրագրեր
- Քայլ 5: Առավելությունները և առանձնահատկությունները
- Քայլ 6. Հայտնաբերման սկզբունքը
- Քայլ 7: STONE STVI070WT-01
- Քայլ 8. Եթե վստահ չեք, թե ինչպես օգտագործել MAX3232- ը, խնդրում ենք անդրադառնալ հետևյալ նկարներին
- Քայլ 9. Եթե օգտագործելու համար ձեզ անհրաժեշտ են վիդեո ձեռնարկներ և ձեռնարկներ, կարող եք նաև գտնել այն պաշտոնական կայքում:
- Քայլ 10: Developmentարգացման քայլեր
- Քայլ 11 ՝ STONE TOOL ծրագրաշարի տեղադրում
- Քայլ 12: Arduino
- Քայլ 13. Developmentարգացման միջավայր
- Քայլ 14. Arduino LCD ծրագրի իրականացման գործընթաց
- Քայլ 15:
- Քայլ 16: TFT LCD ինտերֆեյսի ձևավորում
- Քայլ 17. Հեռացրեք նոր նախագծում կանխադրված բեռնված պատկերը և ավելացրեք մեր նախագծած UI պատկերը:
- Քայլ 18: Ավելացրեք տեքստի ցուցադրման բաղադրիչ
- Քայլ 19:
- Քայլ 20. Ստեղծեք կազմաձևման ֆայլ
- Քայլ 21. MAX30100
- Քայլ 22. Փոփոխեք MAX30100 IIC ձգվող դիմադրությունը
- Քայլ 23. Arduino
- Քայլ 24. Որոնեք «MAX30100» ՝ MAX30100- ի համար երկու գրադարան գտնելու համար, այնուհետև կտտացրեք Ներբեռնում և տեղադրում:
- Քայլ 25. Տեղադրվելուց հետո, Arduino- ի LIB Library Folder- ում կարող եք գտնել MAX30100- ի ցուցադրական տարբերակը
- Քայլ 26. Կրկնակի սեղմեք Ֆայլը ՝ այն բացելու համար:
- Քայլ 27. Ամբողջական ծածկագիրը հետևյալն է
- Քայլ 28:
- Քայլ 29. Տվյալների ցուցադրում ՔԱՐԻ ցուցադրիչին Arduino- ի միջոցով
- Քայլ 30. Փոփոխված ծածկագիրը հետևյալն է
- Քայլ 31. Displayուցադրեք սրտի բաբախյունը LCD- ով Arduino- ով
Video: Ինչպես Heartուցադրել սրտի բաբախյունը ՔԱՐԱՅԻՆ LCD- ում Ar: 31 քայլով
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
հակիրճ ներածություն
Որոշ ժամանակ առաջ ես առցանց գնումներ կատարելիս գտա MAX30100 սրտի զարկերի ցուցիչ մոդուլ: Այս մոդուլը կարող է հավաքել օգտագործողների արյան թթվածնի և սրտի զարկերի տվյալները, ինչը նույնպես պարզ և հարմար է օգտագործման համար: Ըստ տվյալների, ես գտա, որ Arduino գրադարանի ֆայլերում կան MAX30100 գրադարաններ: Այսինքն, եթե ես օգտագործում եմ Arduino- ի և MAX30100- ի հաղորդակցությունը, ես կարող եմ ուղղակիորեն զանգահարել Arduino գրադարանի ֆայլերին ՝ առանց վարորդի ֆայլերը վերաշարադրելու: Սա լավ բան է, այնպես որ ես գնել եմ MAX30100 մոդուլը:
Քայլ 1. Ես որոշեցի օգտագործել 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
Intուցադրիչի ներածություն
Այս նախագծում ես կօգտագործեմ STONE STVI070WT-01 ՝ սրտի և արյան թթվածնի տվյալները ցուցադրելու համար: Վարորդի չիպը ինտեգրված է ցուցադրման էկրանի ներսում, և օգտագործողների համար կա ծրագրային ապահովում: Օգտագործողները պետք է միայն կոճակներ, տեքստային տուփեր և այլ տրամաբանություն ավելացնեն նախագծված UI պատկերների միջոցով, այնուհետև ստեղծեն կազմաձևման ֆայլեր և ներբեռնեն դրանք ցուցադրման էկրանին `գործարկելու համար: STVI070WT-01- ի ցուցադրումը շփվում է MCU- ի հետ uart-rs232 ազդանշանի միջոցով, ինչը նշանակում է, որ մենք պետք է ավելացնենք MAX3232 չիպ `RS232 ազդանշանը TTL ազդանշանի վերածելու համար, որպեսզի կարողանանք հաղորդակցվել Arduino MCU- ի հետ:
Քայլ 8. Եթե վստահ չեք, թե ինչպես օգտագործել MAX3232- ը, խնդրում ենք անդրադառնալ հետևյալ նկարներին
Եթե կարծում եք, որ մակարդակի փոխարկումը չափազանց անհանգստացնող է, կարող եք ընտրել STONE- ի ցուցադրիչների այլ տեսակներ, որոնցից մի քանիսը կարող են ուղղակիորեն թողարկել uart-ttl ազդանշան:
Պաշտոնական կայքը պարունակում է մանրամասն տեղեկություններ և ներածություն ՝
Քայլ 9. Եթե օգտագործելու համար ձեզ անհրաժեշտ են վիդեո ձեռնարկներ և ձեռնարկներ, կարող եք նաև գտնել այն պաշտոնական կայքում:
Քայլ 10: Developmentարգացման քայլեր
STONE ցուցադրման էկրանի զարգացման երեք քայլ
- Նախագծեք ցուցադրման տրամաբանությունը և կոճակների տրամաբանությունը STONE TOOL ծրագրակազմով և ներբեռնեք դիզայնի ֆայլը ցուցադրման մոդուլ:
- MCU- ն STONE LCD ցուցադրման մոդուլի հետ հաղորդակցվում է սերիական պորտի միջոցով:
- 2 -րդ քայլում ձեռք բերված տվյալների հետ MCU- ն կատարում է այլ գործողություններ:
Քայլ 11 ՝ STONE TOOL ծրագրաշարի տեղադրում
Ներբեռնեք 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արգացման միջավայր
Arduino- ի զարգացման միջավայրը Arduino IDE- ն է, որը կարելի է ներբեռնել ինտերնետից:
Մուտք գործեք Arduino- ի պաշտոնական կայք և ներբեռնեք ծրագրակազմը ՝ https://www.arduino.cc/hy/Main/Software?setlang=c… Arduino IDE- ն տեղադրելուց հետո ծրագրակազմը բացելիս կհայտնվի հետևյալ ինտերֆեյսը.
Arduino IDE- ն լռելյայն ստեղծում է երկու գործառույթ ՝ տեղադրման գործառույթը և հանգույցի գործառույթը: Ինտերնետում Arduino- ի բազմաթիվ ներածություններ կան: Եթե ինչ -որ բան չեք հասկանում, կարող եք գնալ ինտերնետ ՝ այն գտնելու համար:
Քայլ 14. 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 ինտերֆեյսի ձևավորում
Առաջին հերթին, մենք պետք է նախագծենք UI ցուցադրման պատկեր, որը կարող է նախագծվել PhotoShop- ի կամ պատկերների ձևավորման այլ գործիքների կողմից: UI ցուցադրման պատկերը նախագծելուց հետո պահպանեք պատկերը-j.webp
Բացեք STONE TOOL2019 ծրագրակազմը և ստեղծեք նոր նախագիծ.
Քայլ 17. Հեռացրեք նոր նախագծում կանխադրված բեռնված պատկերը և ավելացրեք մեր նախագծած UI պատկերը:
Քայլ 18: Ավելացրեք տեքստի ցուցադրման բաղադրիչ
Ավելացրեք տեքստի ցուցադրման բաղադրիչը, նախագծեք ցուցադրման նիշը և տասնորդական կետը, ստացեք ցուցադրման տեքստի ցուցադրման բաղադրիչի պահպանման վայրը:
Էֆեկտը հետևյալն է.
Քայլ 19:
Տեքստի ցուցադրման բաղադրիչի հասցեն
- Միացման վայրը ՝ 0x0008
- Սրտի հաճախություն `0x0001
Արյան թթվածին `0x0005 UI ինտերֆեյսի հիմնական բովանդակությունը հետևյալն է
- Միացման կարգավիճակը
- Սրտի հաճախության ցուցադրում
- Արյան թթվածինը ցույց տվեց
Քայլ 20. Ստեղծեք կազմաձևման ֆայլ
Երբ UI դիզայնն ավարտված է, կազմաձևման ֆայլը կարող է գեներացվել և ներբեռնվել STVI070WT-01 ցուցադրման մեջ:
Սկզբում կատարեք 1 -ին քայլը, այնուհետև տեղադրեք USB ֆլեշ կրիչը համակարգչի մեջ, և սկավառակի խորհրդանիշը կցուցադրվի: Այնուհետև կտտացրեք «Ներբեռնեք u-disk- ին» ՝ կազմաձևման ֆայլը USB ֆլեշ կրիչին ներբեռնելու համար, այնուհետև USB ֆլեշ կրիչը տեղադրեք STVI070WT-01- ի մեջ ՝ արդիականացումն ավարտելու համար:
Քայլ 21. MAX30100
MAX30100- ը հաղորդակցվում է IIC- ի միջոցով: Դրա աշխատանքի սկզբունքն է, որ սրտի հաճախության արժեքը կարող է ստացվել ինֆրակարմիր ճառագայթման միջոցով: MAX30100 գրանցամատյանը կարելի է բաժանել հինգ կատեգորիայի. կարդում է չիպի ջերմաստիճանի արժեքը `ջերմաստիճանից առաջացած շեղումը շտկելու համար: ID գրանցամատյանը կարող է կարդալ չիպի ID համարը:
MAX30100- ը կապված է Arduino Mini Pro զարգացման տախտակի հետ IIC հաղորդակցության միջերեսի միջոցով: Քանի որ Arduino IDE- ում առկա են պատրաստ MAX30100 գրադարանային ֆայլեր, մենք կարող ենք կարդալ սրտի զարկերի և արյան թթվածնի տվյալները ՝ առանց MAX30100 գրանցամատյանների ուսումնասիրման: Նրանց համար, ովքեր հետաքրքրված են MAX30100 գրանցամատյանով, տե՛ս MAX30100 տվյալների թերթիկը:
Քայլ 22. Փոփոխեք 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- ի ցուցադրական տարբերակը
Քայլ 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- ով
Կազմեք կոդը, ներբեռնեք այն Arduino- ի զարգացման տախտակին, և դուք պատրաստ եք սկսել փորձարկումները:
Մենք տեսնում ենք, որ երբ մատները դուրս են գալիս MAX30100- ից, սրտի կշիռը և արյան թթվածինը ցուցադրվում են 0. Տեղադրեք ձեր մատը MAX30100 կոլեկտորի վրա `ձեր սրտի զարկերի և արյան թթվածնի մակարդակը իրական ժամանակում տեսնելու համար:
Էֆեկտը կարելի է տեսնել հետևյալ նկարում.
Խորհուրդ ենք տալիս:
Սրտի բաբախման ցուցիչ Arduino- ի միջոցով (Սրտի զարկերի մոնիտոր) `3 քայլ
Heartbeat Sensor Using Arduino (Heart Rate Monitor): Heartbeat Sensor- ը էլեկտրոնային սարք է, որն օգտագործվում է սրտի կշիռը, այսինքն սրտի բաբախման արագությունը չափելու համար: Մարմնի ջերմաստիճանի, սրտի կծկումների և արյան ճնշման մոնիտորինգը հիմնական բաներն են, որ մենք անում ենք ՝ մեզ առողջ պահելու համար: Սրտի տոկոսադրույքը կարող է միաժամանակ
Սրտի վիզուալիզատոր - Տեսեք ձեր սրտի բաբախյունը. 8 քայլ (նկարներով)
Սրտի վիզուալիզատոր | Տեսեք ձեր սրտի բաբախյունը. Մենք բոլորս կամ զգացել կամ լսել ենք մեր սրտի բաբախյունը, բայց մեզանից շատերը չեն տեսել դա: Սա այն միտքն էր, որն ինձ ստիպեց սկսել այս նախագծով: Սրտի տվիչի միջոցով ձեր սրտի բաբախյունը տեսողականորեն տեսնելու մի պարզ միջոց, ինչպես նաև էլեկտրականության հիմունքներ սովորեցնելու համար
Ձեր սրտի կշիռը չափելը ձեր մատի ծայրում է. Ֆոտոպոլթիսմոգրաֆիա Մոտեցում սրտի զարկերի որոշման համար. 7 քայլ
Ձեր սրտի կշիռը չափելը ձեր մատի ծայրում է. Photoplethysmography Approach to Determining Heart Rate: Photoplethysmograph (PPG) պարզ և էժան օպտիկական տեխնիկա է, որը հաճախ օգտագործվում է արյան ծավալի փոփոխությունները հյուսվածքների միկրոանոթային անկողնում հայտնաբերելու համար: Այն հիմնականում օգտագործվում է ոչ ինվազիվ ՝ մաշկի մակերեսին չափումներ կատարելու համար, սովորաբար
Smart Wearable և ID քարտ Տեսեք ձեր սրտի բաբախյունը զգացեք դա. 5 քայլ
Խելացի կրելի և նույնականացման քարտ քո սրտի բաբախյունը և տես նրա հոգսը
Ինչպես կառուցել ԷՍԳ և սրտի զարկերի թվային մոնիտոր `6 քայլ
Ինչպես կառուցել ԷՍԳ և սրտի զարկերի թվային մոնիտոր Կա էլեկտրական իմպուլս, որը հայտնի է նաև որպես ալիք, որն անցնում է սրտի միջով ՝ սրտի մկանները դարձնելու համար