Unit EXT.IO2 / Stamp IO ESPHomeコンポーネント

Unit EXT.IO2 / Stamp IOは、I2C 経由でGPIO、ADC、PWMなどの入出力機能を拡張します。

1. コンポーネント概要

項目 情報
製品名 Unit EXT.IO2 / Stamp IO
SKU U011-B / S002
主な機能 GPIO、ADC、PWMの拡張
通信インターフェース I2C
デフォルトI2Cアドレス 0x45
ESPHomeコンポーネント extio2(外部)
ESPHomeバージョン /

2. コンポーネント詳細

外部コンポーネントの導入

YAMLファイルにExternal Componentsを追加して、EXT.IO2 / Stamp IOコンポーネントを読み込みます。

external_components:
  - source: github://m5stack/esphome-yaml/components
    components: [extio2]
    refresh: 0s

Hubコンポーネント

機能を使用する前にHubコンポーネントを追加します。

extio2:
  id: extio2_hub

設定可能なオプション

  • id(オプション,ID):HubコンポーネントのIDを指定します。
  • address(オプション,int):I2Cアドレス。デフォルト 0x45
  • reset(オプション,boolean):ソフトウェアリセットを実行し、すべてのピンを出力 Lowに設定。デフォルト true
  • pwm_freq(オプション,enum):全チャンネル共通のPWM 周波数。デフォルト 1kHz オプション:
    • 2kHz
    • 1kHz
    • 500Hz
    • 250Hz
    • 125Hz
  • I2Cデバイスでサポートされるその他のオプション。

GPIOピン

EXT.IO2のピンは、switchbinary_sensorなどESPHomeが標準 GPIO 参照を受け付けるコンポーネントで使用できます。

# 数字出力 — 开关
switch:
  - platform: gpio
    name: "EXT.IO2 GPIO 0"
    pin:
      extio2_id: extio2_hub
      number: 0
      mode:
        output: true

# 数字入力 — 二值センサー
binary_sensor:
  - platform: gpio
    name: "EXT.IO2 GPIO 1"
    pin:
      extio2_id: extio2_hub
      number: 1

ピン設定項目

  • extio2_id(必須,ID):EXT.IO2バスコントローラのID。
  • number(必須,int):ピン番号、範囲 07
  • inverted(オプション,boolean):ピン論理を反転。デフォルト false
  • mode(必須):选择 inputoutput,并可按模式使用 pulluppulldownopen_drain 标志。

センサー(ADC)

センサープラットフォームは、ADCに対応する8 本のピンからアナログ値を読み取ります。

sensor:
  - platform: extio2
    extio2_id: extio2_hub
    name: "ADC センサー 0"
    channel: ADC_0
    resolution: 12BIT
    update_interval: 5s

設定項目

  • extio2_id(オプション,ID):EXT.IO2バスコントローラのID。
  • channel(必須,枚举):読み取るADCチャンネル,ADC_0ADC_7
  • resolution(オプション,枚举):ADC 分解能。デフォルト 8BIT
    • 8BIT:8 ビット分解能、範囲 0–255。
    • 12BIT:12 ビット分解能、範囲 0–4095。
  • update_interval(オプション,时间):ポーリング間隔。デフォルト 60s
  • その他选项参见 センサー

出力(PWM)

出力プラットフォームは任意のピンをPWM 出力として駆動します。デューティ比は 0.01.0 的浮点数表示,内部映射为 0–100%。

output:
  - platform: extio2
    extio2_id: extio2_hub
    id: pwm_ch0
    channel: PWM_0

light:
  - platform: monochromatic
    name: "PWM 灯 0"
    output: pwm_ch0
    effects:
      - pulse:

設定項目

  • extio2_id(オプション,ID):EXT.IO2バスコントローラのID。
  • id(必須,ID):该出力的 ID。
  • channel(必須,枚举):要使用的 PWM チャンネル,PWM_0PWM_7
  • その他选项参见 浮点出力
PWM 频率
PWM 频率通过总线控制器的 pwm_freq 全局設定,所有 PWM チャンネル共享同一频率。

数値(サーボ)

numberプラットフォームは、角度(度)とパルス幅(マイクロ秒)の2モードでサーボを制御します。

角度模式

角度(0~180 度)でサーボ位置を制御します。

number:
  - platform: extio2
    extio2_id: extio2_hub
    name: "舵机 0"
    type: angle
    channel: SERVO_0
    min_value: 0
    max_value: 180
    step: 3

脉冲模式

生のパルス幅(マイクロ秒)でサーボを制御します。

number:
  - platform: extio2
    extio2_id: extio2_hub
    name: "舵机 1"
    type: pulse
    channel: SERVO_1
    min_value: 500
    max_value: 2500
    step: 100

設定項目

  • extio2_id(オプション,ID):EXT.IO2バスコントローラのID。
  • type(必須,枚举):舵机控制模式。
    • angle:以角度控制。
    • pulse:以脉冲宽度控制。
  • channel(必須,枚举):要使用的舵机チャンネル,SERVO_0SERVO_7
  • min_value(オプション,float):最小值,角度模式デフォルト 0.0,脉冲模式デフォルト 500.0
  • max_value(オプション,float):最大值,角度模式デフォルト 180.0,脉冲模式デフォルト 2500.0
  • step(オプション,float):步进值,角度模式デフォルト 3.0,脉冲模式デフォルト 100.0
  • その他选项参见 数值
模式 単位 最小值 最大值 步进
angle ° 0 180 3
pulse us 500 2500 100

ライト

ライトプラットフォームは2つのモードに対応します:单个 RGB LED(指定某一引脚)或可寻址 LED 灯条(从引脚 0 开始的连续多个引脚)。

单个 RGB 灯

指定したピンのRGB LEDを制御します。

light:
  - platform: extio2
    extio2_id: extio2_hub
    name: "EXT.IO2 灯光 2"
    type: light
    channel: LIGHT_2

可寻址灯条

ピン0から連続する複数のRGB LEDを制御し、ESPHomeのアドレサブルライト効果に対応します。

light:
  - platform: extio2
    extio2_id: extio2_hub
    name: "灯条"
    type: addressable_light
    num_leds: 8

設定項目

  • extio2_id(オプション,ID):EXT.IO2バスコントローラのID。
  • type(必須,枚举):ライトモード。
    • light:单个 RGB LED。
    • addressable_light:可寻址 LED 灯条。
  • channellight 类型,必須,枚举):要使用的引脚,LIGHT_0LIGHT_7
  • num_ledsaddressable_light 类型,必須,int):LED 数、範囲 18,从引脚 0 开始依次分配。
  • その他选项参见 灯光
灯条引脚
可寻址灯条的引脚必须从引脚 0 开始连续分配。例:num_leds: 3ではピン0、1、2を使用します。ハードウェアに輝度レジスタはなく、輝度はソフトウェアでRGB 値をスケーリングします。

3. 使用例

この例ではGPIO 入出力、ADC、PWM、サーボ、RGBライトの各プラットフォームを示します。コントローラのI2Cピンは実際の配線に合わせて変更してください。

i2c:
  sda: GPIO2
  scl: GPIO1

extio2:
  id: extio2_hub
  address: 0x45
  reset: true
  pwm_freq: 1kHz

# GPIO — 数字出力
switch:
  - platform: gpio
    name: "EXT.IO2 GPIO 0"
    pin:
      extio2_id: extio2_hub
      number: 0
      mode:
        output: true

# GPIO — 数字入力
binary_sensor:
  - platform: gpio
    name: "EXT.IO2 GPIO 1"
    pin:
      extio2_id: extio2_hub
      number: 1
      mode:
        input: true
        pullup: true

# ADC センサー
sensor:
  - platform: extio2
    extio2_id: extio2_hub
    name: "ADC センサー 2"
    channel: ADC_2
    resolution: 12BIT
    update_interval: 5s

# PWM 出力,用作单色灯
output:
  - platform: extio2
    extio2_id: extio2_hub
    id: pwm_ch3
    channel: PWM_3

light:
  - platform: monochromatic
    name: "PWM 灯 3"
    output: pwm_ch3
    effects:
      - pulse:

  # 单个 RGB LED
  - platform: extio2
    extio2_id: extio2_hub
    name: "RGB 灯光 6"
    type: light
    channel: LIGHT_6

  # 可寻址 LED 灯条(全部 8 个引脚)
  - platform: extio2
    extio2_id: extio2_hub
    name: "灯条"
    type: addressable_light
    num_leds: 8

number:
  # 舵机 — 角度控制
  - platform: extio2
    extio2_id: extio2_hub
    name: "舵机 4"
    type: angle
    channel: SERVO_4

  # 舵机 — 脉冲宽度控制
  - platform: extio2
    extio2_id: extio2_hub
    name: "舵机 5"
    type: pulse
    channel: SERVO_5

4. 関連リンク

Page Tools
PDF
On This Page