Relay2 Unit

这是 Relay2 Unit 的驱动库,用于控制继电器。

支持以下产品:

""

UiFlow2 应用示例

控制继电器

在 UiFlow2 中打开 relay2_core2_example.m5f2 项目。

该示例控制 Relay2 Unit 的继电器,并将其显示在屏幕上。

UiFlow2 代码块:

example.png

示例输出:

None

MicroPython 应用示例

控制继电器

该示例控制 Relay2 Unit 的继电器,并将其显示在屏幕上。

MicroPython 代码块:

 1# SPDX-FileCopyrightText: 2025 M5Stack Technology CO LTD
 2#
 3# SPDX-License-Identifier: MIT
 4
 5import os, sys, io
 6import M5
 7from M5 import *
 8from unit import Relay2Unit
 9
10
11title0 = None
12label2 = None
13label0 = None
14label3 = None
15label1 = None
16relay2_0 = None
17
18
19def setup():
20    global title0, label2, label0, label3, label1, relay2_0
21
22    M5.begin()
23    Widgets.fillScreen(0x222222)
24    title0 = Widgets.Title(
25        "Relay2Unit Core2 Example", 3, 0xFFFFFF, 0x0000FF, Widgets.FONTS.DejaVu18
26    )
27    label2 = Widgets.Label("Relay1", 38, 214, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18)
28    label0 = Widgets.Label("label0", 2, 91, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18)
29    label3 = Widgets.Label("Relay2", 220, 214, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18)
30    label1 = Widgets.Label("label1", 2, 136, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18)
31
32    relay2_0 = Relay2Unit((33, 32))
33
34
35def loop():
36    global title0, label2, label0, label3, label1, relay2_0
37    M5.update()
38    label0.setText(str((str("Relay1 State:") + str((relay2_0.get_relay_status(1))))))
39    label1.setText(str((str("Relay2 State:") + str((relay2_0.get_relay_status(2))))))
40    if BtnA.wasPressed():
41        relay2_0.set_relay_cntrl(1, not (relay2_0.get_relay_status(1)))
42    elif BtnC.wasPressed():
43        relay2_0.set_relay_cntrl(2, not (relay2_0.get_relay_status(2)))
44
45
46if __name__ == "__main__":
47    try:
48        setup()
49        while True:
50            loop()
51    except (Exception, KeyboardInterrupt) as e:
52        try:
53            from utility import print_error_msg
54
55            print_error_msg(e)
56        except ImportError:
57            print("please update to latest firmware")

示例输出:

None

API参考

Relay2Unit

class unit.relay2.Relay2Unit(port)

基类:object

创建一个 Relay2Unit 对象。

参数:

port (tuple) – 继电器的端口。

UiFlow2 代码块:

init.png

MicroPython 代码块:

from unit import Relay2Unit

relay2_0 = Relay2Unit((32, 26))
set_relay_cntrl(num=1, control=0)

设置继电器的开/关状态

参数:
  • num (int) – 继电器编号(范围为 1-2)。

  • control (int) – 控制值(0:关闭,1:开启)。

返回类型:

None

UiFlow2 代码块:

set_relay_cntrl.png

MicroPython 代码块:

relay2_0.set_relay_cntrl(1, 1)
get_relay_status(num=1)

获取继电器的开/关状态

参数:

num (int) – 继电器编号。

返回:

继电器状态。

返回类型:

bool

UiFlow2 代码块:

get_relay_status.png

MicroPython 代码块:

relay2_0.get_relay_status()