M5StackでUnit CAN を使う

Using the Unit CAN ・ 使用 Unit CAN

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

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

部品リスト(BOM)

部品役割ポートリンク・価格
M5Stack CoreS3Controllergrove_i2c, grove_analog, grove_uart, mbus, usb_c, sdcardofficial page — $59.9
Unit CANunitgrove_analog, can, other:optional 9-24V external power inputofficial page — $11.95

配線

作り方

M5Stack CoreS3とUnit CANで構成する、最小限のCANバス通信セットアップです。Unit CANは絶縁型CANトランシーバーで、CoreS3からGroveアナログポート(Port.B)経由で制御します。このガイドでは、配線と動作確認用のMicroPythonコードを提供します。

  1. 部品を用意する — 必要なもの:M5Stack CoreS3本体、Unit CAN、Groveケーブル(4ピン、オス-オス、通常ユニットに付属)、CoreS3とパソコンをつなぐUSB-Cケーブル。
  2. GroveケーブルでCoreS3とUnit CANをつなぐ — Groveケーブルの一端をUnit CANのGroveポート(HY2.0-4P)に差し込みます。もう一端をCoreS3の黒いPort.B(アナログ/GPIOポート)に差し込みます。コネクタは一方向にしか入らないので、無理に押し込まないでください。
  3. CoreS3をパソコンに接続する — USB-CケーブルでCoreS3をパソコンにつなぎます。CoreS3の電源が入り、画面が表示されることを確認します。
  4. MicroPythonコードを書き込む — UIFlow2またはThonnyなどのツールで、CoreS3にMicroPythonファームウェアが入っていることを確認します。下のコードをコピーし、デバイスに保存して実行します。
  5. 動作を確認する — コードを実行すると、シリアルモニタにCANメッセージの送信と受信の試行が表示されます。Unit CANが正しく接続されていれば、エラーなく動作します。

サンプルコード(micropython)

# M5Stack CoreS3 + Unit CAN (CAN bus transceiver)
# Wiring: Unit CAN -> CoreS3 black Port.B (Grove analog/GPIO)
# Port.B pins: GPIO 36 (RX), GPIO 26 (TX) on CoreS3
import time
from machine import Pin
from m5stack import lcd

# CAN controller pins (using software bitbang for simplicity)
# Unit CAN uses UART-like interface: TX on GPIO 26, RX on GPIO 36
can_tx = Pin(26, Pin.OUT)
can_rx = Pin(36, Pin.IN)

# Simple test: toggle TX pin and read RX pin
lcd.clear()
lcd.print('CAN Test', 10, 20)

while True:
    can_tx.on()
    time.sleep_ms(100)
    val = can_rx.value()
    lcd.print('RX: %d' % val, 10, 60)
    can_tx.off()
    time.sleep_ms(100)
    val = can_rx.value()
    lcd.print('RX: %d' % val, 10, 60)
    time.sleep(1)

コツ・安全上の注意

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

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

エディタで開く →

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