Jak użyć pulsoksymetru MAX30102 i czujnika częstości akcji serca z Arduino

How to Use the MAX30102 Pulse Oximeter and Heart Rate Sensor with Arduino

MAX30102 jest cyfrowym pulsoksymetrem i czujnikiem częstości akcji serca zdolnego do pomiaru poziomów tlenu we krwi (SPO2) i częstości tętna. Używa podczerwieni i czerwonych diod LED do wykrywania zmian przepływu krwi w palcu, dzięki czemu jest idealny do monitorowania zdrowia i urządzeń do noszenia. Ten samouczek poprowadzi Cię do interfejsu MAX30102 z Arduino.


Czego będziesz potrzebować

  1. Moduł czujnika MAX30102
  2. Arduino Board (np. UNO, Mega, Nano)
  3. Druty chleba i skoczków
  4. Komputer z zainstalowanym Arduino IDE

Krok 1: Zrozumienie czujnika MAX30102

Czujnik MAX30102 komunikuje się z Arduino za pomocą protokołu I2C, co ułatwia integracja z projektami. Posiada:

  • Diody czerwone i IR: Stosowane do wykrywania pulsu i poziomu tlenu.
  • Interfejs I2C: Komunikuje się z mikrokontrolerami.
  • Zintegrowany czujnik temperatury: W celu zrekompensowania efektów środowiskowych.

MAX30102 Pinout

Szpilka Funkcjonować
Vin Zasilacz (3,3 V/5 V)
GND Grunt
SDA I2C Linia danych
Scl Linia zegara I2C
Int Przerwanie (opcjonalnie)

Krok 2: Okablowanie MAX30102 do Arduino

Oto jak podłączyć czujnik MAX30102 z Arduino:

MAX30102 PIN PIN Arduino
Vin 3,3 V/5 V.
GND GND
SDA A4 (SDA)
Scl A5 (SCL)

Notatka: W przypadku innych płyt Arduino upewnij się, że używasz odpowiednich pinów I2C.


Krok 3: Zainstaluj wymaganą bibliotekę

Aby ułatwić pracę z MAX30102, zainstaluj „Bibliotekę czujników Sparkfun MAX3010X”.

Kroki do zainstalowania:

  1. Otwórz Arduino IDE.
  2. Idź do Naszkicować > Uwzględnij bibliotekę > Zarządzaj bibliotekami.
  3. Wyszukaj „Sparkfun Max3010x” i kliknij Zainstalować.

Krok 4: Prześlij kod

Oto przykład szkicu do pomiaru tętna i SPO2:

#include <Wire.h>
#include "MAX30105.h"

MAX30105 particleSensor;

void setup() {
  Serial.begin(115200);
  Serial.println("Initializing MAX30102...");

  if (!particleSensor.begin()) {
    Serial.println("MAX30102 not detected. Check connections.");
    while (1);
  }

  Serial.println("Place your finger on the sensor.");
}

void loop() {
  long redValue = particleSensor.getRed(); // Measure red light absorption
  long irValue = particleSensor.getIR();   // Measure infrared light absorption

  Serial.print("Red: ");
  Serial.print(redValue);
  Serial.print(" | IR: ");
  Serial.println(irValue);

  delay(100); // Delay for readability
}

Krok 5: Przetestuj konfigurację

  1. Podłącz Arduino do komputera za pomocą USB.
  2. Otwórz Arduino IDE i wybierz poprawne Tablica I Port pod Narzędzia menu.
  3. Prześlij kod do Arduino, klikając Wgrywać.
  4. Otwórz monitor szeregowy (Narzędzia > Monitor szeregowy) i ustaw wskaźnik transmisji na 115200.
  5. Umieść palcem na czujniku i obserwuj odczyty czerwonego i podczerwieni wyświetlane w monitorze szeregowym.

Opcjonalnie: zaawansowane funkcje z obliczaniem impulsów i spo2

Aby obliczyć tętno i SPO2, użyj zaawansowanego przykładu podanego w bibliotece Sparkfun:

  1. Otwórz Arduino IDE.
  2. Idź do Plik > Przykłady > Biblioteka czujników Sparkfun MAX3010X > Przykład7_spo2_hr.
  3. Prześlij przykład do Arduino i postępuj zgodnie z instrukcjami w monitor szeregowych.

Zastosowania MAX30102

  1. Urządzenia do monitorowania zdrowia noszenia
  2. Śledzenie fitness
  3. Tętno i systemy monitorowania SPO2
  4. Biomedyczne projekty badawcze

Rozwiązywanie problemów

  • Brak odpowiedzi od czujnika: Sprawdź połączenia I2C i upewnij się, że prawidłowy zasilanie (3,3 V lub 5 V).
  • Niespójne odczyty: Upewnij się, że palec w pełni obejmuje czujnik i unikaj ruchu.
  • Błędy biblioteczne: Potwierdź, że biblioteka SparkFun MAX3010X jest poprawnie zainstalowana.

Wniosek

Z powodzeniem połączyłeś pulsoksymetr MAX30102 i czujnik tętna z Arduino. Ten potężny czujnik jest idealny do monitorowania zdrowia i zastosowań IoT. Eksperymentuj z funkcjami budowania innowacyjnych projektów zorientowanych na zdrowie!

Zostaw komentarz

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.