MAX30102

0 0 0

Người đăng: Nguyễn Đặng Triều

Theo Viblo Asia

Tham khảo

Mở đầu

Kiến trúc thư viện

Trước hết ta cần xem hình ảnh sau đây để có thể hiểu hơn về thư viện giao tiếp với MAX30102

Ví dụ

#include <Wire.h>
#include "MAX30105.h" MAX30105 particleSensor; void setup() { Serial.begin(9600); // Initialize sensor if (particleSensor.begin() == false) { Serial.println("MAX30102 was not found. Please check wiring/power."); while (1) ; } particleSensor.setup(); //Configure sensor. Use 6.4mA for LED drive
} void loop() { Serial.print(" R["); Serial.print(particleSensor.getRed()); Serial.print("] IR["); Serial.print(particleSensor.getIR()); Serial.println("]");
}

Datasheet

Applications Information

  • Thời gian led sáng trong 1 xung gọi là độ rộng xung (Pulse Width).
  • Tốc độ lấy mẫu của ADC phụ thuộc vào thời gian led sáng. Mỗi lần led được bật thì ADC sẽ đo được ánh sáng phản xạ về gọi là 1 mẫu (sample).

Nếu độ rộng xung càng lớn -> thời gian led sáng càng lâu -> Nhiều ánh sánh sẽ được phản xạ về ADC -> Đo chính xác hơn. Nhưng đổi lại thì sẽ mất khoảng thời gian lớn hơn để lấy mẫu.

SpO2 Temperature Compensation

  • MAX30102 có cảm biến nhiệt độ tích hợp bên trong.
  • Nhiệt độ ảnh hưởng đến bước sóng của led đỏ và led IR.
    • Tín hiệu đầu ra không ảnh hưởng bởi bước sóng của IR, bởi vì IR thường dùng để đo nhịp tim, và máu (Hb và HbO2) hấp thụ IR khá giống nhau.
    • Tuy nhiên đối với led đỏ thì khác, bước sóng rất quan trọng để dữ liệu có thể diễn giải 1 cách chỉnh xác. Bởi vì Led đỏ thường dùng để đo SpO2 trong máu và có sự khác biệt hấp thụ ánh sáng của máu có Oxy (HbO2) và không có Oxy (Hb).

Bước sóng của led sẽ không cố định mà sẽ tăng dần khi nhiệt độ tăng. Led đỏ nóng lên rất nhanh khi ta vừa khởi động cảm biến điều này sẽ khiến bước sóng của nó vượt qua qua giá trị 660 nm. Để ước tính chính xác bước sóng của Led đỏ đang sáng → ta cần dựa vào:

  • Dòng điện qua Led hiện tại.
  • Nhiệt độ hiện tại của IC (đọc từ cảm biến nhiệt độ bên trong cảm biến).

Bình luận

Bài viết tương tự

- vừa được xem lúc

Password Manager đơn giản chạy trên ESP32 🎃

Khám phá những điều mới mẻ . Hi anh em dev ,.

0 0 14

- vừa được xem lúc

Nạp code stm32 bằng ST - LINK V2

Trong bài hướng dẫn này, mình sẽ hướng dẫn các bạn sử dụng mạch nạp st-link v2 để nạp code cho stm32f103c8T6, dùng STM32CubeIDE. Bước 2: Chọn ☑️.

0 0 14

- vừa được xem lúc

Message Queue: Khám Phá Bí Mật Giao Tiếp Giữa Các Task Trong FreeRTOS

Giới thiệu nhanh. Trong phần trước, chúng ta đã tìm hiểu về Task trong FreeRTOS – những “nhân viên” trong nhà máy phần mềm, mỗi task đảm nhận một nhiệm vụ cụ thể, chạy độc lập theo lịch của Scheduler.

0 0 18

- vừa được xem lúc

Vấn đề khi gửi dữ liệu vào Queue: Dữ liệu đã nhận nhưng sao chưa thực thi?

Giới thiệu. Ở bài viết trước, mình đã nêu cho các bạn biết khái niệm Queue là gì, cách sử dụng nó ra sao và những lưu ý khi sử dụng nó.

0 0 12

- vừa được xem lúc

Tránh lỗi khi sử dụng Mutex trong RTOS – Những nguyên tắc vàng

Giới thiệu nhanh. Chào các bạn.

0 0 11

- vừa được xem lúc

Hiểu về Idle Task và Idle Hook Function trong FreeRTOS

Trong hệ điều hành thời gian thực (RTOS) như FreeRTOS, khái niệm Idle Task và Idle Hook Function đóng vai trò rất quan trọng trong việc quản lý tài nguyên vi xử lý khi không có tác vụ (task) nào cần t

0 0 8