Cum se folosește oximetrul MAX30102 și senzorul de ritm cardiac cu Arduino

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

MAX30102 este un oximetru de impuls digital și senzor de frecvență cardiacă capabil să măsoare nivelul de oxigen din sânge (SPO2) și ritmul pulsului. Folosește LED -uri cu infraroșu și roșu pentru a detecta modificările fluxului de sânge în deget, ceea ce îl face ideal pentru monitorizarea sănătății și dispozitivele purtabile. Acest tutorial vă va ghida prin interfațarea max30102 cu Arduino.


Ce vei avea nevoie

  1. Modul de senzor Max30102
  2. Arduino Board (de exemplu, Uno, Mega, Nano)
  3. Tablă de pâine și jumper
  4. Un computer cu IDE Arduino instalat

Pasul 1: Înțelegerea senzorului Max30102

Senzorul MAX30102 comunică cu Arduino folosind protocolul I2C, făcând simplu să fie integrat în proiecte. Prezintă:

  • LED -uri roșii și IR: Utilizat pentru detectarea nivelului de impulsuri și oxigen.
  • Interfață I2C: Comunică cu microcontrolere.
  • Senzor de temperatură integrat: Pentru compensarea efectelor de mediu.

Max30102 PINOUT

Ac Funcţie
Vin Sursă de alimentare (3.3V/5V)
GND Sol
SDA Linia de date I2C
SCL Linia de ceas I2C
Int Întrerupe (opțional)

Pasul 2: Cablarea Max30102 către Arduino

Iată cum să conectați senzorul Max30102 la Arduino:

PIN MAX30102 Pinul Arduino
Vin 3.3V/5V
GND GND
SDA A4 (SDA)
SCL A5 (SCL)

Nota: Pentru alte plăci Arduino, asigurați -vă că utilizați pinii I2C corecți.


Pasul 3: Instalați biblioteca necesară

Pentru a face mai ușor lucrul cu MAX30102, instalați „Biblioteca senzorului Sparkfun Max3010x”.

Pași pentru instalare:

  1. Deschideți IDE Arduino.
  2. Du -te la Schiţa > Include biblioteca > Gestionați bibliotecile.
  3. Căutați „Sparkfun Max3010X” și faceți clic pe Instala.

Pasul 4: Încărcați codul

Iată un exemplu de schiță pentru a măsura ritmul cardiac ș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
}

Pasul 5: Testați configurarea

  1. Conectați Arduino la computer prin USB.
  2. Deschideți IDE Arduino și selectați corect Bord şi Port sub Instrumente meniu.
  3. Încărcați codul la Arduino făcând clic pe Încărcați.
  4. Deschideți monitorul în serie (Instrumente > Monitor în serie) și setați rata de transfer la 115200.
  5. Puneți degetul pe senzor și observați citirile roșii și infraroșii afișate în monitorul serial.

Opțional: Caracteristici avansate cu Pulse și Spo2 Calculat

Pentru a calcula ritmul cardiac și SPO2, utilizați un exemplu avansat furnizat în biblioteca Sparkfun:

  1. Deschideți IDE Arduino.
  2. Du -te la Fişier > Exemple > Biblioteca de senzori Sparkfun Max301 > Exemplu7_spo2_hr.
  3. Încărcați exemplul în Arduino și urmați instrucțiunile din monitorul serial.

Aplicațiile Max30102

  1. Dispozitive de monitorizare a sănătății purtabile
  2. Trackers de fitness
  3. Sisteme de monitorizare a ritmului cardiac și a spo2
  4. Proiecte de cercetare biomedicală

Depanare

  • Fără răspuns din partea senzorului: Verificați conexiunile I2C și asigurați -vă sursa de alimentare corectă (3.3V sau 5V).
  • Lecturi inconsistente: Asigurați -vă că degetul acoperă complet senzorul și evitați mișcarea.
  • Erori de bibliotecă: Confirmați că biblioteca Sparkfun Max3010x este instalată corect.

Concluzie

Ați interfațat cu succes oximetrul pulsului Max30102 și senzorul de ritm cardiac cu Arduino. Acest senzor puternic este perfect pentru monitorizarea sănătății purtabile și aplicațiile IoT. Experimentați cu caracteristicile sale pentru a construi proiecte inovatoare orientate spre sănătate!

Lasă un comentariu

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.