Heart Unit
MAX30100 是一款完整的脉搏血氧和心率传感器系统解决方案,专为满足可穿戴设备的严苛需求而设计。
支持以下产品:
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 应用示例:
class HeartUnit
Constructors
- class HeartUnit(i2c, address)
初始化 HeartUnit。
i2c:要使用的 I2C 端口。address:HeartUnit 的 I2C 地址。
UiFlow2

Methods
- HeartUnit.stop()
停止 HeartUnit。
UiFlow2

- HeartUnit.start()
启动 HeartUnit。
UiFlow2

- HeartUnit.deinit()
反初始化 HeartUnit。
UiFlow2

- HeartUnit.get_heart_rate()
获取心率。
UiFlow2

- HeartUnit.get_spo2()
获取 SpO2。
UiFlow2

- HeartUnit.get_ir()
获取 IR 值。
UiFlow2

- HeartUnit.get_red()
获取红色值。
UiFlow2

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

- 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

- 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

- 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

Constants
- HeartUnit.MODE_HR_ONLY
仅检测心率。
- HeartUnit.MODE_SPO2_HR
检测心率和 SpO2。

