跳转到内容

PCM5122

pcm5122 平台允许你的 ESPHome 设备使用 PCM5122 高性能立体声音频 DAC。 这使得可以通过微控制器从各种来源播放音频,通过 Speaker 或 Media Player 控制。

配置中需要 I²C 总线,因为它用于与 PCM5122 通信。

# 示例配置条目
audio_dac:
- platform: pcm5122
id: pcm5122_dac
  • address (可选, int):设备的 I²C 地址。默认为 0x4D。
  • bits_per_sample (可选, enum):音频采样的位深度。可选值为 16bit、24bit 或 32bit。 默认为 16bit。
  • analog_gain (可选, enum):PCM5122 应用的模拟输出增益。可选值为 0db 或 -6db。 默认为 0db。
  • channel_mix (可选, enum):音频通道数据如何路由到左右输出。可选值为:
    • stereo(默认):左数据到左输出,右数据到右输出。
    • left:左通道数据到两个输出。
    • right:右通道数据到两个输出。
    • swapped:左右输出互换。
  • volume_min_db (可选, dB):映射到最小音量(完全关闭)的音量级别。 必须小于 volume_max_db。范围:-103.0dB 到 24.0dB。默认为 -52.5dB。
  • volume_max_db (可选, dB):映射到最大音量(完全开启)的音量级别。 必须大于 volume_min_db。范围:-103.0dB 到 24.0dB。默认为 0dB。
  • enable_pin (可选, Pin):连接到 PCM5122 的 XSMT (软静音)引脚的 GPIO 引脚。在 setup() 期间保持低电平,初始化成功后驱动为高电平。如果 XSMT 已硬接线为高电平,则省略此项。
  • i2c_id (可选):PCM5122 所连接的 I²C 总线 的 ID。
  • 包含 Audio DAC 的所有其他选项。

此平台支持所有 Audio DAC 自动化。

pcm5122 switch 平台提供了一个开关,用于将 PCM5122 置于待机或关机模式。

switch:
- platform: pcm5122
pcm5122: pcm5122_dac
name: "PCM5122 Power Down"
  • pcm5122 (必填, ID):PCM5122 组件的 ID。
  • power_mode (可选, enum):开关打开时要进入的电源状态。可选值为 standby 或 powerdown。默认为 powerdown。
  • 包含 Switch 的所有其他选项。

PCM5122 暴露了 GPIO 引脚 3 到 6,可作为通用输入或输出引脚 在 ESPHome 中使用。这些引脚可以在任何接受 GPIO 引脚的地方使用。

NOTE

PCM5122 上的 GPIO6 不能用作输入引脚。

# 示例:使用 PCM5122 GPIO4 作为输出(例如启用放大器)
output:
- platform: gpio
id: pcm5122_amp_enable
pin:
pcm5122: pcm5122_dac
number: 4
mode:
output: true
  • pcm5122 (必填, ID):PCM5122 组件的 ID。
  • number (必填, int):GPIO 引脚号。必须在 3 到 6 之间。
  • mode (必填):配置引脚方向。input 和 output 中必须恰好有一个设置为 true。
    • input (可选, bool):设置为输入引脚。默认为 false。GPIO6 不可用。
    • output (可选, bool):设置为输出引脚。默认为 false。
  • inverted (可选, bool):反转引脚的逻辑电平。默认为 false。
i2c:
sda: GPIOXX
scl: GPIOXX
i2s_audio:
- id: i2s_output
i2s_lrclk_pin: GPIOXX
i2s_bclk_pin: GPIOXX
audio_dac:
- platform: pcm5122
id: pcm5122_dac
address: 0x4D
bits_per_sample: 16bit
analog_gain: -6db
channel_mix: stereo
volume_min_db: -60dB
volume_max_db: -3dB
enable_pin: GPIOXX
speaker:
- platform: i2s_audio
i2s_audio_id: i2s_output
id: speaker_id
i2s_dout_pin: GPIOXX
dac_type: external
audio_dac: pcm5122_dac
# 使用 PCM5122 GPIO4 控制外部放大器使能引脚
switch:
- platform: gpio
name: "Amplifier Enable"
pin:
pcm5122: pcm5122_dac
number: 4
mode:
output: true
restore_mode: RESTORE_DEFAULT_ON
- platform: pcm5122
pcm5122: pcm5122_dac
name: "PCM5122 Power Down"
# 使用 PCM5122 GPIO5 作为二进制传感器输入
binary_sensor:
- platform: gpio
id: pcm5122_gpio_input
pin:
pcm5122: pcm5122_dac
number: 5
mode:
input: true