Relay4 Unit

4-Relay unit 是一款集成式 4 路继电器模块,可通过 I2C 协议进行控制。每个继电器的最大控制电压为 AC-250V/DC-28V,额定电流为 10A,瞬时电流最高可达 16A。每个继电器都可独立控制,互不影响。每个继电器还带有状态(LED)指示灯,用于在任意时刻显示继电器的状态。

支持以下产品:

Relay4Unit

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 Relay4Unit
10import time
11
12
13i2c0 = None
14relay4_0 = None
15
16
17def setup():
18    global i2c0, relay4_0
19
20    M5.begin()
21    Widgets.fillScreen(0x222222)
22
23    i2c0 = I2C(0, scl=Pin(1), sda=Pin(2), freq=100000)
24    relay4_0 = Relay4Unit(i2c0, 0x26)
25
26
27def loop():
28    global i2c0, relay4_0
29    M5.update()
30    relay4_0.set_relay_all(1)
31    time.sleep(1)
32    relay4_0.set_relay_all(0)
33    time.sleep(1)
34
35
36if __name__ == "__main__":
37    try:
38        setup()
39        while True:
40            loop()
41    except (Exception, KeyboardInterrupt) as e:
42        try:
43            from utility import print_error_msg
44
45            print_error_msg(e)
46        except ImportError:
47            print("please update to latest firmware")

UiFlow2 应用示例

example.png

cores3_relay4_example.m5f2

class Relay4Unit

Constructors

class Relay4Unit(i2c: I2C, address: int | list | tuple = 0x26)

初始化 Relay4Unit 对象。

参数:
  • i2c (I2C) – 要使用的 I2C 端口。

  • address (int) – Relay4Unit 的 I2C 地址。

UiFlow2

init.png

Methods

Relay4Unit.set_mode(mode: int)

设置继电器的模式。

参数:

mode (int) – 继电器的模式。选项:- Relay4Unit.ASYNC_MODE:async - Relay4Unit.SYNC_MODE:sync

UiFlow2

set_mode.png

Relay4Unit.get_mode() int

获取继电器的模式。

返回:

继电器的模式。选项:- Relay4Unit.ASYNC_MODE:async - Relay4Unit.SYNC_MODE:sync

UiFlow2

get_mode.png

Relay4Unit.get_led_state(n: int) int

获取 LED 的状态。

参数:

n (int) – LED 的编号。

UiFlow2

get_led_state.png

Relay4Unit.set_led_state(n: int, state: int) None

设置 LED 的状态。

参数:
  • n (int) – LED 的编号。

  • state (int) – LED 的状态。

UiFlow2

set_led_state.png

Relay4Unit.get_relay_state(n: int) int

获取继电器的状态。

参数:

n (int) – 继电器编号。

返回:

继电器的状态。

UiFlow2

get_relay_state.png

Relay4Unit.set_relay_state(n: int, state: int) None

设置继电器的状态。

参数:
  • n (int) – 继电器编号。

  • state (int) – 继电器的状态。

UiFlow2

set_relay_state.png

Relay4Unit.set_relay_all(state: int) None

设置所有继电器的状态。

参数:

state (int) – 继电器的状态。

UiFlow2

set_relay_all.png