Агуулгын хүснэгт:

Зүрхний цохилтыг STONE LCD дэлгэц дээр Ar: 31 алхамаар хэрхэн харуулах вэ
Зүрхний цохилтыг STONE LCD дэлгэц дээр Ar: 31 алхамаар хэрхэн харуулах вэ

Видео: Зүрхний цохилтыг STONE LCD дэлгэц дээр Ar: 31 алхамаар хэрхэн харуулах вэ

Видео: Зүрхний цохилтыг STONE LCD дэлгэц дээр Ar: 31 алхамаар хэрхэн харуулах вэ
Видео: SCP-093, Улаан тэнгисийн Object (Бүх туршилт, Дахин материал бичиглэлээр) 2024, Арваннэгдүгээр
Anonim
Зүрхний цохилтыг Ar ашиглан STONE LCD дээр хэрхэн харуулах вэ
Зүрхний цохилтыг Ar ашиглан 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 В хүртэл эсэргүүцэл өгдөг тул Arduino -тэй харилцахыг хүсвэл анхдагчаар Arduino -тай ямар ч холбоо байхгүй болно. болон VIN зүү холбогдсон IIC зүү татах эсэргүүцэл хоёр 4.7 K хэрэгтэй, Эдгээр агуулгыг бүлгийн ард танилцуулж болно.

Алхам 2: Функциональ даалгавар

Энэ төслийг эхлүүлэхийн өмнө би хэдэн энгийн онцлогуудын талаар бодож үзсэн.

  • Зүрхний цохилт, цусны хүчилтөрөгчийн мэдээллийг цуглуулсан
  • Зүрхний цохилт, цусны хүчилтөрөгчийн мэдээллийг LCD дэлгэцээр харуулдаг

Эдгээр нь зөвхөн хоёр онцлог шинж чанартай боловч хэрэв бид үүнийг хэрэгжүүлэхийг хүсч байвал илүү сайн бодох хэрэгтэй.

  • Ямар мастер MCU ашигладаг вэ?
  • Ямар төрлийн LCD дэлгэц үзүүлэгч вэ?

Өмнө дурьдсанчлан бид MCU -ийн хувьд Arduino -ийг ашигладаг боловч энэ нь Arduino 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.8V ба 3.3V тэжээлийн эх үүсвэрээс ажилладаг бөгөөд зогсолтын гүйдэл багатай програм хангамжийн тусламжтайгаар унтрах боломжтой бөгөөд ингэснээр цахилгаан хангамжийг үргэлж холболттой байлгах боломжийг олгодог.

Алхам 4: Програмууд

● Зүүж болох төхөөрөмжүүд

● Чийрэгжүүлэх туслах төхөөрөмжүүд

● Эмнэлгийн хяналтын төхөөрөмж

Алхам 5: Давуу тал ба онцлог

1, Импульсийн оксиметр ба зүрхний цохилтын мэдрэгчийн бүрэн шийдэл нь дизайныг хялбаршуулдаг

  • Нэгдсэн LED, гэрэл мэдрэгч, өндөр үзүүлэлттэй аналог урд хэсэг -Төгсгөл
  • Жижиг 5.6mm x 2.8mm x 1.2mm 14-Pin Optically Enhanced System-in Package

2, Хэт бага чадлын ажиллагаа нь элэгддэг төхөөрөмжүүдийн батерейны хугацааг нэмэгдүүлдэг

  • Цахилгаан хэмнэх зориулалттай програмчлалын дээжийн хурд ба LED гүйдэл
  • Хэт бага унтраах гүйдэл (0.7µA, төрөл)

3, Дэвшилтэт функц нь хэмжилтийн гүйцэтгэлийг сайжруулдаг

  • Өндөр SNR нь бат бөх хөдөлгөөний олдворын уян хатан чанарыг хангадаг
  • Орчны гэрлийн нэгдсэн цуцлалт
  • Дээжийн хурдны өндөр чадвар
  • Өгөгдөл хурдан гаргах чадвар

Алхам 6: Илрүүлэх зарчим

Илрүүлэх зарчим
Илрүүлэх зарчим

Импульсийн хүчилтөрөгчийн ханалт (SpO2) ба импульс (зүрхний цохилттой тэнцүү) -ийг тооцоолохын тулд хуруугаа мэдрэгч дээр дарахад л хангалттай.

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

Алхам 7: STONE STVI070WT-01

ЧУЛУУ STVI070WT-01
ЧУЛУУ STVI070WT-01

Дэлгэцийн танилцуулга

Энэ төсөлд би STONE STVI070WT-01 ашиглан зүрхний цохилт, цусны хүчилтөрөгчийн мэдээллийг харуулах болно. Жолоочийн чипийг дэлгэцийн дэлгэц дотор нэгтгэсэн бөгөөд хэрэглэгчдэд ашиглах програм хангамж байдаг. Хэрэглэгчид зөвхөн зохион бүтээсэн интерфэйсийн зургуудаар дамжуулан товчлуур, текст хайрцаг болон бусад логикийг нэмж, дараа нь тохиргооны файлуудыг үүсгэж дэлгэцийн дэлгэц рүү татаж аваад ажиллуулах хэрэгтэй. 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 гэх мэт олон загвар, гарал үүсэлтэй олон тооны хянагчууд байсан бөгөөд үүнээс гадна Arduino IDE нь зөвхөн Arduino цувралын хөгжүүлэлтийн самбарыг дэмжиж зогсохгүй алдартай хөгжүүлэлтийн самбарыг дэмждэг. BSP -ийг танилцуулснаар Intel Galileo болон NodeMCU зэрэг болно.

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

Алхам 13: Хөгжлийн орчин

Хөгжлийн орчин
Хөгжлийн орчин

Arduino хөгжүүлэх орчин бол Arduino IDE бөгөөд үүнийг интернетээс татаж авах боломжтой.

Arduino -ийн албан ёсны вэбсайт руу нэвтэрч, програмыг татаж аваарай https://www.arduino.cc/en/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 -ээр дамждаг бөгөөд түүний ажиллах зарчим нь зүрхний цохилтын ADC утгыг хэт улаан туяаны туяагаар авах боломжтой байдаг. MAX30100 бүртгэлийг улсын бүртгэл, FIFO, хяналтын бүртгэл, температурын бүртгэл, ID бүртгэл гэсэн таван төрөлд хувааж болно. Температураас үүдэлтэй хазайлтыг засахын тулд чипний температурын утгыг уншдаг. ID регистр нь чипийн ID дугаарыг унших боломжтой.

MAX30100 нь Arduino Mini Pro хөгжүүлэлтийн самбартай IIC холбооны интерфейсээр холбогддог. MAX30100 номын сангийн файлууд Arduino IDE-д байдаг тул бид 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 хэмжээтэй гурван резисторыг цахилгаан гагнуураар салгаад дараа нь SDU ба SCL -ийн зүү дээр 4.7k хэмжээтэй хоёр резисторыг гинжлээд Arduino -той холбоо бариарай.

Алхам 23: Arduino

Ардуино
Ардуино

Arduino IDE -ийг нээгээд дараах товчлууруудыг олоорой.

Алхам 24: MAX30100 -ийн хоёр номын санг олохын тулд "MAX30100" -ыг хайж олоод Татаж авах ба Суулгах дээр дарна уу

Хайх
Хайх

Алхам 25: Суулгасны дараа та MAX30100 -ийн демо хувилбарыг Arduino -ийн LIB номын сангийн хавтаснаас олох боломжтой

Суулгацын дараа та Arduino -ийн LIB номын сангийн фолдероос MAX30100 -ийн демо -г олох боломжтой
Суулгацын дараа та Arduino -ийн LIB номын сангийн фолдероос MAX30100 -ийн демо -г олох боломжтой

Алхам 26: Файлыг нээхийн тулд давхар товшино уу

Файлыг нээхийн тулд давхар товшино уу
Файлыг нээхийн тулд давхар товшино уу

Алхам 27: Бүрэн код дараах байдалтай байна

Энэхүү Демог шууд туршиж үзэх боломжтой. Хэрэв тоног төхөөрөмжийн холболт хэвийн байгаа бол та кодын эмхэтгэлийг Arduibo хөгжлийн самбарт татаж аваад MAX30100 -ийн өгөгдлийг цуврал дибаг хийх хэрэгслээс харах боломжтой.

Бүрэн код дараах байдалтай байна.

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

Алхам 28:

Зураг
Зураг

Энэ код нь маш энгийн, та үүнийг нэг дор ойлгох боломжтой гэж бодож байна. Arduino -ийн модульчлагдсан програмчлал нь маш тохиромжтой гэдгийг би хэлэх ёстой бөгөөд Uart болон IIC -ийн драйверын кодыг хэрхэн хэрэгжүүлж байгааг ойлгох шаардлагагүй байна.

Мэдээжийн хэрэг, дээрх код бол албан ёсны Демо хувилбар бөгөөд STONE -ийн дэлгэц дээр өгөгдлийг харуулахын тулд би зарим өөрчлөлт хийх шаардлагатай хэвээр байна.

Алхам 29: Arduino -ээр дамжуулан өгөгдлийг STONE дэлгэц дээр харуулах

Нэгдүгээрт, бид зүрхний цохилт, цусны хүчилтөрөгчийн мэдээллийг харуулдаг бүрэлдэхүүн хэсгийн хаягийг STONE дэлгэц дээр авах ёстой.

Миний төсөлд хаяг нь дараах байдалтай байна: Зүрхний цохилтыг харуулах бүрэлдэхүүн хэсгийн хаяг: 0x0001 Цусны хүчилтөрөгчийн дэлгэцийн модулийн хаяг: 0x0005 Мэдрэгчийн холболтын статусын хаяг: 0x0008 Хэрэв та харгалзах орон зайд дэлгэцийн агуулгыг өөрчлөх шаардлагатай бол дэлгэцийн агуулгыг өөрчилж болно. өгөгдлийг Arduino цуваа портоор дамжуулан дэлгэцийн харгалзах хаяг руу илгээх.

Алхам 30: Өөрчилсөн код дараах байдалтай байна

/* Arduino-MAX30100 оксиметрийн /зүрхний цохилтын нэгдсэн мэдрэгчийн номын сан Зохиогчийн эрх (C) 2016 OXullo Intersecans Энэхүү програм нь үнэгүй програм хангамж юм: та үүнийг Чөлөөт Програм хангамжийн Сангаас нийтэлсэн GNU General Public License-ийн нөхцлийн дагуу дахин тарааж, /эсвэл өөрчилж болно., Лицензийн 3 -р хувилбар, эсвэл (таны сонголтоор) дараагийн хувилбар. Энэ програмыг хэрэгтэй болно гэж найдаж тараасан боловч ямар ч баталгаагүйгээр; ОНЦГОЙ ЗОРИЛГОД ХУДАЛДАА БҮТЭЭХ, Тохиромжтой байх гэсэн баталгаагүй ч гэсэн. Дэлгэрэнгүй мэдээллийг GNU Public Public License -ээс үзнэ үү. Та энэ програмын хамт GNU Public Public License -ийн хуулбарыг авах ёстой байсан. Үгүй бол үзнэ үү. */ #include #include "MAX30100_PulseOximeter.h" #REPORTING_PERIOD_MS 1000 #define Heart_dis_addr 0x01 #define Sop2_dis_addr 0x05 #define connect_sta_addr 0x08, 0xx, 0xx, 0x8, 0 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 нь мэдрэгчийн дээд түвшний интерфэйс юм // санал болгодог: // * цохилтын илрүүлэлтийн тайлан // * зүрхний цохилтын тооцоо // * SpO2 (исэлдэлтийн түвшин) тооцоо PulseOximeter pox; uint32_t tsLastReport = 0; // Дуудлага буцааж (доор бүртгэгдсэн) импульс илрэх үед идэвхгүй болно 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 дэлгэц дээр харуулна

LCD дэлгэц дээр зүрхний цохилтыг Arduino ашиглан харуул
LCD дэлгэц дээр зүрхний цохилтыг Arduino ашиглан харуул

Кодыг эмхэтгэн Arduino хөгжүүлэлтийн самбарт татаж аваарай, та туршилтыг эхлүүлэхэд бэлэн байна.

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

Үр нөлөөг дараах зураг дээрээс харж болно.

Зөвлөмж болгож буй: