Mundarija:
- 1 -qadam: MAX30100 ning yurak urishi va kislorod yig'ish funktsiyasini tekshirish uchun Arduino -dan foydalanishga qaror qildim
- 2 -qadam: Funktsional topshiriqlar
- 3 -qadam: Uskuna bilan tanishish
- 4 -qadam: ilovalar
- 5 -qadam: afzalliklari va xususiyatlari
- 6 -qadam: aniqlash printsipi
- 7-qadam: STONE STVI070WT-01
- 8 -qadam: Agar siz MAX3232 -dan qanday foydalanishni bilmasangiz, quyidagi rasmlarga qarang
- 9 -qadam: Agar sizga video darsliklar va qo'llanmalar kerak bo'lsa, uni rasmiy veb -saytda ham topishingiz mumkin
- 10 -qadam: Rivojlanish bosqichlari
- 11 -qadam: STONE TOOL dasturiy ta'minotini o'rnatish
- 12 -qadam: Arduino
- 13 -qadam: Rivojlanish muhiti
- 14 -qadam: Arduino LCD loyihasini amalga oshirish jarayoni
- 15 -qadam:
- 16 -qadam: TFT LCD foydalanuvchi interfeysi dizayni
- 17 -qadam: Yangi loyihada sukut bo'yicha yuklangan rasmni olib tashlang va biz yaratgan foydalanuvchi interfeysi tasvirini qo'shing
- 18 -qadam: Matnni ko'rsatish komponentini qo'shing
- 19 -qadam:
- 20 -qadam: Konfiguratsiya faylini yarating
- 21 -qadam: MAX30100
- 22-qadam: MAX30100 IIC tortish qarshiligini o'zgartiring
- 23 -qadam: Arduino
- 24 -qadam: MAX30100 uchun ikkita kutubxona topish uchun "MAX30100" ni qidiring, so'ng Yuklab olish va O'rnatish -ni bosing
- 25 -qadam: O'rnatishdan so'ng, MAX30100 demosini Arduino LIB kutubxonasi papkasida topishingiz mumkin:
- 26-qadam: Faylni ochish uchun uni ikki marta bosing
- 27 -qadam: To'liq kod quyidagicha:
- 28 -qadam:
- 29 -qadam: Arduino orqali STONE displeyida ma'lumotlarni ko'rsatish
- 30 -qadam: O'zgartirilgan kod quyidagicha:
- 31 -qadam: Arduino yordamida LCD displeyda yurak urish tezligini ko'rsatish
Video: Toshli LCD displeyda yurak tezligini qanday ko'rsatish mumkin: 31 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
qisqacha kirish
Bir muncha vaqt oldin, men onlayn xarid qilishda MAX30100 yurak urish tezligi sensori modulini topdim. Ushbu modul foydalanuvchilarning kislorod va yurak urish tezligi haqidagi ma'lumotlarni to'plashi mumkin, bu ham ishlatish uchun qulay va qulaydir. Ma'lumotlarga ko'ra, men Arduino kutubxona fayllarida MAX30100 kutubxonalari borligini aniqladim. Ya'ni, agar men Arduino va MAX30100 o'rtasidagi aloqadan foydalansam, haydovchi fayllarini qayta yozmasdan Arduino kutubxonasi fayllariga to'g'ridan -to'g'ri qo'ng'iroq qilishim mumkin. Bu yaxshi narsa, shuning uchun men MAX30100 modulini sotib oldim.
1 -qadam: MAX30100 ning yurak urishi va kislorod yig'ish funktsiyasini tekshirish uchun Arduino -dan foydalanishga qaror qildim
Eslatma: bu modul sukut bo'yicha faqat 3,3 V darajali MCU aloqasi bilan ta'minlangan, chunki u IIC pinidan foydalanishda 4,7 K dan 1,8 V gacha qarshilikka ega, shuning uchun Arduino bilan aloqa o'rnatmoqchi bo'lsangiz, sukut bo'yicha Arduino bilan aloqa yo'q. va VIN piniga ulangan ikkita 4,7 K IIC pinli tortish qarshiligiga ehtiyoj bor, bu ma'lumotlar bo'limning orqa qismida taqdim etiladi.
2 -qadam: Funktsional topshiriqlar
Loyihani boshlashdan oldin men ba'zi oddiy xususiyatlar haqida o'yladim:
- Yurak urishi va qon kislorodining ma'lumotlari to'plangan
- Yurak urishi va kislorod haqidagi ma'lumotlar LCD displey orqali ko'rsatiladi
Bu faqat ikkita xususiyat, lekin agar biz buni amalga oshirmoqchi bo'lsak, biz ko'proq o'ylashimiz kerak:
- Qaysi master MCU ishlatiladi?
- Qanday LCD displeyi?
Yuqorida aytib o'tganimizdek, biz MCU uchun Arduino -dan foydalanamiz, lekin bu Arduino LCD displeyli loyihasi, shuning uchun biz tegishli LCD displeyli modulni tanlashimiz kerak. Menda bu erda STONE STVI070WT-01 displeyi bor, lekin agar Arduino u bilan aloqa o'rnatishi kerak bo'lsa, darajadagi konvertatsiya qilish uchun MAX3232 kerak. Keyin asosiy elektron materiallar quyidagicha aniqlanadi:
1. Arduino Mini Pro ishlab chiqish taxtasi
2. MAX30100 yurak urish tezligi va qon kislorod sensori moduli
3. STONE STVI070WT-01 LCD seriyali port displey moduli
4. MAX3232 moduli
3 -qadam: Uskuna bilan tanishish
MAX30100
MAX30100 - bu impuls oksimetriyasi va yurak urish tezligi monitorining sensori. U ikkita LEDni, fotodetektorni, optimallashtirilgan optikani va past shovqinli analog signallarni qayta ishlashni impuls oksimetriya va yurak urish tezligini aniqlash uchun birlashtiradi.
MAX30100 1,8V va 3,3V quvvat manbalaridan ishlaydi va kutish oqimi ahamiyatsiz bo'lgan dasturiy ta'minot orqali o'chirilishi mumkin, bu esa quvvat manbai doimo uzluksiz qolishiga imkon beradi.
4 -qadam: ilovalar
● taqiladigan qurilmalar
● Fitness Assistant qurilmalari
● Tibbiy kuzatuv asboblari
5 -qadam: afzalliklari va xususiyatlari
1, to'liq puls oksimetr va yurak urish tezligi sensori dizaynni soddalashtiradi
- O'rnatilgan LEDlar, fotosurat sensori va yuqori samarali analog old qismi -oxiri
- Kichkina 5,6 mm x 2,8 mm x 1,2 mm 14-pinli optik jihatdan takomillashtirilgan tizim to'plami
2, Ultra-past quvvatli operatsiya kiyiladigan qurilmalar uchun batareyaning ishlash muddatini oshiradi
- Quvvatni tejash uchun dasturlashtiriladigan namuna tezligi va LED oqimi
- Ultra past o'chirish oqimi (0,7 mkA, tip)
3, ilg'or funksionallik o'lchov ishini yaxshilaydi
- Yuqori SNR kuchli harakat artefaktiga chidamlilikni ta'minlaydi
- Birlashtirilgan muhit nurini bekor qilish
- Namuna olishning yuqori qobiliyati
- Ma'lumotni tez chiqarish imkoniyati
6 -qadam: aniqlash printsipi
Puls kislorodining to'yinganligini (SpO2) va pulsni (yurak urishiga teng) baholash uchun barmog'ingizni sensorga bosishingiz kifoya.
Puls oksimetr (oksimetr)-bu qonning kislorod bilan to'yinganligini tahlil qilish uchun turli xil qizil hujayralarni yutish spektrlari tamoyillaridan foydalanadigan mini-spektrometr. Bu real vaqtda va tezkor o'lchash usuli ko'plab klinik ma'lumotnomalarda ham keng qo'llaniladi. Men MAX30100 ni juda ko'p tanishtirmayman, chunki bu materiallar Internetda mavjud. Qiziqqan do'stlar ushbu yurak urish tezligi test moduli ma'lumotlarini Internetda qidirishlari va uni aniqlash tamoyilini chuqurroq tushunishlari mumkin.
7-qadam: STONE STVI070WT-01
Displey bilan tanishish
Ushbu loyihada men STONE STVI070WT-01 yordamida yurak urish tezligi va qon kislorod ma'lumotlarini ko'rsataman. Haydovchi chipi displey ekraniga o'rnatilgan bo'lib, foydalanuvchilar uchun dasturiy ta'minot mavjud. Foydalanuvchilar faqat tugmalar, matn qutilari va boshqa mantiqlarni UI rasmlari orqali qo'shishlari, so'ngra konfiguratsiya fayllarini yaratishi va ishga tushirish uchun ularni displey ekraniga yuklashlari kerak. STVI070WT-01 displeyi MCU bilan uart-rs232 signali orqali aloqa o'rnatadi, ya'ni RS232 signalini TTL signaliga aylantirish uchun MAX3232 chipini qo'shishimiz kerak, shunda biz Arduino MCU bilan aloqa qila olamiz.
8 -qadam: Agar siz MAX3232 -dan qanday foydalanishni bilmasangiz, quyidagi rasmlarga qarang
Agar siz darajadagi konvertatsiya juda qiyin deb hisoblasangiz, siz STONE displeylarining boshqa turlarini tanlashingiz mumkin, ularning ba'zilari uart-ttl signalini to'g'ridan-to'g'ri chiqarishi mumkin.
Rasmiy veb -saytda batafsil ma'lumot va kirish bor:
9 -qadam: Agar sizga video darsliklar va qo'llanmalar kerak bo'lsa, uni rasmiy veb -saytda ham topishingiz mumkin
10 -qadam: Rivojlanish bosqichlari
STONE displey ekranini ishlab chiqishning uchta bosqichi:
- STONE TOOL dasturi yordamida displey mantig'i va tugma mantig'ini loyihalashtiring va dizayn faylini displey moduliga yuklab oling.
- MCU STONE LCD displey moduli bilan ketma -ket port orqali aloqa o'rnatadi.
- 2 -bosqichda olingan ma'lumotlar yordamida MCU boshqa harakatlarni bajaradi.
11 -qadam: STONE TOOL dasturiy ta'minotini o'rnatish
STONE TOOL dasturining so'nggi versiyasini (hozirgi TOOL2019) veb -saytidan yuklab oling va o'rnating.
Dastur o'rnatilgandan so'ng quyidagi interfeys ochiladi:
Yangi loyihani yaratish uchun yuqori chap burchakdagi "Fayl" tugmasini bosing, biz bu haqda keyinroq muhokama qilamiz.
12 -qadam: Arduino
Arduino - bu ochiq manbali elektron prototipli platforma, uni ishlatish oson va ishlatish oson. U apparat qismini (Arduino spetsifikatsiyasiga mos keladigan turli xil ishlab chiqarish platalari) va dasturiy ta'minot qismini (Arduino IDE va unga tegishli ishlab chiqarish to'plamlarini) o'z ichiga oladi.
Uskuna qismi (yoki ishlab chiqish platasi) mikrokontroller (MCU), Flash xotira (Flash) va mikrokompyuterli anakart deb o'ylashingiz mumkin bo'lgan universal kirish/chiqish interfeyslari to'plamidan (GPIO) iborat. Dasturiy ta'minot qismi asosan kompyuterda Arduino IDE, tegishli darajadagi qo'llab-quvvatlash to'plami (BSP) va boy uchinchi tomon kutubxonasidan iborat bo'lib, Arduino IDE yordamida siz ishlab chiqish paneli va kerakli kutubxonalar bilan bog'liq BSPni osongina yuklab olishingiz mumkin. dasturlaringizni yozish uchun. Arduino - bu ochiq manbali platforma. Hozircha Arduino Uno, Arduino Nano, ArduinoYun va shu kabilarni o'z ichiga olgan ko'plab modellar va ko'plab ishlab chiqaruvchilar bor edi, bundan tashqari, Arduino IDE endi nafaqat Arduino seriyasini ishlab chiqish platalarini qo'llab -quvvatlabgina qolmay, balki ommabop ishlab chiqarish platalarini qo'llab -quvvatlaydi. BSP -ni joriy qilish orqali Intel Galileo va NodeMCU sifatida.
Arduino atrof -muhitni oziqlantirish va ta'sir qilish uchun turli xil sensorlar, chiroqlar, dvigatellar va boshqa qurilmalar orqali atrof -muhitni sezadi, bortdagi mikrokontroller Arduino dasturlash tili bilan dasturlashtirilishi, ikkiliklarga to'planishi va mikrokontrolderga yozilishi mumkin. chunki Arduino Arduino dasturlash tili (simlarga asoslangan) va Arduino ishlab chiqish muhiti (ishlov berish asosida) bilan amalga oshiriladi. Arduino-ga asoslangan loyihalarda faqat Arduino, shuningdek kompyuterda ishlaydigan Arduino va boshqa dasturlar bo'lishi mumkin. boshqa (Flash, Processing, MaxMSP kabi).
13 -qadam: Rivojlanish muhiti
Arduino ishlab chiqish muhiti Arduino IDE bo'lib, uni Internetdan yuklab olish mumkin.
Arduino rasmiy veb -saytiga kiring va dasturni yuklab oling https://www.arduino.cc/en/Main/Software?setlang=c… Arduino IDE -ni o'rnatgandan so'ng, dasturni ochganingizda quyidagi interfeys paydo bo'ladi:
Arduino IDE sukut bo'yicha ikkita funktsiyani yaratadi: sozlash funktsiyasi va pastadir funktsiyasi Internetda Arduino -ning ko'plab tanishuvlari mavjud. Agar biror narsani tushunmasangiz, uni topish uchun Internetga kirishingiz mumkin.
14 -qadam: Arduino LCD loyihasini amalga oshirish jarayoni
apparat aloqasi
Kodni yozishning keyingi bosqichi muammosiz o'tishini ta'minlash uchun biz birinchi navbatda apparat ulanishining ishonchliligini aniqlashimiz kerak.
Loyihada faqat to'rtta apparat ishlatilgan:
1. Arduino Mini pro ishlab chiqish taxtasi
2. STONE STVI070WT-01 tft-lcd displeyli ekran
3. MAX30100 yurak urishi va qon kislorod sensori
4. MAX3232 (rs232-> TTL) Arduino Mini Pro ishlab chiqish taxtasi va STVI070WT-01 TFT-LCD displey ekrani UART orqali ulanadi, bu MAX3232 orqali darajali konvertatsiyani talab qiladi, so'ngra Arduino Mini Pro ishlab chiqish platasi va MAX30100 moduli orqali ulanadi. IIC interfeysi. Aniq o'ylab bo'lgach, biz quyidagi simli rasmni chizishimiz mumkin:
15 -qadam:
Uskuna ulanishida xatolar yo'qligiga ishonch hosil qiling va keyingi bosqichga o'ting.
16 -qadam: TFT LCD foydalanuvchi interfeysi dizayni
Birinchidan, biz PhotoShop yoki boshqa tasvirni yaratish vositalari yordamida loyihalashtiriladigan UI displeyli tasvirni loyihalashimiz kerak. UI displey tasvirini yaratgandan so'ng, tasvirni-j.webp
STONE TOOL2019 dasturini oching va yangi loyiha yarating:
17 -qadam: Yangi loyihada sukut bo'yicha yuklangan rasmni olib tashlang va biz yaratgan foydalanuvchi interfeysi tasvirini qo'shing
18 -qadam: Matnni ko'rsatish komponentini qo'shing
Matnli displey komponentasini qo'shing, displeyning raqamli va kasrli nuqtasini yarating, displeyda matnni ko'rsatish komponentining saqlash joyini oling.
Ta'siri quyidagicha:
19 -qadam:
Matnni ko'rsatish komponentining manzili:
- Ulanish stantsiyasi: 0x0008
- Yurak urishi: 0x0001
Qon kislorodi: 0x0005 UI interfeysining asosiy tarkibi quyidagicha:
- Ulanish holati
- Yurak urish tezligi ko'rsatkichi
- Qon kislorodini ko'rsatdi
20 -qadam: Konfiguratsiya faylini yarating
UI dizayni tugallangach, konfiguratsiya faylini STVI070WT-01 displeyiga yaratish va yuklab olish mumkin.
Birinchidan, 1 -qadamni bajaring, keyin USB flesh -diskini kompyuterga joylashtiring va disk belgisi paydo bo'ladi. Keyin konfiguratsiya faylini USB flesh haydovchiga yuklash uchun "U-diskka yuklash" tugmasini bosing va yangilanishni yakunlash uchun USB flesh-diskini STVI070WT-01 ga joylashtiring.
21 -qadam: MAX30100
MAX30100 IIC orqali muloqot qiladi, uning ishlash printsipi shundaki, yurak urish tezligining ADC qiymatini infraqizil nurli nurlanish orqali olish mumkin, MAX30100 registrini beshta toifaga bo'lish mumkin: davlat reestri, FIFO, nazorat registri, harorat registri va identifikator registri. harorat ta'siridan chetga chiqishni to'g'rilash uchun chipning harorat qiymatini o'qiydi. ID registri chipning identifikator raqamini o'qishi mumkin.
MAX30100 IIC aloqa interfeysi orqali Arduino Mini Pro ishlab chiqish platasiga ulangan. Tayyor MAX30100 kutubxona fayllari Arduino IDEda bo'lgani uchun, biz MAX30100 registrlarini o'rganmasdan yurak urish tezligi va kislorod ma'lumotlarini o'qishimiz mumkin.
22-qadam: MAX30100 IIC tortish qarshiligini o'zgartiring
Ta'kidlash joizki, MAX30100 modulining IIC pinining 4,7k tortish qarshiligi 1,8v ga ulangan, bu nazariy jihatdan muammo emas. Biroq, Arduino IIC pinining aloqa mantiqiy darajasi 5V, shuning uchun MAX30100 modulining apparatini o'zgartirmasdan Arduino bilan aloqa qila olmaydi, agar MCU STM32 yoki boshqa 3.3v mantiqiy darajali MCU bo'lsa, to'g'ridan -to'g'ri aloqa mumkin.
Shuning uchun quyidagi o'zgarishlarni amalga oshirish kerak:
Elektr lehimli temir bilan rasmda ko'rsatilgan 4,7k rezistorni olib tashlang, so'ngra Arduino bilan bog'lanish uchun SDA va SCL pinlarida 4,7k ikkita rezistorni payvandlang.
23 -qadam: Arduino
Arduino IDE -ni oching va quyidagi tugmalarni toping:
24 -qadam: MAX30100 uchun ikkita kutubxona topish uchun "MAX30100" ni qidiring, so'ng Yuklab olish va O'rnatish -ni bosing
25 -qadam: O'rnatishdan so'ng, MAX30100 demosini Arduino LIB kutubxonasi papkasida topishingiz mumkin:
26-qadam: Faylni ochish uchun uni ikki marta bosing
27 -qadam: To'liq kod quyidagicha:
Bu Demo to'g'ridan -to'g'ri sinovdan o'tkazilishi mumkin. Agar uskuna ulanishi yaxshi bo'lsa, siz Arduibo ishlab chiqish kartasiga kodlar to'plamini yuklab olishingiz va ketma -ket disk raskadrovka vositasida MAX30100 ma'lumotlarini ko'rishingiz mumkin.
To'liq kod quyidagicha:
/* Arduino-MAX30100 oksimetriya /yurak urish tezligi o'rnatilgan sensorlar kutubxonasi Mualliflik huquqi (C) 2016 OXullo Intersecans Bu dastur bepul dastur: siz uni bepul tarqatish fondi tomonidan e'lon qilingan GNU General Public License shartlari asosida qayta tarqatishingiz va /yoki o'zgartirishingiz mumkin., yoki Litsenziyaning 3 -versiyasi, yoki (sizning xohishingiz bo'yicha) keyingi versiyasi. Bu dastur foydali bo'ladi degan umidda tarqatiladi, lekin KAFOLATSIZ; Hatto ma'lum bir maqsad uchun SOTILISh yoki moslik kafolatlanmagan. Qo'shimcha ma'lumot olish uchun GNU General Public License ga qarang. Siz ushbu dastur bilan birga GNU General Public License nusxasini olishingiz kerak edi. Agar yo'q bo'lsa, qarang. */ #include #include "MAX30100_PulseOximeter.h" #REPORTING_PERIOD_MS 1000 ni aniqlang // PulseOximeter - bu sensorning yuqori darajali interfeysi // u taklif qiladi: // * yurak urish tezligini hisoblash // * SpO2 (oksidlanish darajasi)) PulseOksimetr poxini hisoblash; uint32_t tsLastReport = 0; // Qayta qo'ng'iroq (quyida ro'yxatga olingan) puls aniqlanganda ishdan bo'shatilgan onBeatDetected () {Serial.println ("Beat!"); } void setup () {Serial.begin (115200); Serial.print ("Puls oksimetrini ishga tushirish.."); // PulseOximeter misolini ishga tushiring // Nosozliklar odatda noto'g'ri I2C simlari, quvvat manbai yo'qligi yoki noto'g'ri nishon chipi tufayli (! Pox.begin ()) {Serial.println ("FAIL") bo'lsa; uchun(;;); } boshqa {Serial.println ("SUCCESS"); } // IQ LED uchun standart oqim 50mA va uni quyidagi satrga izoh qoldirishsiz o'zgartirish mumkin. MAX30100_Registers.h ni tekshiring // barcha mavjud variantlar. // pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA); // pox.setOnBeatDetectedCallback (onBeatDetected) ni aniqlash uchun qayta qo'ng'iroqni ro'yxatdan o'tkazing; } void loop () {// iloji boricha tezroq pox.update () yangilanishini chaqirganingizga ishonch hosil qiling; // Asinxron tarzda yurak urish tezligi va oksidlanish darajasini ketma -ket ketkazadi // Ikkalasi uchun 0 qiymati "yaroqsiz" degan ma'noni anglatadi, agar (millis () - tsLastReport> REPORTING_PERIOD_MS) {Serial.print ("Yurak urishi:"); Serial.print (pox.getHeartRate ()); Serial.print ("bpm / SpO2:"); Serial.print (pox.getSpO2 ()); Serial.println ("%"); tsLastReport = millis (); }}
28 -qadam:
Bu kod juda oddiy, menimcha, siz uni bir qarashda tushunishingiz mumkin. Aytishim kerakki, Arduino -ning modulli dasturlashi juda qulay va Uart va IIC drayveri kodi qanday amalga oshirilganini tushunishning hojati yo'q.
Albatta, yuqoridagi kod rasmiy Demo va men hali ham ma'lumotlarni STONE displeyida ko'rsatish uchun ba'zi o'zgartirishlar kiritishim kerak.
29 -qadam: Arduino orqali STONE displeyida ma'lumotlarni ko'rsatish
Birinchidan, biz STONE displeyida yurak urish tezligi va qon kislorod ma'lumotlarini aks ettiruvchi komponentning manzilini olishimiz kerak:
Mening loyihamda manzil quyidagicha: Yurak urishi tezligini aks ettiruvchi komponent manzili: 0x0001 Qon kislorodli displey modulining manzili: 0x0005 Sensor ulanishi holati manzili: 0x0008 Agar displey tarkibini tegishli maydonda o'zgartirish zarur bo'lsa, siz displey tarkibini o'zgartirishingiz mumkin. ma'lumotlarni Arduino ketma -ket porti orqali displey ekranining tegishli manziliga yuborish orqali.
30 -qadam: O'zgartirilgan kod quyidagicha:
/* Arduino-MAX30100 oksimetriya /yurak urish tezligi o'rnatilgan sensorlar kutubxonasi Mualliflik huquqi (C) 2016 OXullo Intersecans Bu dastur bepul dastur: siz uni bepul tarqatish fondi tomonidan e'lon qilingan GNU General Public License shartlari asosida qayta tarqatishingiz va /yoki o'zgartirishingiz mumkin., yoki Litsenziyaning 3 -versiyasi, yoki (sizning xohishingiz bo'yicha) keyingi versiyasi. Bu dastur foydali bo'ladi degan umidda tarqatilgan, lekin KAFOLATSIZ; Hatto ma'lum bir maqsad uchun SOTILISh yoki moslik kafolatlanmagan. Qo'shimcha ma'lumot olish uchun GNU General Public License ga qarang. Siz ushbu dastur bilan birga GNU General Public License nusxasini olishingiz kerak edi. Agar yo'q bo'lsa, qarang. */ #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, 0xx, 0x8, 0x8, 0x8, 0 0x00}; imzosiz char Sop2_send [8] = {0xA5, 0x5A, 0x05, 0x82, 0x00, / Sop2_dis_addr, 0x00, 0x00}; imzosiz char connect_sta_send [8] = {0xA5, 0x5A, 0x05, 0x82, 0x00, / connect_sta_addr, 0x00, 0x00}; // PulseOximeter - bu sensorning yuqori darajali interfeysi // u quyidagilarni taklif qiladi: // * yurak urish tezligini aniqlash hisoboti // * yurak urish tezligini hisoblash // * SpO2 (oksidlanish darajasi) hisobi PulseOximeter pox; uint32_t tsLastReport = 0; // Qayta qo'ng'iroq (quyida ro'yxatga olingan) puls aniqlanganda o'chiriladi void onBeatDetected () {// Serial.println ("Beat!"); } void setup () {Serial.begin (115200); // Serial.print ("Puls oksimetrini ishga tushirish.."); // PulseOximeter misolini ishga tushiring // Nosozliklar odatda noto'g'ri I2C simlari, quvvat manbai yo'qligi yoki noto'g'ri nishon chipi tufayli (! Pox.begin ()) {// Serial.println ("FAIL") bo'lsa; // ulanish_sta_send [7] = 0x00; // Serial.write (connect_sta_send, 8); uchun(;;); } boshqa {connect_sta_send [7] = 0x01; Serial.write (connect_sta_send, 8); // Serial.println ("Muvaffaqiyat"); } // IQ LED uchun standart oqim 50mA va uni quyidagi satrga izoh qoldirishsiz o'zgartirish mumkin. MAX30100_Registers.h ni tekshiring // barcha mavjud variantlar.pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA); // pox.setOnBeatDetectedCallback (onBeatDetected) ni aniqlash uchun qayta qo'ng'iroqni ro'yxatdan o'tkazing; } void loop () {// iloji boricha tezroq pox.update () yangilanishini chaqirganingizga ishonch hosil qiling; // Asinxron tarzda yurak urish tezligi va oksidlanish darajasini ketma -ket ketkazadi // Ikkalasi uchun ham 0 qiymati "millis () - tsLastReport> REPORTING_PERIOD_MS) {" Serial.print ("Yurak urishi:"); // 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 -qadam: Arduino yordamida LCD displeyda yurak urish tezligini ko'rsatish
Kodni kompilyatsiya qiling, Arduino ishlab chiqish kartasiga yuklab oling va siz testni boshlashga tayyormiz.
Biz ko'rishimiz mumkinki, barmoqlar MAX30100dan chiqqanda, yurak urish tezligi va kislorod ko'rsatkichi 0. Barmoqlaringizni MAX30100 kollektoriga qo'ying, yurak urish tezligini va qondagi kislorod darajasini real vaqtda ko'rish uchun.
Ta'sirni quyidagi rasmda ko'rish mumkin:
Tavsiya:
Namlik va haroratni LCD displeyda ARDUINO NANO bilan ko'rsatish: 5 qadam
Namlik va haroratni LCD displeyda ARDUINO NANO bilan KO'RSATISH: Quyidagi ko'rsatma arduino nano bilan oddiy lcd interfeysini yaratish bilan bog'liq
Yurak urish tezligini o'lchash barmog'ingiz uchida: yurak tezligini aniqlashning fotopletizmografiya usuli: 7 qadam
Yurak urish tezligini o'lchash barmoq uchida: fotopletizmografiya yurak urish tezligini aniqlash usuli: fotopletizmografiya (PPG)-bu oddiy va arzon optik usul bo'lib, u ko'pincha to'qimalarning mikrovaskulyar to'shagidagi qon hajmining o'zgarishini aniqlash uchun ishlatiladi. U asosan terining sirtini o'lchash uchun invaziv bo'lmagan holda ishlatiladi, odatda
Dvigatelning aylanish tezligini ko'rsatish uchun Arduino -dan foydalaning: 10 qadam (rasmlar bilan)
Dvigatelning aylanish tezligini ko'rsatish uchun Arduino -dan foydalaning: Ushbu qo'llanmada men qanday Arduino UNO R3, I2C bilan 16x2 LCD displey va diodli tezlikni o'lchash vositasi sifatida ishlatilganimni tasvirlab beraman, bu mening Acura Integra trekli avtomashinamda tezlikni o'lchash moslamasi. Bu tajribaga yoki ta'sirga ega bo'lgan odam uchun yozilgan
Klaviatura raqamlarini 8051: 4 qadamli 16 X 2 LCD displeyda ko'rsatish
Klaviatura raqamlarini 16 X 2 LCD displeyda ko'rsatish 8051: Ushbu loyihada biz klaviatura va lcdni 8051 bilan bog'laymiz. Klaviaturadagi tugmachani bosganimizda, biz lcd -da yozishmalar raqamini olamiz
Uy avtomatizatsiyasi: harorat signal chegarasidan yuqori bo'lganida signal va signalni LCD displeyda ko'rsatish: 5 qadam
Uy avtomatizatsiyasi: harorat chegaradan yuqori bo'lganda signalni va displeyni LCD displeyda ko'rsatish: Bu blogda uy avtomatlashtirish tizimini qanday qilish kerakligi ko'rsatiladi, u harorat dasturlashtirilgan chegara qiymatidan oshganda signal berishni boshlaydi. U LCD displeyda xonaning hozirgi haroratini ko'rsatishni davom ettiradi