跳转到内容

MCP4728 组件

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

# Example configuration entry
# Set a global I²C connection
i2c:
sda: 21
scl: 22
scan: true
# Set the component with default (address: 0x60 / global I²C)
mcp4728:
- id: dac_output
  • id (可选, ID): 用于此输出组件的 id。

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

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

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

# Individual outputs
output:
- platform: mcp4728
id: ac_dimmer_1
mcp4728_id: dac_output
channel: A
vref: vdd
power_down: normal # default
- 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 # default
- 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 (必需, string): 选择此输出组件的 MCP4728 链的通道。 可选值为 A、B、C 或 D。

  • vref (可选, string): 选择 VREF 源。可选值为 vdd 或 internal。默认为 vdd。

  • gain (可选, string): 选择内部 VREF 的 GAIN 倍率。可选值为 X1 或 X2。仅当 vdd=internal 时有效。默认为 X1。

  • power_down (可选, string): 选择断电模式。在断电模式下(值不等于 normal),输出引脚将通过电阻(1kOhm、100kOhm 或 500kOhm)连接到 GND。可选值为 normal、gnd_1k、gnd_100k 或 gnd_500k。默认为 normal。

  • 所有其他选项请参见 输出。

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