Heart Hat
MAX30102 是一款完整的脉搏血氧和心率传感器系统解决方案,专为满足可穿戴设备的严苛需求而设计。
支持以下产品:
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 hat import HeartHat 10 11 12Heart = None 13SPO2 = None 14label0 = None 15label1 = None 16i2c0 = None 17hat_heart_0 = None 18 19 20def setup(): 21 global Heart, SPO2, label0, label1, i2c0, hat_heart_0 22 23 M5.begin() 24 Heart = Widgets.Label("Heart", 1, 2, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18) 25 SPO2 = Widgets.Label("SPO2", 3, 122, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18) 26 label0 = Widgets.Label("0", 5, 45, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu40) 27 label1 = Widgets.Label("0", 7, 169, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu40) 28 29 i2c0 = I2C(0, scl=Pin(26), sda=Pin(0), freq=100000) 30 hat_heart_0 = HeartHat(i2c0, 0x57) 31 hat_heart_0.start() 32 33 34def loop(): 35 global Heart, SPO2, label0, label1, i2c0, hat_heart_0 36 M5.update() 37 label0.setText(str(hat_heart_0.get_heart_rate())) 38 label1.setText(str(hat_heart_0.get_spo2())) 39 40 41if __name__ == "__main__": 42 try: 43 setup() 44 while True: 45 loop() 46 except (Exception, KeyboardInterrupt) as e: 47 try: 48 from utility import print_error_msg 49 50 print_error_msg(e) 51 except ImportError: 52 print("please update to latest firmware")
UiFlow2 应用示例
class HeartHat
Constructors
- class HeartHat(i2c, address)
初始化 HeartHat。
i2c:要使用的 I2C 端口。address:HeartHat 的 I2C 地址。
UIFLOW2:

Methods
- HeartHat.stop()
停止 HeartHat。
UIFLOW2:

- HeartHat.start()
启动 HeartHat。
UIFLOW2:

- HeartHat.deinit()
反初始化 HeartHat。
UIFLOW2:

- HeartHat.get_heart_rate()
获取心率。
UIFLOW2:

- HeartHat.get_spo2()
获取 SpO2。
UIFLOW2:

- HeartHat.get_ir()
获取 IR 值。
UIFLOW2:

- HeartHat.get_red()
获取红色值。
UIFLOW2:

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

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

- HeartHat.set_pulse_width(pulse_width)
设置 HeartHat 的脉冲宽度。
- 参数:
pulse_width (int) – HeartHat 的脉冲宽度。可选项:-
HeartHat.PULSE_WIDTH_200US_ADC_13:200us -HeartHat.PULSE_WIDTH_400US_ADC_14:400us -HeartHat.PULSE_WIDTH_800US_ADC_15:800us -HeartHat.PULSE_WIDTH_1600US_ADC_16:1600us
UIFLOW2:

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

Constants
- HeartHat.MODE_HR_ONLY
仅检测心率。
- HeartHat.MODE_SPO2_HR
检测心率和血氧饱和度。

