DAC Hat

以下产品受支持:

DAC

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 DACHat
10
11
12label0 = None
13i2c0 = None
14hat_dac_0 = None
15
16
17v = None
18
19
20def btnA_wasClicked_event(state):  # noqa: N802
21    global label0, i2c0, hat_dac_0, v
22    if v >= 0.1:
23        v = v - 0.1
24    hat_dac_0.set_voltage(v)
25
26
27def btnB_wasClicked_event(state):  # noqa: N802
28    global label0, i2c0, hat_dac_0, v
29    if v < 3.3:
30        v = v + 0.1
31    hat_dac_0.set_voltage(v)
32
33
34def btnPWR_wasClicked_event(state):  # noqa: N802
35    global label0, i2c0, hat_dac_0, v
36    v = 0
37    hat_dac_0.set_voltage(v)
38
39
40def setup():
41    global label0, i2c0, hat_dac_0, v
42
43    M5.begin()
44    label0 = Widgets.Label("label0", 39, 109, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18)
45
46    BtnA.setCallback(type=BtnA.CB_TYPE.WAS_CLICKED, cb=btnA_wasClicked_event)
47    BtnB.setCallback(type=BtnB.CB_TYPE.WAS_CLICKED, cb=btnB_wasClicked_event)
48    BtnPWR.setCallback(type=BtnPWR.CB_TYPE.WAS_CLICKED, cb=btnPWR_wasClicked_event)
49
50    i2c0 = I2C(0, scl=Pin(26), sda=Pin(0), freq=100000)
51    hat_dac_0 = DACHat(i2c0)
52    v = 0
53
54
55def loop():
56    global label0, i2c0, hat_dac_0, v
57    M5.update()
58    label0.setText(str(hat_dac_0.get_voltage()))
59
60
61if __name__ == "__main__":
62    try:
63        setup()
64        while True:
65            loop()
66    except (Exception, KeyboardInterrupt) as e:
67        try:
68            from utility import print_error_msg
69
70            print_error_msg(e)
71        except ImportError:
72            print("please update to latest firmware")

UiFlow2 应用示例:

example.png

stickc_plus2_dac_example.m5f2

class DACHat

Constructors

class DACHat(i2c: I2C, address: int = 0x60, vdd: float = 5.0, vout: float = 3.3)

创建一个 DAC Hat 对象。

参数:
  • i2c – I2C 对象

  • address – DAC Hat 的 I2C 地址

  • vdd – DAC Hat 的 VDD 电压

  • vout – DAC Hat 的 VOUT 电压

UIFLOW2:

init.png

DACHat 类继承自 DACUnit 类,更多详情请参阅 unit.DACUnit.Methods