Mục lục:

Cách hiển thị nhịp tim trên màn hình LCD STONE với Ar: 31 bước
Cách hiển thị nhịp tim trên màn hình LCD STONE với Ar: 31 bước

Video: Cách hiển thị nhịp tim trên màn hình LCD STONE với Ar: 31 bước

Video: Cách hiển thị nhịp tim trên màn hình LCD STONE với Ar: 31 bước
Video: Lesson 99: Building Arduino Digital Clock using DS3231 LCD and Seven Segment Display 2024, Tháng bảy
Anonim
Cách hiển thị nhịp tim trên màn hình STONE LCD với Ar
Cách hiển thị nhịp tim trên màn hình STONE LCD với Ar

Tom lược

Cách đây một thời gian, tôi tìm thấy một mô-đun cảm biến nhịp tim MAX30100 khi mua sắm trực tuyến. Mô-đun này có thể thu thập dữ liệu oxy trong máu và nhịp tim của người dùng, sử dụng cũng đơn giản và tiện lợi. Theo dữ liệu, tôi thấy rằng có các thư viện MAX30100 trong các tệp thư viện Arduino. Có nghĩa là, nếu tôi sử dụng giao tiếp giữa Arduino và MAX30100, tôi có thể gọi trực tiếp các tệp thư viện Arduino mà không cần phải viết lại các tệp trình điều khiển. Đây là một điều tốt, vì vậy tôi đã mua mô-đun của MAX30100.

Bước 1: Tôi quyết định sử dụng Arduino để xác minh nhịp tim và chức năng thu thập oxy trong máu của MAX30100

Tôi đã quyết định sử dụng Arduino để xác minh nhịp tim và chức năng thu thập oxy trong máu của MAX30100
Tôi đã quyết định sử dụng Arduino để xác minh nhịp tim và chức năng thu thập oxy trong máu của MAX30100

Lưu ý: theo mặc định, mô-đun này chỉ có giao tiếp MCU cấp 3,3 V, vì nó mặc định sử dụng điện trở chân IIC kéo lên từ 4,7 K đến 1,8 V, do đó, không có giao tiếp với Arduino theo mặc định, nếu bạn muốn giao tiếp với Arduino và cần hai 4,7 K của điện trở kéo lên chân IIC nối với chân VIN, những nội dung này sẽ được giới thiệu ở phần sau của chương.

Bước 2: Phân công chức năng

Trước khi bắt đầu dự án này, tôi đã nghĩ về một số tính năng đơn giản:

  • Dữ liệu nhịp tim và dữ liệu oxy trong máu đã được thu thập
  • Dữ liệu nhịp tim và oxy trong máu được hiển thị qua màn hình LCD

Đây là hai tính năng duy nhất, nhưng nếu chúng ta muốn triển khai nó, chúng ta cần phải suy nghĩ nhiều hơn:

  • MCU chính nào được sử dụng?
  • Những loại màn hình LCD?

Như chúng tôi đã đề cập trước đó, chúng tôi sử dụng Arduino cho MCU, nhưng đây là một dự án hiển thị Arduino LCD, vì vậy chúng tôi cần chọn mô-đun hiển thị LCD thích hợp. Tôi dự định sử dụng màn hình hiển thị LCD với cổng nối tiếp. Tôi có một bộ hiển thị STONE STVI070WT-01 ở đây, nhưng nếu Arduino cần giao tiếp với nó, thì cần có MAX3232 để thực hiện chuyển đổi mức. Sau đó, các vật liệu điện tử cơ bản được xác định như sau:

1. Bảng phát triển Arduino Mini Pro

2. Mô-đun cảm biến nhịp tim và oxy trong máu MAX30100

3. Mô-đun hiển thị cổng nối tiếp LCD STONE STVI070WT-01

4. Mô-đun MAX3232

Bước 3: Giới thiệu phần cứng

MAX30100

MAX30100 là một giải pháp tích hợp cảm biến đo oxy xung nhịp và theo dõi nhịp tim. Nó kết hợp hai đèn LED, một bộ tách sóng quang, quang học được tối ưu hóa và xử lý tín hiệu tương tự tiếng ồn thấp để phát hiện các tín hiệu đo oxy xung và nhịp tim.

MAX30100 hoạt động từ nguồn điện 1,8V và 3,3V và có thể được tắt nguồn thông qua phần mềm với dòng điện chờ không đáng kể, cho phép nguồn điện luôn được kết nối.

Bước 4: Ứng dụng

● Thiết bị đeo được

● Thiết bị hỗ trợ thể dục

● Thiết bị theo dõi y tế

Bước 5: Lợi ích và tính năng

1 、 Máy đo oxy xung hoàn chỉnh và cảm biến nhịp tim

  • Đèn LED tích hợp, Cảm biến hình ảnh và Mặt trước Analog hiệu suất cao -End
  • Nhỏ xíu 5,6mm x 2,8mm x 1,2mm 14-Pin Quang học

2 、 Hoạt động siêu tiết kiệm năng lượng giúp tăng tuổi thọ pin cho các thiết bị có thể đeo được

  • Tỷ lệ mẫu có thể lập trình và dòng điện LED để tiết kiệm điện
  • Dòng tắt cực thấp (0,7µA, typ)

3 、 Chức năng Nâng cao Cải thiện Hiệu suất Đo lường

  • SNR cao cung cấp khả năng phục hồi đồ vật chuyển động mạnh mẽ
  • Tích hợp loại bỏ ánh sáng xung quanh
  • Khả năng lấy mẫu cao
  • Khả năng đầu ra dữ liệu nhanh

Bước 6: Nguyên tắc phát hiện

Nguyên tắc phát hiện
Nguyên tắc phát hiện

Chỉ cần ấn ngón tay của bạn vào cảm biến để ước tính độ bão hòa oxy xung (SpO2) và nhịp đập (tương đương với nhịp tim).

Máy đo oxy xung (oxymeter) là một máy đo phổ mini sử dụng các nguyên tắc của quang phổ hấp thụ hồng cầu khác nhau để phân tích độ bão hòa oxy của máu. Phương pháp đo thời gian thực và nhanh chóng này cũng được sử dụng rộng rãi trong nhiều tài liệu tham khảo lâm sàng. Tôi sẽ không giới thiệu MAX30100 quá nhiều, vì những tài liệu này đã có sẵn trên Internet. Các bạn quan tâm có thể tra cứu thông tin của module kiểm tra nhịp tim này trên Internet, hiểu sâu hơn về nguyên lý phát hiện của nó.

Bước 7: ĐÁ STVI070WT-01

ĐÁ STVI070WT-01
ĐÁ STVI070WT-01

Giới thiệu về bộ hiển thị

Trong dự án này, tôi sẽ sử dụng STONE STVI070WT-01 để hiển thị dữ liệu nhịp tim và oxy trong máu. Chip điều khiển đã được tích hợp bên trong màn hình hiển thị, và có phần mềm cho người dùng sử dụng. Người dùng chỉ cần thêm các nút, hộp văn bản và các logic khác thông qua các hình ảnh giao diện người dùng được thiết kế, sau đó tạo các tệp cấu hình và tải chúng vào màn hình hiển thị để chạy. Màn hình của STVI070WT-01 giao tiếp với MCU thông qua tín hiệu uart-rs232, có nghĩa là chúng ta cần thêm chip MAX3232 để chuyển đổi tín hiệu RS232 thành tín hiệu TTL, để chúng ta có thể giao tiếp với Arduino MCU.

Bước 8: Nếu bạn không chắc chắn về cách sử dụng MAX3232, hãy tham khảo những hình ảnh sau:

Nếu bạn không chắc chắn về cách sử dụng MAX3232, hãy tham khảo các hình ảnh sau
Nếu bạn không chắc chắn về cách sử dụng MAX3232, hãy tham khảo các hình ảnh sau

Nếu bạn cho rằng việc chuyển đổi mức quá rắc rối, bạn có thể chọn các loại bộ hiển thị khác của STONE, một số loại có thể xuất trực tiếp tín hiệu uart-ttl.

Trang web chính thức có thông tin chi tiết và giới thiệu:

Bước 9: Nếu bạn cần video hướng dẫn và hướng dẫn sử dụng, bạn cũng có thể tìm nó trên trang web chính thức

Nếu bạn cần video hướng dẫn và hướng dẫn sử dụng, bạn cũng có thể tìm nó trên trang web chính thức
Nếu bạn cần video hướng dẫn và hướng dẫn sử dụng, bạn cũng có thể tìm nó trên trang web chính thức

Bước 10: Các bước phát triển

Ba bước phát triển màn hình hiển thị STONE:

  • Thiết kế logic hiển thị và logic nút bằng phần mềm STONE TOOL, và tải tệp thiết kế xuống mô-đun hiển thị.
  • MCU giao tiếp với mô-đun hiển thị STONE LCD thông qua cổng nối tiếp.
  • Với dữ liệu thu được trong bước 2, MCU thực hiện các hành động khác.

Bước 11: Cài đặt phần mềm STONE TOOL

Cài đặt phần mềm STONE TOOL
Cài đặt phần mềm STONE TOOL

Tải xuống phiên bản mới nhất của phần mềm STONE TOOL (hiện tại là TOOL2019) từ trang web và cài đặt nó.

Sau khi phần mềm được cài đặt, giao diện sau sẽ được mở ra:

Nhấp vào nút "Tệp" ở góc trên bên trái để tạo một dự án mới, chúng ta sẽ thảo luận sau.

Bước 12: Arduino

Arduino là một nền tảng nguyên mẫu điện tử mã nguồn mở dễ sử dụng và dễ sử dụng. Nó bao gồm phần cứng (các bo mạch phát triển khác nhau phù hợp với đặc điểm kỹ thuật của Arduino) và phần phần mềm (Arduino IDE và các bộ phát triển liên quan).

Phần cứng (hoặc bo mạch phát triển) bao gồm vi điều khiển (MCU), bộ nhớ Flash (Flash) và một tập hợp các giao diện đầu vào / đầu ra phổ quát (GPIO), mà bạn có thể coi như một bo mạch chủ vi máy tính. Phần mềm chủ yếu bao gồm Arduino IDE trên PC, gói hỗ trợ cấp bo mạch liên quan (BSP) và thư viện chức năng phong phú của bên thứ ba. Với Arduino IDE, bạn có thể dễ dàng tải xuống BSP được liên kết với bảng phát triển của bạn và các thư viện bạn cần để viết các chương trình của bạn. Arduino là một nền tảng mã nguồn mở. Cho đến nay, đã có rất nhiều mô hình và nhiều bộ điều khiển có nguồn gốc, bao gồm Arduino Uno, Arduino Nano, ArduinoYun, v.v. Ngoài ra, Arduino IDE giờ đây không chỉ hỗ trợ các bảng phát triển dòng Arduino mà còn hỗ trợ thêm cho các bảng phát triển phổ biến như như Intel Galileo và NodeMCU bằng cách giới thiệu BSP.

Arduino cảm nhận môi trường thông qua nhiều loại cảm biến, điều khiển đèn, động cơ và các thiết bị khác để phản hồi và tác động đến môi trường. cho Arduino được triển khai với ngôn ngữ lập trình Arduino (dựa trên Hệ thống dây) và môi trường phát triển Arduino (dựa trên Xử lý). khác (chẳng hạn như Flash, Xử lý, MaxMSP).

Bước 13: Môi trường phát triển

Môi trương phat triển
Môi trương phat triển

Môi trường phát triển Arduino là Arduino IDE, có thể tải xuống từ Internet.

Đăng nhập vào trang web chính thức của Arduino và tải xuống phần mềm https://www.arduino.cc/en/Main/Software?setlang=c… Sau khi cài đặt Arduino IDE, giao diện sau sẽ xuất hiện khi bạn mở phần mềm:

Arduino IDE tạo ra hai chức năng theo mặc định: chức năng thiết lập và chức năng vòng lặp. Có rất nhiều bài giới thiệu về Arduino trên Internet. Nếu bạn không hiểu điều gì đó, bạn có thể lên Internet để tìm.

Bước 14: Quy trình thực hiện dự án Arduino LCD

Quy trình thực hiện dự án Arduino LCD
Quy trình thực hiện dự án Arduino LCD

kết nối phần cứng

Để đảm bảo rằng bước tiếp theo trong quá trình viết mã diễn ra suôn sẻ, trước tiên chúng ta phải xác định độ tin cậy của kết nối phần cứng.

Chỉ có bốn phần cứng được sử dụng trong dự án này:

1. Bảng phát triển Arduino Mini pro

2. Màn hình hiển thị STONE STVI070WT-01 tft-lcd

3. Cảm biến nhịp tim và oxy trong máu MAX30100

4. MAX3232 (rs232-> TTL) Bảng phát triển Arduino Mini Pro và màn hình hiển thị TFT-LCD STVI070WT-01 được kết nối thông qua UART, yêu cầu chuyển đổi mức thông qua MAX3232, sau đó bảng phát triển Arduino Mini Pro và mô-đun MAX30100 được kết nối thông qua Giao diện IIC. Sau khi suy nghĩ rõ ràng, chúng ta có thể vẽ hình ảnh hệ thống dây điện như sau:

Bước 15:

Hình ảnh
Hình ảnh

Đảm bảo rằng không có lỗi trong kết nối phần cứng và tiến hành bước tiếp theo.

Bước 16: Thiết kế giao diện người dùng màn hình LCD TFT

Thiết kế giao diện người dùng màn hình LCD TFT
Thiết kế giao diện người dùng màn hình LCD TFT

Trước hết, chúng ta cần thiết kế một hình ảnh hiển thị UI, có thể được thiết kế bởi PhotoShop hoặc các công cụ thiết kế hình ảnh khác. Sau khi thiết kế hình ảnh hiển thị giao diện người dùng, hãy lưu hình ảnh ở định dạng JPG.

Mở phần mềm STONE TOOL2019 và tạo một dự án mới:

Bước 17: Xóa Hình ảnh Đã được Tải theo Mặc định trong Dự án Mới và Thêm Hình ảnh Giao diện Người dùng mà Chúng tôi Thiết kế

Loại bỏ Hình ảnh Đã được Tải theo Mặc định trong Dự án Mới và Thêm Hình ảnh Giao diện Người dùng mà Chúng tôi Thiết kế
Loại bỏ Hình ảnh Đã được Tải theo Mặc định trong Dự án Mới và Thêm Hình ảnh Giao diện Người dùng mà Chúng tôi Thiết kế

Bước 18: Thêm thành phần hiển thị văn bản

Thêm thành phần hiển thị văn bản
Thêm thành phần hiển thị văn bản

Thêm thành phần hiển thị văn bản, thiết kế chữ số hiển thị và dấu thập phân, lấy vị trí lưu trữ của thành phần hiển thị văn bản trong trình hiển thị.

Hiệu quả như sau:

Bước 19:

Địa chỉ thành phần hiển thị văn bản:

  • Kẹp kết nối: 0x0008
  • Nhịp tim: 0x0001

Oxy trong máu: 0x0005 Nội dung chính của giao diện UI như sau:

  • Tình trạng kết nối
  • Hiển thị nhịp tim
  • Oxy trong máu cho thấy

Bước 20: Tạo tệp cấu hình

Tạo tệp cấu hình
Tạo tệp cấu hình

Sau khi thiết kế giao diện người dùng hoàn tất, tệp cấu hình có thể được tạo và tải xuống màn hình STVI070WT-01.

Đầu tiên, thực hiện bước 1, sau đó lắp ổ USB flash vào máy tính, biểu tượng đĩa sẽ được hiển thị. Sau đó nhấp vào "Tải xuống u-disk" để Tải tệp cấu hình xuống ổ USB flash, sau đó lắp ổ flash USB vào STVI070WT-01 để hoàn tất quá trình nâng cấp.

Bước 21: MAX30100

MAX30100
MAX30100

MAX30100 giao tiếp thông qua IIC, nguyên lý hoạt động của nó là giá trị ADC của nhịp tim có thể được thu thập thông qua chiếu xạ LED hồng ngoại. đọc giá trị nhiệt độ của chip để sửa sai lệch do nhiệt độ gây ra. Thanh ghi ID có thể đọc số ID của chip.

MAX30100 được kết nối với bảng phát triển Arduino Mini Pro thông qua giao diện giao tiếp IIC. Vì có các tệp thư viện MAX30100 được tạo sẵn trong Arduino IDE, chúng tôi có thể đọc dữ liệu nhịp tim và oxy trong máu mà không cần nghiên cứu các thanh ghi của MAX30100. Đối với những ai quan tâm đến việc khám phá thanh ghi MAX30100, hãy xem Biểu dữ liệu MAX30100.

Bước 22: Sửa đổi Điện trở kéo lên MAX30100 IIC

Sửa đổi Điện trở kéo lên MAX30100 IIC
Sửa đổi Điện trở kéo lên MAX30100 IIC

Cần lưu ý rằng điện trở kéo lên 4,7k của chân IIC của mô-đun MAX30100 được kết nối với 1,8v, đây không phải là vấn đề về lý thuyết. Tuy nhiên, mức logic giao tiếp của chân IIC Arduino là 5V, vì vậy nó không thể giao tiếp với Arduino mà không thay đổi phần cứng của mô-đun MAX30100. Có thể giao tiếp trực tiếp nếu MCU là STM32 hoặc MCU mức logic 3.3v khác.

Do đó, cần thực hiện những thay đổi sau:

Dùng mỏ hàn điện loại bỏ ba điện trở 4,7k được đánh dấu trong hình, sau đó hàn hai điện trở 4,7k tại các chân của SDA và SCL với VIN để chúng ta có thể giao tiếp với Arduino.

Bước 23: Arduino

Arduino
Arduino

Mở Arduino IDE và tìm các nút sau:

Bước 24: Tìm kiếm "MAX30100" để Tìm Hai Thư viện cho MAX30100, Sau đó Nhấp vào Tải xuống và Cài đặt

Tìm kiếm
Tìm kiếm

Bước 25: Sau khi cài đặt, bạn có thể tìm thấy bản demo của MAX30100 trong Thư mục thư viện LIB của Arduino:

Sau khi cài đặt, bạn có thể tìm thấy bản demo của MAX30100 trong Thư mục thư viện LIB của Arduino
Sau khi cài đặt, bạn có thể tìm thấy bản demo của MAX30100 trong Thư mục thư viện LIB của Arduino

Bước 26: Nhấp đúp vào tệp để mở tệp

Bấm đúp vào tệp để mở nó
Bấm đúp vào tệp để mở nó

Bước 27: Mã hoàn chỉnh như sau:

Demo này có thể được kiểm tra trực tiếp. Nếu kết nối phần cứng ổn, bạn có thể tải xuống phần biên dịch mã vào bảng phát triển Arduibo và xem dữ liệu của MAX30100 trong công cụ gỡ lỗi nối tiếp.

Mã hoàn chỉnh như sau:

/ * Thư viện cảm biến tích hợp đo oxy / nhịp tim Arduino-MAX30100 Bản quyền (C) 2016 OXullo Intersecans Chương trình này là phần mềm miễn phí: bạn có thể phân phối lại và / hoặc sửa đổi nó theo các điều khoản của Giấy phép Công cộng GNU do Tổ chức Phần mềm Tự do xuất bản, phiên bản 3 của Giấy phép hoặc (theo tùy chọn của bạn) bất kỳ phiên bản nào mới hơn. Chương trình này được phân phối với hy vọng rằng nó sẽ hữu ích, nhưng KHÔNG CÓ BẤT KỲ BẢO HÀNH NÀO; thậm chí không có bảo đảm ngụ ý về KHẢ NĂNG LÊN LỚN hoặc PHÙ HỢP VỚI MỤC ĐÍCH CỤ THỂ. Xem Giấy phép Công cộng GNU để biết thêm chi tiết. Bạn sẽ nhận được một bản sao của Giấy phép Công cộng GNU cùng với chương trình này. Nếu không, hãy xem. * / #include #include "MAX30100_PulseOximeter.h" #define REPORTING_PERIOD_MS 1000 // PulseOximeter là giao diện cấp cao hơn cho cảm biến // nó cung cấp: // * báo cáo phát hiện nhịp đập // * tính toán nhịp tim // * SpO2 (mức oxy hóa) tính toán pox PulseOximeter; uint32_t tsLastReport = 0; // Gọi lại (đã đăng ký bên dưới) được kích hoạt khi phát hiện một xung void onBeatDetected () {Serial.println ("Beat!"); } void setup () {Serial.begin (115200); Serial.print ("Đang khởi tạo máy đo oxy xung.."); // Khởi tạo cá thể PulseOximeter // Các lỗi thường do đấu dây I2C không đúng, thiếu nguồn // hoặc chip đích sai if (! Pox.begin ()) {Serial.println ("FAILED"); vì(;;); } else {Serial.println ("THÀNH CÔNG"); } // Dòng điện mặc định cho IR LED là 50mA và nó có thể được thay đổi // bằng cách bỏ ghi chú dòng sau. Kiểm tra MAX30100_Registers.h để biết tất cả // các tùy chọn có sẵn. // pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA); // Đăng ký gọi lại cho phát hiện nhịp pox.setOnBeatDetectedCallback (onBeatDetected); } void loop () {// Đảm bảo gọi cập nhật nhanh nhất có thể pox.update (); // Kết xuất không đồng bộ nhịp tim và mức oxy hóa vào chuỗi // Đối với cả hai, giá trị 0 có nghĩa là "không hợp lệ" if (millis () - tsLastReport> REPORTING_PERIOD_MS) {Serial.print ("Nhịp tim:"); Serial.print (pox.getHeartRate ()); Serial.print ("bpm / SpO2:"); Serial.print (pox.getSpO2 ()); Serial.println ("%"); tsLastReport = millis (); }}

Bước 28:

Hình ảnh
Hình ảnh

Mã này rất đơn giản, tôi tin rằng bạn có thể hiểu nó trong nháy mắt. Tôi phải nói rằng lập trình theo mô-đun của Arduino rất thuận tiện, và tôi thậm chí không cần hiểu mã trình điều khiển của Uart và IIC được triển khai như thế nào.

Tất nhiên, đoạn mã trên là bản Demo chính thức và tôi vẫn cần thực hiện một số thay đổi để hiển thị dữ liệu lên trình hiển thị của STONE.

Bước 29: Hiển thị dữ liệu cho Bộ hiển thị ĐÁ thông qua Arduino

Đầu tiên, chúng ta cần lấy địa chỉ của thành phần hiển thị dữ liệu nhịp tim và oxy trong máu trong trình hiển thị của STONE:

Trong đồ án của mình có địa chỉ như sau: Địa chỉ thành phần hiển thị nhịp tim: 0x0001 Địa chỉ module hiển thị oxy trong máu: 0x0005 Địa chỉ trạng thái kết nối cảm biến: 0x0008 Nếu bạn cần thay đổi nội dung hiển thị trong khoảng trống tương ứng, bạn có thể thay đổi nội dung hiển thị bằng cách gửi dữ liệu đến địa chỉ tương ứng của màn hình hiển thị thông qua cổng nối tiếp của Arduino.

Bước 30: Mã sửa đổi như sau:

/ * Thư viện cảm biến tích hợp đo oxy / nhịp tim Arduino-MAX30100 Bản quyền (C) 2016 OXullo Intersecans Chương trình này là phần mềm miễn phí: bạn có thể phân phối lại và / hoặc sửa đổi nó theo các điều khoản của Giấy phép Công cộng GNU do Tổ chức Phần mềm Tự do xuất bản, phiên bản 3 của Giấy phép hoặc (theo tùy chọn của bạn) bất kỳ phiên bản nào mới hơn. Chương trình này được phân phối với hy vọng rằng nó sẽ hữu ích, nhưng KHÔNG CÓ BẤT KỲ BẢO HÀNH NÀO; thậm chí không có bảo đảm ngụ ý về KHẢ NĂNG LÊN LỚN hoặc PHÙ HỢP VỚI MỤC ĐÍCH CỤ THỂ. Xem Giấy phép Công cộng GNU để biết thêm chi tiết. Bạn sẽ nhận được một bản sao của Giấy phép Công cộng GNU cùng với chương trình này. Nếu không, hãy xem. * / #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 unsigned char heart_rate_send [8] 0x00}; unsigned 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 là giao diện cấp cao hơn cho cảm biến // nó cung cấp: // * báo cáo phát hiện nhịp đập // * tính toán nhịp tim // * Tính toán SpO2 (mức oxy hóa) PulseOximeter pox; uint32_t tsLastReport = 0; // Lệnh gọi lại (đã đăng ký bên dưới) được kích hoạt khi phát hiện một xung void onBeatDetected () {// Serial.println ("Beat!"); } void setup () {Serial.begin (115200); // Serial.print ("Đang khởi tạo máy đo oxy xung.."); // Khởi tạo đối tượng PulseOximeter // Các lỗi thường do đấu dây I2C không đúng, thiếu nguồn cấp // hoặc chip đích sai if (! Pox.begin ()) {// Serial.println ("FAILED"); // connect_sta_send [7] = 0x00; // Serial.write (connect_sta_send, 8); vì(;;); } else {connect_sta_send [7] = 0x01; Serial.write (connect_sta_send, 8); // Serial.println ("THÀNH CÔNG"); } // Dòng điện mặc định cho đèn LED hồng ngoại là 50mA và nó có thể được thay đổi // bằng cách bỏ ghi chú dòng sau. Kiểm tra MAX30100_Registers.h để biết tất cả // các tùy chọn có sẵn.pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA); // Đăng ký gọi lại cho phát hiện nhịp pox.setOnBeatDetectedCallback (onBeatDetected); } void loop () {// Đảm bảo gọi cập nhật nhanh nhất có thể pox.update (); // Kết xuất không đồng bộ nhịp tim và mức oxy hóa vào chuỗi // Đối với cả hai, giá trị 0 có nghĩa là "không hợp lệ" if (millis () - tsLastReport> REPORTING_PERIOD_MS) {// Serial.print ("Nhịp tim:"); // 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 (); }}

Bước 31: Hiển thị nhịp tim trên màn hình LCD với Arduino

Hiển thị nhịp tim trên màn hình LCD với Arduino
Hiển thị nhịp tim trên màn hình LCD với Arduino

Biên dịch mã, tải nó xuống bảng phát triển Arduino và bạn đã sẵn sàng để bắt đầu thử nghiệm.

Chúng ta có thể thấy rằng khi các ngón tay rời khỏi MAX30100, nhịp tim và lượng oxy trong máu hiển thị bằng 0. Đặt ngón tay của bạn lên bộ thu MAX30100 để xem nhịp tim và nồng độ oxy trong máu của bạn theo thời gian thực.

Hiệu ứng có thể được nhìn thấy trong hình sau:

Đề xuất: