ToF Unit

支持以下产品:

ToFUnit

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 ToFUnit
10
11
12label0 = None
13i2c0 = None
14tof_0 = None
15
16
17def setup():
18    global label0, i2c0, tof_0
19
20    M5.begin()
21    Widgets.fillScreen(0x222222)
22    label0 = Widgets.Label("label0", 132, 109, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18)
23
24    i2c0 = I2C(0, scl=Pin(22), sda=Pin(21), freq=100000)
25    tof_0 = ToFUnit(i2c0)
26
27
28def loop():
29    global label0, i2c0, tof_0
30    M5.update()
31    label0.setText(str((str((tof_0.get_range())) + str("mm"))))
32
33
34if __name__ == "__main__":
35    try:
36        setup()
37        while True:
38            loop()
39    except (Exception, KeyboardInterrupt) as e:
40        try:
41            from utility import print_error_msg
42
43            print_error_msg(e)
44        except ImportError:
45            print("please update to latest firmware")

UiFlow2 应用示例:

example.png

tof_core_example.m5f2

class ToFUnit

Constructors

class ToFUnit(i2c: I2C, address: int = 0x29, io_timeout_ms: int = 0)

创建一个 DLight 对象。

参数:
  • i2c – I2C 对象。

  • address – 设备的 I2C 地址。默认为 0x23。

  • io_timeout_ms – I2C 通信的超时时间。默认值为 0 ms。

UiFlow2

init.png

Methods

ToFUnit.get_distance() float

获取以厘米为单位的距离。

返回:

以毫米为单位的距离。

UiFlow2

get_distance.png

ToFUnit.get_data_ready() bool

获取数据就绪状态。

返回:

数据就绪状态。

UiFlow2

get_data_ready.png

ToFUnit.get_range() int

获取以毫米为单位的距离。

返回:

以毫米为单位的距离。

UiFlow2

get_range.png

ToFUnit.is_continuous_mode() bool

获取连续模式状态。

返回:

连续模式状态。

UiFlow2

is_continuous_mode.png

ToFUnit.get_measurement_timing_budget() int

获取测量时序预算。该预算以微秒为单位。

返回:

测量时间预算。该预算以微秒为单位。

UiFlow2

get_measurement_timing_budget.png

ToFUnit.set_measurement_timing_budget(budget_us: int) None

设置测量定时预算。budget_us 的单位为微秒。

参数:

budget_us – 以微秒为单位的测量时序预算。

UiFlow2

set_measurement_timing_budget.png

ToFUnit.get_signal_rate_limit() float

获取信号速率限制。

返回:

信号速率限制。

UiFlow2

get_signal_rate_limit.png

ToFUnit.set_signal_rate_limit(val: float) None

设置信号速率限制。

参数:

val – 信号速率限制。

UiFlow2

set_signal_rate_limit.png

ToFUnit.start_continuous() None

启动连续模式。

UiFlow2

start_continuous.png

ToFUnit.stop_continuous() None

停止连续模式。

UiFlow2

stop_continuous.png

ToFUnit.set_address(new_address: int) None

设置 I2C 地址。

参数:

new_address – 新的 I2C 地址。

UiFlow2

set_address.png