Heart Unit

MAX30100 是一款完整的脉搏血氧和心率传感器系统解决方案,专为满足可穿戴设备的严苛需求而设计。

支持以下产品:

HeartUnit

MicroPython 应用示例:

 1# SPDX-FileCopyrightText: 2024 M5Stack Technology CO LTD
 2#
 3# SPDX-License-Identifier: MIT
 4
 5import os, sys, io
 6import M5
 7from M5 import *
 8from hardware import *
 9from unit import HeartUnit
10
11
12label0 = None
13labelHeart = None
14i2c0 = None
15heart_0 = None
16
17
18def setup():
19    global label0, labelHeart, i2c0, heart_0
20
21    M5.begin()
22    Widgets.fillScreen(0x222222)
23    label0 = Widgets.Label("Heart Rate", 57, 18, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu40)
24    labelHeart = Widgets.Label("label1", 82, 111, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu56)
25
26    i2c0 = I2C(0, scl=Pin(22), sda=Pin(21), freq=400000)
27    heart_0 = HeartUnit(i2c0, 0x57)
28    heart_0.start()
29
30
31def loop():
32    global label0, labelHeart, i2c0, heart_0
33    M5.update()
34    labelHeart.setText(str(heart_0.get_heart_rate()))
35
36
37if __name__ == "__main__":
38    try:
39        setup()
40        while True:
41            loop()
42    except (Exception, KeyboardInterrupt) as e:
43        try:
44            heart_0.deinit()
45            from utility import print_error_msg
46
47            print_error_msg(e)
48        except ImportError:
49            print("please update to latest firmware")

UiFlow2 应用示例:

example.png

core_heart_unit_example.m5f2

class HeartUnit

Constructors

class HeartUnit(i2c, address)

初始化 HeartUnit。

  • i2c:要使用的 I2C 端口。

  • address:HeartUnit 的 I2C 地址。

UiFlow2

init.png

Methods

HeartUnit.stop()

停止 HeartUnit。

UiFlow2

stop.png

HeartUnit.start()

启动 HeartUnit。

UiFlow2

start.png

HeartUnit.deinit()

反初始化 HeartUnit。

UiFlow2

deinit.png

HeartUnit.get_heart_rate()

获取心率。

UiFlow2

get_heart_rate.png

HeartUnit.get_spo2()

获取 SpO2。

UiFlow2

get_spo2.png

HeartUnit.get_ir()

获取 IR 值。

UiFlow2

get_ir.png

HeartUnit.get_red()

获取红色值。

UiFlow2

get_red.png

HeartUnit.set_mode(mode)

设置 HeartUnit 的模式。

参数:

mode (int) – HeartUnit 的检测模式。选项:- HeartUnit.MODE_HR_ONLY:仅心率 - HeartUnit.MODE_SPO2_HR:心率和 SpO2

UiFlow2

set_mode.png

HeartUnit.set_led_current(led_current)

设置 HeartUnit 的 LED 电流。

参数:

led_current (int) – HeartUnit 的 LED 电流。选项:- HeartUnit.LED_CURRENT_0MA:0 mA - HeartUnit.LED_CURRENT_4_4MA:4.4 mA - HeartUnit.LED_CURRENT_7_6MA:7.6 mA - HeartUnit.LED_CURRENT_11MA:11 mA - HeartUnit.LED_CURRENT_14_2MA:14.2 mA - HeartUnit.LED_CURRENT_17_4MA:17.4 mA - HeartUnit.LED_CURRENT_20_8MA:20.8 mA - HeartUnit.LED_CURRENT_24MA:24 mA - HeartUnit.LED_CURRENT_27_1MA:27.1 mA - HeartUnit.LED_CURRENT_30_6MA:30.6 mA - HeartUnit.LED_CURRENT_33_8MA:33.8 mA - HeartUnit.LED_CURRENT_37MA:37 mA - HeartUnit.LED_CURRENT_40_2MA:40.2 mA - HeartUnit.LED_CURRENT_43_6MA:43.6 mA - HeartUnit.LED_CURRENT_46_8MA:46.8 mA - HeartUnit.LED_CURRENT_50MA:50 mA

UiFlow2

set_led_current.png

HeartUnit.set_pulse_width(pulse_width)

设置 HeartUnit 的脉冲宽度。

参数:

pulse_width (int) – HeartUnit 的脉冲宽度。选项:- HeartUnit.PULSE_WIDTH_200US_ADC_13:200 us - HeartUnit.PULSE_WIDTH_400US_ADC_14:400 us - HeartUnit.PULSE_WIDTH_800US_ADC_15:800 us - HeartUnit.PULSE_WIDTH_1600US_ADC_16:1600 us

UiFlow2

set_pulse_width.png

HeartUnit.set_sampling_rate(sampling_rate)

设置 HeartUnit 的采样率。

参数:

sampling_rate (int) – HeartUnit 的采样率。选项:- HeartUnit.SAMPLING_RATE_50HZ:50 Hz - HeartUnit.SAMPLING_RATE_100HZ:100 Hz - HeartUnit.SAMPLING_RATE_167HZ:167 Hz - HeartUnit.SAMPLING_RATE_200HZ:200 Hz - HeartUnit.SAMPLING_RATE_400HZ:400 Hz - HeartUnit.SAMPLING_RATE_600HZ:600 Hz - HeartUnit.SAMPLING_RATE_800HZ:800 Hz - HeartUnit.SAMPLING_RATE_1000HZ:1000 Hz

UiFlow2

set_sampling_rate.png

Constants

HeartUnit.MODE_HR_ONLY

仅检测心率。

HeartUnit.MODE_SPO2_HR

检测心率和 SpO2。