M5StackでModule 4EncoderMotor v1.1 を使う

Using the Module 4EncoderMotor v1.1 ・ 使用 Module 4EncoderMotor v1.1

M5StackのModule 4EncoderMotor v1.1をコントローラーに接続する最小構成。配線とBOMつき。

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

部品リスト(BOM)

部品役割ポートリンク・価格
M5Stack CoreS3Controllergrove_i2c, grove_analog, grove_uart, mbus, usb_c, sdcardofficial page — $59.9
Module 4EncoderMotor v1.1modulegrove_i2c, mbus, terminal_blockofficial page — $14.5

配線

作り方

M5Stack CoreS3とModule 4EncoderMotor v1.1をGrove I2Cで接続し、エンコーダ付きモーターを制御するための最小構成の配線ガイドです。CoreS3がI2C経由でモータードライバーを制御し、モーターの回転や位置を精密にコントロールできます。

  1. 部品を用意する — 用意するもの:M5Stack CoreS3本体、Module 4EncoderMotor v1.1、Groveケーブル(4ピン、I2C用)、モーター(エンコーダ付きDCモーター、別途用意)、モーター用外部電源(6~12V、最大3A)、CoreS3用USB-Cケーブル。
  2. GroveケーブルでCoreS3とモジュールを接続する — Module 4EncoderMotor v1.1のGroveポート(I2C)とCoreS3のPort.A(赤色、I2Cポート)をGroveケーブルで接続します。コネクタは一方向にしか入らないので、向きを確認して差し込んでください。
  3. モーターと外部電源をモジュールに接続する — Module 4EncoderMotor v1.1の端子台にモーターを接続します。モーターの2本のリード線を端子台のM1+とM1-(または使用するチャンネルに応じて)に接続します。次に、外部電源(6~12V)のプラスをVIN、マイナスをGNDに接続します。極性を間違えないように注意してください。
  4. CoreS3をパソコンに接続して電源を入れる — USB-CケーブルでCoreS3をパソコンに接続します。CoreS3の画面が点灯し、起動することを確認します。モジュールにも外部電源が供給されていることを確認してください。
  5. MicroPythonコードを書き込んで実行する — UIFlowまたはThonnyなどのツールで、CoreS3にMicroPythonファームウェアが入っていることを確認し、下のコードをデバイスにコピーして実行します。コードはI2Cアドレス0x24のモジュールを初期化し、モーターを1秒間正転させた後、停止します。
  6. 動作を確認する — コードを実行すると、モーターが1秒間回転し、その後停止します。モーターが回転することを確認してください。もし回転しない場合は、配線と電源を再確認してください。

サンプルコード(micropython)

# M5Stack CoreS3 + Module 4EncoderMotor v1.1
# Wiring: CoreS3 Port.A (I2C) -> Module 4EncoderMotor v1.1 Grove I2C
# Module I2C address: 0x24
import time
from machine import Pin, I2C

# Initialize I2C on CoreS3 Port.A (SDA=GPIO12, SCL=GPIO13)
i2c = I2C(0, scl=Pin(13), sda=Pin(12), freq=100000)

# Motor driver register addresses (example, adjust per datasheet)
MOTOR_CTRL_REG = 0x00
MOTOR_SPEED_REG = 0x01

# Set motor 1 forward at 50% speed (example value 128)
i2c.writeto_mem(0x24, MOTOR_CTRL_REG, bytes([0x01]))  # motor 1 forward
i2c.writeto_mem(0x24, MOTOR_SPEED_REG, bytes([128]))  # speed 0-255

time.sleep(1)

# Stop motor
i2c.writeto_mem(0x24, MOTOR_CTRL_REG, bytes([0x00]))  # stop
print("Motor test complete")

コツ・安全上の注意

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

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

エディタで開く →

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