Using the Unit Roller485 ・ 使用 Unit Roller485
M5StackのUnit Roller485をコントローラーに接続する最小構成。配線とBOMつき。
この構成をエディタで開く・編集する →| 部品 | 役割 | ポート | リンク・価格 |
|---|---|---|---|
| AtomS3 Lite | Controller | grove_i2c, gpio, usb_c | official page — $7.5 |
| Unit Roller485 | unit | rs485, grove_i2c | official page — $36.95 |
AtomS3 LiteとUnit Roller485をGrove I2Cケーブルで接続し、モーターを制御する最小構成のビルドです。Unit Roller485はブラシレスDCモーターを内蔵し、位置・速度・電流を閉ループ制御できます。AtomS3 LiteからI2C経由で指令を送り、モーターを回転させます。
# AtomS3 Lite + Unit Roller485 (I2C control)
# Wiring: AtomS3 Lite Port.A (red) -> Unit Roller485 Grove port
import time
from machine import Pin, I2C
# AtomS3 Lite I2C pins: SDA=GPIO1, SCL=GPIO2 (Port.A)
i2c = I2C(0, scl=Pin(2), sda=Pin(1), freq=100000)
# Unit Roller485 I2C address (default 0x30)
ROLLER_ADDR = 0x30
# Register addresses (from datasheet)
REG_MODE = 0x00
REG_SPEED = 0x01
REG_CMD = 0x02
# Commands
CMD_STOP = 0x00
CMD_FORWARD = 0x01
CMD_BACKWARD = 0x02
def set_speed(speed):
# speed: 0-1000 (0=stop, 1000=max)
buf = speed.to_bytes(2, 'big')
i2c.writeto_mem(ROLLER_ADDR, REG_SPEED, buf)
def set_command(cmd):
i2c.writeto_mem(ROLLER_ADDR, REG_CMD, bytes([cmd]))
def set_mode(mode):
i2c.writeto_mem(ROLLER_ADDR, REG_MODE, bytes([mode]))
# Initialize: set mode to speed control (0x01)
set_mode(0x01)
time.sleep(0.1)
# Forward at 30% speed
set_speed(300)
set_command(CMD_FORWARD)
print("Motor forward at speed 300")
time.sleep(2)
# Stop
set_command(CMD_STOP)
print("Motor stopped")
この作り方はAIが構成から生成したものです(未検証)。通電前に配線とコードをご確認ください。
この構成はAIが実在するM5Stack部品から設計し、ポート互換をサーバで検証したものです。編集・共有できます。
エディタで開く →UnitKit は M5Stack® 製品向けの非公式ツール。作りたいものを書くと、部品リストと配線図が出ます。