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


| 項目 | 情報 |
|---|---|
| 製品名 | Unit EXT.IO2 / Stamp IO |
| SKU | U011-B / S002 |
| 主な機能 | GPIO、ADC、PWMの拡張 |
| 通信インターフェース | I2C |
| デフォルトI2Cアドレス | 0x45 |
| ESPHomeコンポーネント | extio2(外部コンポーネント) |
| 必要な ESPHome バージョン | / |
External ComponentsをYAMLファイルに追加し、EXT.IO2 / Stamp IOコンポーネントを読み込みます。
external_components:
- source: github://m5stack/esphome-yaml/components
components: [extio2]
refresh: 0s 機能を使用する前に、Hubコンポーネントを追加します。
extio2:
id: extio2_hub 0x45。true。1kHz。オプション:2kHz1kHz500Hz250Hz125HzEXT.IO2のピンは、switchやbinary_sensorなど、ESPHomeが標準のGPIOピン参照を受け付けるコンポーネントで使用できます。
# Digital output - switch
switch:
- platform: gpio
name: "EXT.IO2 GPIO 0"
pin:
extio2_id: extio2_hub
number: 0
mode:
output: true
# Digital input - binary sensor
binary_sensor:
- platform: gpio
name: "EXT.IO2 GPIO 1"
pin:
extio2_id: extio2_hub
number: 1 0~7。false。input または output を選択し、モードに応じて pullup、pulldown、open_drain フラグを使用できます。センサープラットフォームは、ADCに対応する8 本のピンからアナログ値を読み取ります。
sensor:
- platform: extio2
extio2_id: extio2_hub
name: "ADC Sensors 0"
channel: ADC_0
resolution: 12BIT
update_interval: 5s ADC_0~ADC_7。8BIT。8BIT:8ビット分解能。範囲は 0~255。12BIT:12ビット分解能。範囲は 0~4095。60s。出力プラットフォームは、任意のピンをPWM 出力として駆動します。デューティ比は 0.0~1.0 の浮動小数点値で表され、内部的に 0~100% にマッピングされます。
output:
- platform: extio2
extio2_id: extio2_hub
id: pwm_ch0
channel: PWM_0
light:
- platform: monochromatic
name: "PWM Light 0"
output: pwm_ch0
effects:
- pulse: PWM_0~PWM_7。pwm_freq によってグローバルに設定され、すべてのPWMチャンネルが同じ周波数を共有します。numberプラットフォームは、角度(度)とパルス幅(マイクロ秒)の2つのモードでサーボを制御します。
角度(0~180 度)でサーボの位置を制御します。
number:
- platform: extio2
extio2_id: extio2_hub
name: "Servo 0"
type: angle
channel: SERVO_0
min_value: 0
max_value: 180
step: 3 生のパルス幅(マイクロ秒)でサーボを制御します。
number:
- platform: extio2
extio2_id: extio2_hub
name: "Servo 1"
type: pulse
channel: SERVO_1
min_value: 500
max_value: 2500
step: 100 angle:角度で制御します。pulse:パルス幅で制御します。SERVO_0~SERVO_7。0.0、パルスモードのデフォルトは 500.0。180.0、パルスモードのデフォルトは 2500.0。3.0、パルスモードのデフォルトは 100.0。| モード | 単位 | 最小値 | 最大値 | ステップ |
|---|---|---|---|---|
angle | ° | 0 | 180 | 3 |
pulse | us | 500 | 2500 | 100 |
ライトプラットフォームは2つのモードに対応します。指定したピンの単一 RGB LED、またはピン0から連続する複数のピンを使用するアドレサブルLEDストリップです。
指定したピンのRGB LEDを制御します。
light:
- platform: extio2
extio2_id: extio2_hub
name: "EXT.IO2 Light 2"
type: light
channel: LIGHT_2 ピン0から連続する複数のRGB LEDを制御し、ESPHomeのアドレサブルライト効果に対応します。
light:
- platform: extio2
extio2_id: extio2_hub
name: "LED Strip"
type: addressable_light
num_leds: 8 light:単一 RGB LED。addressable_light:アドレサブルLEDストリップ。light タイプでは必須、enum):使用するピン。LIGHT_0~LIGHT_7。addressable_light タイプでは必須、int):LEDの数。範囲は 1~8 で、ピン0から順に割り当てられます。num_leds: 3 の場合はピン0、1、2を使用します。ハードウェアには輝度レジスタがないため、輝度はソフトウェアでRGB 値をスケーリングして実現します。この例では、GPIO 入出力、ADC、PWM、サーボ、RGBライトの各プラットフォームを示します。コントローラのI2Cピンは実際の配線に合わせて変更してください。
i2c:
sda: GPIO2
scl: GPIO1
extio2:
id: extio2_hub
address: 0x45
reset: true
pwm_freq: 1kHz
# GPIO - digital output
switch:
- platform: gpio
name: "EXT.IO2 GPIO 0"
pin:
extio2_id: extio2_hub
number: 0
mode:
output: true
# GPIO - digital input
binary_sensor:
- platform: gpio
name: "EXT.IO2 GPIO 1"
pin:
extio2_id: extio2_hub
number: 1
mode:
input: true
pullup: true
# ADC sensor
sensor:
- platform: extio2
extio2_id: extio2_hub
name: "ADC Sensors 2"
channel: ADC_2
resolution: 12BIT
update_interval: 5s
# PWM output used as a monochromatic light
output:
- platform: extio2
extio2_id: extio2_hub
id: pwm_ch3
channel: PWM_3
light:
- platform: monochromatic
name: "PWM Light 3"
output: pwm_ch3
effects:
- pulse:
# Single RGB LED
- platform: extio2
extio2_id: extio2_hub
name: "RGB Light 6"
type: light
channel: LIGHT_6
# Addressable LED strip (all 8 pins)
- platform: extio2
extio2_id: extio2_hub
name: "LED Strip"
type: addressable_light
num_leds: 8
number:
# Servo - angle control
- platform: extio2
extio2_id: extio2_hub
name: "Servo 4"
type: angle
channel: SERVO_4
# Servo - pulse-width control
- platform: extio2
extio2_id: extio2_hub
name: "Servo 5"
type: pulse
channel: SERVO_5