Oximeter MAX30100: Detak Jantung & SpO2 Arduino Uno

Oximeter MAX30100: Detak Jantung & SpO2 Arduino Uno

Gunakan sensor MAX30100 untuk membaca detak jantung dan kadar oksigen (SpO2) dengan Arduino Uno. Termasuk wiring, kode program, dan referensi pemahaman.

Sensor MAX30100 adalah sensor oximeter canggih yang dapat mengukur detak jantung (heart rate) dan kadar oksigen dalam darah (SpO2) secara real-time. Dalam tutorial ini, kita akan menghubungkan MAX30100 ke Arduino Uno untuk memantau kesehatan secara sederhana.

Wiring Diagram MAX30100 ke Arduino

Berdasarkan gambar di atas, berikut koneksi sensor MAX30100 ke Arduino Uno:

  • VIN (Merah) → 5V Arduino
  • GND (Hitam) → GND Arduino
  • SCL (Kuning) → A5 Arduino
  • SDA (Hijau) → A4 Arduino

MAX30100 berkomunikasi via protokol I2C, sehingga hanya memerlukan dua pin data untuk membaca detak jantung dan SpO2.

Kode Program MAX30100 Oximeter

#include <Arduino.h>
#include <Wire.h>
#include "MAX30100_PulseOximeter.h"

#define rp_ms_oximeter 1000
PulseOximeter oximeter;

void on_oximeter() {
  Serial.println("Detak Jantung Terdeteksi!");
}

float baca_detak_oximeter() {
  return oximeter.getHeartRate();
}

float baca_sp02_oximeter() {
  return oximeter.getSpO2();
}

void setup() {
  Serial.begin(9600);
  if (!oximeter.begin()) {
    Serial.println("Tidak dapat menginisialisasi sensor MAX30100. Periksa koneksi dan alamat I2C.");
    while (1);
  }
  oximeter.setOnBeatDetectedCallback(on_oximeter);
}

void loop() {
  oximeter.update();

  if (millis() - oximeter.getLastBeat() > rp_ms_oximeter) {
    float detak = baca_detak_oximeter();
    float spo2 = baca_sp02_oximeter();

    Serial.print("Detak Jantung: ");
    Serial.print(detak);
    Serial.print(" bpm ");
    Serial.print("SpO2: ");
    Serial.print(spo2);
    Serial.println(" %");

    oximeter.clearLastBeat();
  }
}

Penjelasan Program

  • Library MAX30100_PulseOximeter.h digunakan untuk komunikasi dan pengolahan data sensor.
  • Callback on_oximeter() akan aktif saat detak jantung terdeteksi.
  • Fungsi baca_detak_oximeter() dan baca_sp02_oximeter() masing-masing membaca data Heart Rate dan SpO2.
  • Nilai ditampilkan secara berkala setiap 1 detik (rp_ms_oximeter).

Untuk menggunakan library ini, buka Arduino IDE → Library Manager → cari dan install “MAX30100 by oxullo”.

Referensi teknis dan datasheet sensor bisa kamu pelajari dari:
👉 Datasheet MAX30100 (Maxim Integrated)

Langkah Pengujian

  1. Hubungkan sensor sesuai gambar wiring.
  2. Upload kode ke Arduino Uno.
  3. Buka Serial Monitor pada baudrate 9600.
  4. Letakkan jari di atas sensor secara stabil.
  5. Lihat hasil detak jantung dan kadar SpO2 dalam persen.

Kesimpulan

Sensor MAX30100 memungkinkan pembacaan data biometrik secara sederhana melalui Arduino. Alat ini cocok digunakan pada proyek:

  • Monitoring kesehatan wearable
  • Sistem peringatan dini medis
  • Proyek IoT kesehatan

Dengan biaya murah dan kemudahan penggunaan, MAX30100 dapat menjadi solusi praktis dalam membangun sistem pulse oximeter DIY untuk eksperimen maupun pembelajaran.

Diskusi lebih lanjut kontak di bawah :

Media sosial lainnya :

Baca juga :

Baca Sensor Turbidity Air dengan Arduino Uno

Baca Koordinat GPS BN-220 dengan Arduino Uno