Мазмуну:

Stone LCDде жүрөктүн кагышын кантип көрсөтүү керек: 31 кадам
Stone LCDде жүрөктүн кагышын кантип көрсөтүү керек: 31 кадам

Video: Stone LCDде жүрөктүн кагышын кантип көрсөтүү керек: 31 кадам

Video: Stone LCDде жүрөктүн кагышын кантип көрсөтүү керек: 31 кадам
Video: STONE Display with Touch Control for Instrument 2024, Июль
Anonim
Stone LCDдеги жүрөктүн кагышын кантип көрсөтүү керек
Stone LCDдеги жүрөктүн кагышын кантип көрсөтүү керек

кыскача киришүү

Бир нече убакыт мурун, мен онлайн дүкөндөн жүрөктүн кагышын аныктоочу MAX30100 модулун таптым. Бул модуль колдонуучулардын кан кычкылтегин жана жүрөктүн кагышын чогулта алат, бул да жөнөкөй жана колдонууга ыңгайлуу. Маалыматтарга ылайык, Arduino китепканасынын файлдарында MAX30100 китепканалары бар экенин билдим. Башкача айтканда, эгер мен Arduino менен MAX30100 ортосундагы байланышты колдонсом, драйвер файлдарын кайра жаздырбай эле Arduino китепканасынын файлдарына түз чала алам. Бул жакшы нерсе, ошондуктан мен MAX30100 модулун сатып алдым.

1 -кадам: MAX30100 жүрөгүнүн кагышын жана кан кычкылтегин чогултуу функциясын текшерүү үчүн Arduino колдонууну чечтим

Мен MAX30100дүн жүрөктүн кагышын жана кандын кычкылтегин чогултуу функциясын текшерүү үчүн Arduino колдонууну чечтим
Мен MAX30100дүн жүрөктүн кагышын жана кандын кычкылтегин чогултуу функциясын текшерүү үчүн Arduino колдонууну чечтим

Эскертүү: бул модуль демейки боюнча 3.3 В деңгээлдеги MCU байланыштары менен гана иштейт, анткени ал IIC пинди колдонуу менен демейки боюнча 4.7 Kтан 1.8 Vга чейин каршылыкты тартат, андыктан Arduino менен байланышкыңыз келсе, демейки боюнча Arduino менен эч кандай байланыш жок. жана VIN пинге туташкан IIC пин тартуучу каршылыгынын эки 4.7 K керек, бул мазмун бөлүмдүн артында киргизилет.

2 -кадам: Функционалдык тапшырмалар

Бул долбоорду баштоодон мурун мен кээ бир жөнөкөй өзгөчөлүктөр жөнүндө ойлондум:

  • Жүрөктүн кагышы жана кандагы кычкылтектин маалыматы чогултулган
  • Жүрөктүн кагышы жана кандагы кычкылтек жөнүндө маалыматтар ЖК экран аркылуу көрсөтүлөт

Бул эки гана өзгөчөлүк, бирок эгер биз аны ишке ашыргыбыз келсе, көбүрөөк ойлонушубуз керек:

  • Кандай Master MCU колдонулат?
  • Кандай LCD дисплей?

Жогоруда айтылгандай, биз MCU үчүн Arduino колдонобуз, бирок бул Arduino ЖК дисплей долбоору, ошондуктан биз тиешелүү LCD дисплей модулун тандап алышыбыз керек. Менде бул жерде STONE STVI070WT-01 дисплейи бар, бирок эгер Arduino аны менен байланышууга муктаж болсо, деңгээлди өзгөртүү үчүн MAX3232 керек. Андан кийин негизги электрондук материалдар төмөнкүчө аныкталат:

1. Arduino Mini Pro өнүктүрүү тактасы

2. MAX30100 жүрөктүн кагышы жана кан кычкылтек сенсорунун модулу

3. STONE STVI070WT-01 ЖК сериялык порт дисплей модулу

4. MAX3232 модулу

3 -кадам: Аппараттык камсыздоо

MAX30100

MAX30100 - бул импульстун оксиметриясы жана жүрөктүн кагышын көзөмөлдөөчү сенсордун чечими. Бул импульстун оксиметриясын жана жүрөктүн кагышын аныктоо үчүн эки светодиодду, фотодетекторду, оптимизацияланган оптика жана аз ызы-чуу аналогдук сигналды иштетүүнү камтыйт.

MAX30100 1.8V жана 3.3V энергия булактарынан иштейт жана электр энергиясын дайыма туташып турууга мүмкүндүк берүүчү, күтүү күчү жок болгон программалык камсыздоо аркылуу өчүрүлүшү мүмкүн.

4 -кадам: Тиркемелер

● Кийилүүчү түзмөктөр

● Фитнес жардамчысынын түзмөктөрү

● Медициналык көзөмөлдөө приборлору

5 -кадам: Артыкчылыктары жана өзгөчөлүктөрү

1, Complete Pulse Oximeter жана Heart-Rate SensorSolution Дизайнды жөнөкөйлөтөт

  • Интегралдык диоддор, фото сенсор жана жогорку өндүрүмдүү аналогдук алдыңкы -аягында
  • Tiny 5.6mm x 2.8mm x 1.2mm 14-Pin Optically Enhanced System-in-Package

2 、 Ультра аз кубаттуулукта иштөө, эскирүүчү түзмөктөр үчүн батареянын иштөө мөөнөтүн көбөйтөт

  • Программалануучу үлгү ылдамдыгы жана кубаттуулукту үнөмдөө үчүн LED ток
  • Өтө төмөн өчүрүү агымы (0.7µA, тип)

3, Advanced Functionality өлчөө аткаруу жакшыртат

  • Жогорку SNR Кыймыл Артефактынын ийкемдүүлүгүн камсыздайт
  • Интегралдык чөйрө жарыгын жокко чыгаруу
  • Жогорку үлгү ылдамдыгы мүмкүнчүлүгү
  • Маалыматты тез чыгаруу мүмкүнчүлүгү

6 -кадам: аныктоо принциби

Аныктоо принциби
Аныктоо принциби

Жөн эле импульстун кычкылтек каныктыгын (SpO2) жана импульсту (жүрөктүн кагышына барабар) баалоо үчүн манжаңызды сенсорго каршы басыңыз.

Пульсоксиметр (оксиметр)-бул кислороддун каныккандыгын анализдөө үчүн ар кандай кызыл клеткалардын сиңирүү спектринин принциптерин колдонгон мини-спектрометр. Бул реалдуу убакытта жана ылдам өлчөө ыкмасы көптөгөн клиникалык шилтемелерде кеңири колдонулат. Мен MAX30100ду өтө көп киргизбейм, анткени бул материалдар Интернетте бар. Кызыккан достор бул жүрөктүн кагышын текшерүүчү модулдун маалыматын Интернеттен издеп, анын аныктоо принцибин тереңирээк түшүнө алышат.

7-кадам: STONE STVI070WT-01

STONE STVI070WT-01
STONE STVI070WT-01

Көрсөткүчкө киришүү

Бул долбоордо мен жүрөктүн кагышын жана кандын кычкылтек маалыматын көрсөтүү үчүн STONE STVI070WT-01ди колдоном. Айдоочу чипи дисплейдин экранына киргизилген жана колдонуучулар үчүн программалык камсыздоо бар. Колдонуучулар иштелип чыккан UI сүрөттөрү аркылуу баскычтарды, текст кутучаларын жана башка логиканы кошуп, анан конфигурация файлдарын түзүп, иштетүү үчүн дисплей экранына жүктөп алышы керек. STVI070WT-01 дисплейи MCU менен uart-rs232 сигналы аркылуу байланышат, бул RS232 сигналын TTL сигналына айлантуу үчүн MAX3232 чипин кошуу керектигин билдирет, ошондо биз Arduino MCU менен байланыша алабыз.

8 -кадам: Эгерде сиз MAX3232ди кантип колдонууну билбесеңиз, анда төмөнкү сүрөттөргө кайрылыңыз:

Эгерде сиз MAX3232ди кантип колдонууну билбесеңиз, анда төмөнкү сүрөттөргө кайрылыңыз
Эгерде сиз MAX3232ди кантип колдонууну билбесеңиз, анда төмөнкү сүрөттөргө кайрылыңыз

Эгерде сиз деңгээлди кайра иштетүү өтө эле кыйын деп ойлосоңуз, STONE дисплейлеринин башка түрлөрүн тандай аласыз, алардын айрымдары uart-ttl сигналын түз чыгара алышат.

Расмий веб -сайтта толук маалымат жана киришүү бар:

9 -кадам: Эгер сизге видео сабактары жана окуу куралдары керек болсо, аны расмий веб -сайттан да таба аласыз

Эгер сизге видео сабактары жана окуу куралдары керек болсо, аны расмий веб -сайттан да таба аласыз
Эгер сизге видео сабактары жана окуу куралдары керек болсо, аны расмий веб -сайттан да таба аласыз

10 -кадам: Өнүгүү кадамдары

STONE дисплейинин экранын өнүктүрүүнүн үч кадамы:

  • STONE TOOL программасы менен дисплей логикасын жана баскыч логикасын иштеп чыгыңыз жана дизайн файлын дисплей модулуна жүктөп алыңыз.
  • MCU STONE LCD дисплей модулу менен сериялык порт аркылуу байланышат.
  • 2 -кадамда алынган маалыматтар менен MCU башка аракеттерди жасайт.

11 -кадам: STONE TOOL Программалык камсыздоону орнотуу

STONE TOOL Программалык камсыздоону орнотуу
STONE TOOL Программалык камсыздоону орнотуу

STONE TOOL программасынын акыркы версиясын (учурда TOOL2019) сайттан жүктөп алып, орнотуңуз.

Программалык камсыздоо орнотулгандан кийин төмөнкү интерфейс ачылат:

Жаңы долбоорду түзүү үчүн жогорку сол бурчтагы "Файл" баскычын чыкылдатыңыз, биз аны кийинчерээк талкуулайбыз.

12 -кадам: Arduino

Arduino - бул ачык булактуу электрондук прототип платформасы, аны колдонуу оңой жана колдонууга оңой. Ал аппараттык бөлүктү (Arduino спецификациясына ылайык келген ар кандай өнүгүү такталары) жана программалык бөлүктү (Arduino IDE жана ага байланыштуу өнүктүрүү комплекттери) камтыйт.

Аппараттык бөлүк (же иштеп чыгуу тактасы) микроконтроллерден (MCU), Flash эстутумунан (Flash) жана универсалдуу киргизүү/чыгаруу интерфейстеринин топтомунан (GPIO) турат, аны сиз микрокомпьютердин платасы катары элестете аласыз. Программалык камсыздоо бөлүгү негизинен компьютердеги Arduino IDEден, тиешелүү деңгээлдеги колдоо пакетинен (BSP) жана үчүнчү жактын бай китепканасынан турат. программаларыңызды жазуу үчүн. Arduino ачык булак платформа. Буга чейин Arduino Uno, Arduino Nano, ArduinoYun жана башка көптөгөн моделдер жана көптөгөн алынган контроллерлер болгон. BSP киргизүү менен Intel Galileo жана NodeMCU катары.

Arduino ар кандай сенсорлор, көзөмөлдөөчү жарыктар, моторлор жана башка түзүлүштөр аркылуу айлана -чөйрөнү сезип, кайра тамактандырып, айлана -чөйрөгө таасирин тийгизет. Борттогу микроконтроллер Arduino программалоо тили менен программаланышы мүмкүн, экилик файлдарга топтолуп, микроконтроллерге күйүп кетет. Анткени Arduino Arduino программалоо тили (Wiring негизинде) жана Arduino өнүктүрүү чөйрөсү (Processing негизинде) менен ишке ашырылган. башка (Flash, Processing, MaxMSP сыяктуу).

13 -кадам: Өнүгүү чөйрөсү

Өнүгүү чөйрөсү
Өнүгүү чөйрөсү

Arduino өнүктүрүү чөйрөсү - бул Arduino IDE, аны интернеттен көчүрүп алса болот.

Arduino расмий веб -сайтына кирип, программаны жүктөп алыңыз https://www.arduino.cc/en/Main/Software?setlang=c… Arduino IDE орнотулгандан кийин, программаны ачканыңызда төмөнкү интерфейс пайда болот:

Arduino IDE демейки боюнча эки функцияны жаратат: орнотуу функциясы жана цикл функциясы. Интернетте көптөгөн Arduino таанытмалары бар. Эгерде сиз бир нерсени түшүнбөсөңүз, аны табуу үчүн интернетке кирсеңиз болот.

14 -кадам: Arduino ЖК долбоорун ишке ашыруу процесси

Arduino ЖК долбоорун ишке ашыруу процесси
Arduino ЖК долбоорун ишке ашыруу процесси

аппараттык туташуу

Код жазуунун кийинки кадамы ийкемдүү өтүшүн камсыз кылуу үчүн, адегенде аппараттык байланыштын ишенимдүүлүгүн аныкташыбыз керек.

Бул долбоордо төрт гана жабдык колдонулган:

1. Arduino Mini про өнүктүрүү тактасы

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 ЖК Колдонуучу интерфейсинин дизайны

TFT LCD Колдонуучу интерфейсинин дизайны
TFT LCD Колдонуучу интерфейсинин дизайны

Биринчиден, биз PhotoShop же башка сүрөт дизайн инструменттери тарабынан иштелип чыгуучу UI дисплей сүрөтүн иштеп чыгышыбыз керек. UI дисплейинин сүрөтүн иштеп чыккандан кийин, сүрөттү-j.webp

STONE TOOL2019 программасын ачып, жаңы долбоор түзүңүз:

17 -кадам: Жаңы долбоордо демейки түрдө жүктөлгөн сүрөттү алып салыңыз жана биз ойлоп тапкан UI сүрөтүн кошуңуз

Жаңы долбоордо демейки түрдө жүктөлгөн сүрөттү алып салыңыз жана биз ойлогон UI сүрөтүн кошуңуз
Жаңы долбоордо демейки түрдө жүктөлгөн сүрөттү алып салыңыз жана биз ойлогон UI сүрөтүн кошуңуз

18 -кадам: Текстти көрсөтүү компонентин кошуңуз

Текстти көрсөтүү компонентин кошуңуз
Текстти көрсөтүү компонентин кошуңуз

Текстти көрсөтүү компонентин кошуңуз, дисплейдин цифрасын жана ондук чекитин иштеп чыгыңыз, дисплейдеги текст дисплейинин компонентинин сакталышын алыңыз.

Эффект төмөнкүчө:

19 -кадам:

Текстти көрсөтүү компонентинин дареги:

  • Туташуу станы: 0x0008
  • Жүрөктүн кагышы: 0x0001

Кандын кычкылтеги: 0x0005 UI интерфейсинин негизги мазмуну төмөнкүлөр:

  • Туташуу абалы
  • Жүрөктүн кагышын көрсөтүү
  • Кандагы кычкылтек көрсөттү

20 -кадам: Конфигурация файлын түзүңүз

Конфигурация Файлын түзүү
Конфигурация Файлын түзүү

UI дизайны аяктагандан кийин, конфигурация файлын STVI070WT-01 дисплейине түзүп, жүктөп алсаңыз болот.

Биринчиден, 1 -кадамды аткарыңыз, андан кийин USB флэш -дискин компьютерге салыңыз жана дисктин символу көрсөтүлөт. Андан кийин конфигурация файлын USB флешкасына жүктөө үчүн "u-diskке жүктөө" баскычын чыкылдатыңыз, андан кийин жаңыртууну аяктоо үчүн USB флэш-дискин STVI070WT-01ге салыңыз.

21 -кадам: MAX30100

MAX30100
MAX30100

MAX30100 IIC аркылуу байланышат. Анын иштөө принциби жүрөктүн кагышынын ADC маанисин инфракызыл нурлануу аркылуу алса болот. MAX30100 реестри беш категорияга бөлүнөт: мамлекеттик реестр, ФИФО, башкаруу реестри, температура реестри жана ID реестри. температурадан келип чыккан четтөөнү оңдоо үчүн чиптин температурасынын маанисин окуйт. ID реестри чиптин ID номерин окуй алат.

MAX30100 IIC байланыш интерфейси аркылуу Arduino Mini Pro өнүктүрүү тактасы менен туташкан. Ардуино IDEде даяр MAX30100 китепкана файлдары бар болгондуктан, MAX30100 реестрин изилдебестен, жүрөктүн кагышын жана кан кычкылтек маалыматын окуй алабыз.

22-кадам: MAX30100 IIC тартылуу каршылыгын өзгөртүү

MAX30100 IIC тартылуу каршылыгын өзгөртүү
MAX30100 IIC тартылуу каршылыгын өзгөртүү

Белгилей кетсек, MAX30100 модулунун IIC пининин 4.7k тартылуу каршылыгы 1.8v менен туташкан, бул теорияда көйгөй эмес. Бирок, Arduino IIC пиндин байланыш логикалык деңгээли 5V, андыктан ал MAX30100 модулунун аппараттык жабдууларын өзгөртпөстөн Arduino менен байланыша албайт, эгерде MCU STM32 же башка 3.3v логикалык деңгээлдеги MCU болсо, түз байланыш мүмкүн.

Ошондуктан, төмөнкү өзгөртүүлөрдү киргизүү керек:

Электр ширетүүчү темир менен сүрөттө белгиленген үч 4.7k каршылыгын алып салыңыз. Андан кийин 4.7k эки резисторду SDA жана SCL казыктарына VINге ширеткиле, ошондо биз Arduino менен байланыша алабыз.

23 -кадам: Arduino

Arduino
Arduino

Arduino IDE ачыңыз жана төмөнкү баскычтарды табыңыз:

24 -кадам: MAX30100 үчүн эки китепкананы табуу үчүн "MAX30100" издеңиз, анан Жүктөө жана Орнотууну чыкылдатыңыз

Үчүн издөө
Үчүн издөө

25 -кадам: Орнотулгандан кийин, MAX30100 Demosун Arduino LIB Library Папкасынан таба аласыз:

Орнотулгандан кийин, MAX30100 Demoсун Arduino LIB Китепкана Папкасынан таба аласыз
Орнотулгандан кийин, MAX30100 Demoсун Arduino LIB Китепкана Папкасынан таба аласыз

26-кадам: Файлды ачуу үчүн эки жолу чыкылдатыңыз

Файлды ачуу үчүн эки жолу чыкылдатыңыз
Файлды ачуу үчүн эки жолу чыкылдатыңыз

27 -кадам: Толук код төмөнкүдөй:

Бул Demo түздөн -түз сыналышы мүмкүн. Эгерде аппараттык туташуу жакшы болсо, анда сиз Arduibo өнүктүрүү тактасына коддун компиляциясын жүктөп алып, сериялык мүчүлүштүктөрдү оңдоо куралынан MAX30100 маалыматын көрө аласыз.

Толук код төмөнкүчө:

/* Arduino-MAX30100 оксиметрия /жүрөктүн кагышынын интеграцияланган сенсор китепканасы Copyright (C) 2016 OXullo Intersecans Бул программа бекер программа: сиз аны кайра бөлүштүрүп жана /же GNU General Public License шарттарына ылайык өзгөртө аласыз., же Лицензиянын 3 -версиясы, же (сиздин тандооңуз боюнча) кийинки версиясы. Бул программа пайдалуу болот деген үмүттө таркатылган, бирок КАНДАЙ КЕПИЛДИКСИЗ; АТАЙЫН МАКСАТКА СООДА ЖӨНҮНДӨ ЖАНА ЫНТЫМАКТЫК боюнча кепилдик жок. Көбүрөөк маалымат алуу үчүн GNU General Public License'ти караңыз. Сиз бул программа менен бирге GNU General Public Licenseтин көчүрмөсүн алышыңыз керек болчу. Болбосо, караңыз. */ #include #include "MAX30100_PulseOximeter.h" #REPORTING_PERIOD_MS 1000ди аныктоо // PulseOximeter - бул сенсордун эң жогорку деңгээлдеги интерфейси // ал сунуштайт: // * согууну аныктоо отчету // * жүрөктүн кагышын эсептөө // * SpO2 (кычкылдануу деңгээли)) PulseOximeter чечекти эсептөө; uint32_t tsLastReport = 0; // CallBack (төмөндө катталган) импульс аныкталганда иштебейт void onBeatDetected () {Serial.println ("Beat!"); } void setup () {Serial.begin (115200); Serial.print ("Пульсоксиметрди баштоо.."); // PulseOximeter мисалын баштоо // Мүчүлүштүктөр көбүнчө туура эмес I2C зымынан, электр менен камсыздоонун жоктугунан же туура эмес максаттуу чиптен, эгерде (! Pox.begin ()) {Serial.println ("FAILED") болсо; үчүн (;;); } else {Serial.println ("SUCCESS"); } // 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 ("Жүрөктүн кагышы:"); Serial.print (pox.getHeartRate ()); Serial.print ("bpm / SpO2:"); Serial.print (pox.getSpO2 ()); Serial.println ("%"); tsLastReport = millis (); }}

28 -кадам:

Сүрөт
Сүрөт

Бул код абдан жөнөкөй, менимче, сиз аны бир караганда түшүнө аласыз. Мен Arduino модулдук программалоо абдан ыңгайлуу экенин айтышым керек жана Uart менен IICтин айдоочу коду кантип ишке ашырылганын түшүнүүнүн деле кереги жок.

Албетте, жогорудагы код расмий демо, мен дагы деле STONE дисплейине маалыматтарды көрсөтүү үчүн кээ бир өзгөртүүлөрдү киргизишим керек.

29 -кадам: Arduino аркылуу STONE Displayerге маалыматтарды көрсөтүү

Биринчиден, биз STONE дисплейинде жүрөктүн кагышын жана кан кычкылтек маалыматын көрсөтүүчү компоненттин дарегин алышыбыз керек:

Менин проектимде дарек төмөнкүчө: Жүрөктүн кагышын көрсөтүүчү компоненттин дареги: 0x0001 Кандагы кычкылтекти көрсөтүү модулунун дареги: 0x0005 Сенсордун байланыш статусунун дареги: 0x0008 Эгерде дисплейдин мазмунун тиешелүү мейкиндикте өзгөртүү керек болсо, анда дисплейдин мазмунун өзгөртө аласыз. маалыматтарды Arduino сериялык порту аркылуу дисплейдин тиешелүү дарегине жөнөтүү менен.

30 -кадам: Өзгөртүлгөн код төмөнкүдөй:

/* Arduino-MAX30100 оксиметрия /жүрөктүн кагышынын интеграцияланган сенсор китепканасы Copyright (C) 2016 OXullo Intersecans Бул программа бекер программа: аны кайра бөлүштүрүп жана /же GNU General Public License шарттарына ылайык, Free Software Foundation тарабынан чыгарылган., же Лицензиянын 3 -версиясы, же (сиздин тандооңуз боюнча) кийинки версиясы. Бул программа пайдалуу болот деген үмүттө таркатылган, бирок КАНДАЙ КЕПИЛДИКСИЗ; АТАЙЫН МАКСАТКА СООДА ЖӨНҮНДӨ ЖАНА ЫНТЫМАКТЫК боюнча кепилдик жок. Көбүрөөк маалымат алуу үчүн GNU General Public License'ти караңыз. Сиз бул программа менен бирге GNU General Public Licenseтин көчүрмөсүн алышыңыз керек болчу. Болбосо, караңыз. */ #include #include "MAX30100_PulseOximeter.h" #DEPINE REPORTING_PERIOD_MS 1000 #define Heart_dis_addr 0x01 #define Sop2_dis_addr 0x05 #define connect_sta_addr 0x08, 0xx, 0x5, 0x8, 0 0x00}; белгисиз 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 - бул сенсордун эң жогорку деңгээлдеги интерфейси // ал төмөнкүлөрдү сунуштайт: // * согууну аныктоо боюнча отчет // * жүрөктүн кагышын эсептөө // * SpO2 (кычкылдануу деңгээли) эсептөө PulseOximeter pox; uint32_t tsLastReport = 0; // CallBack (төмөндө катталган) импульс табылганда иштебейт void onBeatDetected () {// Serial.println ("Beat!"); } void setup () {Serial.begin (115200); // Serial.print ("Пульсоксиметрди баштоо.."); // PulseOximeter инстанциясын инициализациялоо // Мүчүлүштүктөр көбүнчө туура эмес I2C зымынан, электр менен камсыздоонун жоктугунан же туура эмес максаттуу чиптен (! Pox.begin ()) {// Serial.println ("FAILED"); // connect_sta_send [7] = 0x00; // Serial.write (connect_sta_send, 8); үчүн (;;); } башка {connect_sta_send [7] = 0x01; Serial.write (connect_sta_send, 8); // Serial.println ("ИЙГИЛИК"); } // 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 ("Жүрөктүн кагышы:"); // 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 -кадам: Arduino менен ЖКда Жүрөктүн Урушун Көрсөтүү

Жүрөктүн кагышын LCD дисплейинде Arduino менен көрсөтүү
Жүрөктүн кагышын LCD дисплейинде Arduino менен көрсөтүү

Кодду түзүңүз, Arduino өнүктүрүү тактасына жүктөп алыңыз жана сиз тестирлөөнү баштоого даярсыз.

Манжалар MAX30100дан чыкканда, жүрөктүн согушу жана кандагы кычкылтек дисплейи 0. Манжаңызды MAX30100 коллекторуна коюп, жүрөктүн кагышын жана кандагы кычкылтектин деңгээлин реалдуу убакытта көрүңүз.

Эффектти төмөнкү сүрөттө көрүүгө болот:

Сунушталууда: