M5StackでUnit Dual Button を使う

Using the Unit Dual Button ・ 使用 Unit Dual Button

M5StackのUnit Dual Buttonをコントローラーに接続する最小構成。配線とBOMつき。

この構成をエディタで開く・編集する →

部品リスト(BOM)

部品役割ポートリンク・価格
AtomS3Controllergrove_i2c, i2c, spi, gpio, usb_cofficial page — $15.5
Unit Dual Buttonunitgrove_analog, gpioofficial page — $2.95

配線

作り方

AtomS3とUnit Dual ButtonをGroveケーブルで接続する、最小構成のボタン入力装置です。赤と青の2つの物理ボタンが押されたかどうかをAtomS3が読み取り、画面に表示します。

  1. 部品を用意する — 用意するもの:AtomS3本体、Unit Dual Button、Groveケーブル(黒色、アナログ用)1本、AtomS3とパソコンをつなぐUSB-Cケーブル。
  2. Groveケーブルで接続する — Unit Dual Buttonはアナログ(黒)接続です。Groveケーブルの一端をUnit Dual Buttonのポートに、もう一端をAtomS3の黒いPort.B(アナログ/GPIOポート)に差し込みます。コネクタは一方向にしか入らないので、無理に押し込まないでください。
  3. パソコンにつなぐ — USB-CケーブルでAtomS3をパソコンにつなぎます。AtomS3の電源が入り、画面が点灯します。
  4. MicroPythonコードを書き込む — UIFlowやThonnyなどのツールで、AtomS3にMicroPythonファームウェアが入っていることを確認し、下のコードをデバイスにコピーして実行します。
  5. ボタンをテストする — 赤いボタン(GPIO 1)と青いボタン(GPIO 2)を押して、AtomS3の画面に「Red pressed」や「Blue pressed」と表示されるか確認します。

サンプルコード(micropython)

# M5Stack AtomS3 + Unit Dual Button
# Wiring: Unit Dual Button -> AtomS3 black Port.B (analog/GPIO)
# Red button on GPIO 1, Blue button on GPIO 2
import time
from machine import Pin
from m5stack import lcd

# Define button pins (Port.B on AtomS3: GPIO 1 and 2)
red_button = Pin(1, Pin.IN, Pin.PULL_UP)
blue_button = Pin(2, Pin.IN, Pin.PULL_UP)

lcd.clear()
lcd.print("Dual Button Test", 10, 10)

while True:
    if red_button.value() == 0:  # pressed (LOW)
        lcd.print("Red pressed  ", 10, 40)
    else:
        lcd.print("Red released", 10, 40)
    if blue_button.value() == 0:
        lcd.print("Blue pressed ", 10, 60)
    else:
        lcd.print("Blue released", 10, 60)
    time.sleep(0.1)

コツ・安全上の注意

この作り方はAIが構成から生成したものです(未検証)。通電前に配線とコードをご確認ください。

この構成はAIが実在するM5Stack部品から設計し、ポート互換をサーバで検証したものです。編集・共有できます。

エディタで開く →

UnitKit は M5Stack® 製品向けの非公式ツール。作りたいものを書くと、部品リストと配線図が出ます。