跳转到内容

MCP4728 组件

MCP4728 输出组件允许使用 12 位外部四通道 DAC 以便通过 I²C 在任何开发板上获得模拟输出。设备默认地址为 0x60

# 示例配置条目
# 设置全局 I²C 连接
i2c:
sda: 21
scl: 22
scan: true
# 使用默认地址设置组件(地址:0x60 / 全局 I²C)
mcp4728:
- id: dac_output
  • id (可选, ID):此输出组件使用的 id。

  • address (可选, 整数):手动指定 DAC 的 I2C 地址。 默认为 0x60

  • store_in_eeprom (可选, 布尔值):使用 SEQ_WRITE 模式同时顺序写入 EEPROM。默认为 false

MCP4728 输出组件将全局 MCP4728 的 4 个 MCP4728 通道作为浮点输出暴露。

# 单个输出
output:
- platform: mcp4728
id: ac_dimmer_1
mcp4728_id: dac_output
channel: A
vref: vdd
power_down: normal # 默认
- platform: mcp4728
id: ac_dimmer_2
mcp4728_id: dac_output
channel: B
vref: vdd
power_down: gnd_1k
- platform: mcp4728
id: ac_dimmer_3
channel: C
vref: internal
gain: X1
power_down: normal # 默认
- platform: mcp4728
id: ac_dimmer_4
channel: D
vref: internal
gain: X2
on_...:
then:
- output.set_level:
id: ac_dimmer_1
level: 100%
  • id (必填, ID):此输出组件使用的 id。

  • mcp4728_id (可选, ID):手动指定 MCP4728的 ID。 如果您想同时使用多个 MCP4728 链,请使用此选项。

  • channel (*必填, 字符串):选择此输出组件的 MCP4728 链的通道。 ABCD 之一。

  • vref (可选, 字符串):选择 VREF 源。vddinternal 之一。默认为 vdd

  • gain (可选, 字符串):选择内部 VREF 的增益倍数。X1X2 之一。仅在 vdd=internal 时有用。默认为 X1

  • power_down (可选, 字符串):选择断电模式。在断电模式下(值不同于 normal),输出引脚将通过电阻(1kOhm、100kOhm 或 500kOhm)连接到 GND。normalgnd_1kgnd_100kgnd_500k 之一。默认为 normal

  • 所有其他选项来自 Output

输出电压范围会根据 vref 源和 gain 而有所不同。 当 vref=vdd 时,输出电压范围为 0.000V 到 VDD。 当 vref=internal 时,输出电压范围在 gain=X1 时为 0.000V 到 2.048V,在 gain=X2 时为 0.000V 到 4.096V。