Using the Unit RollerCAN ・ 使用 Unit RollerCAN
M5StackのUnit RollerCANをコントローラーに接続する最小構成。配線とBOMつき。
この構成をエディタで開く・編集する →| 部品 | 役割 | ポート | リンク・価格 |
|---|---|---|---|
| M5Stack Core2 | Controller | grove_i2c, grove_analog, grove_uart, mbus | official page — $46.9 |
| Unit RollerCAN | unit | grove_i2c, can, other:SWD/SWO debug | official page — $43.9 |
M5Stack Core2とUnit RollerCANで作る、ブラシレスDCモーターの制御キットです。I2C通信でCore2からRollerCANのモーターを回したり、位置や速度を制御できます。FOC(磁界ベクトル制御)と磁気エンコーダーにより、滑らかで正確なモーション制御が可能です。
# M5Stack Core2 + Unit RollerCAN (I2C motor control)
# Wiring: Unit RollerCAN -> Core2 red Port.A (I2C)
import time
from machine import Pin, I2C
from m5stack import lcd
# I2C setup on Port.A (Core2: scl=22, sda=21)
i2c = I2C(0, scl=Pin(22), sda=Pin(21), freq=400000)
# RollerCAN I2C address (default 0x30)
ROLLERCAN_ADDR = 0x30
# Simple register write function
def write_reg(reg, data):
i2c.writeto_mem(ROLLERCAN_ADDR, reg, bytes([data]))
# Initialize RollerCAN (example: set mode to speed control)
write_reg(0x00, 0x01) # Mode register: 1 = speed control
# Set target speed (example: 100 RPM, low byte first)
speed_rpm = 100
write_reg(0x01, speed_rpm & 0xFF) # Low byte
write_reg(0x02, (speed_rpm >> 8) & 0xFF) # High byte
# Enable motor
write_reg(0x03, 0x01) # Enable register: 1 = enable
lcd.clear()
lcd.print('RollerCAN running', 10, 20)
lcd.print('Speed: %d RPM' % speed_rpm, 10, 50)
# Keep running
while True:
time.sleep(1)
この作り方はAIが構成から生成したものです(未検証)。通電前に配線とコードをご確認ください。
この構成はAIが実在するM5Stack部品から設計し、ポート互換をサーバで検証したものです。編集・共有できます。
エディタで開く →UnitKit は M5Stack® 製品向けの非公式ツール。作りたいものを書くと、部品リストと配線図が出ます。