Using the Unit Mini CAN ・ 使用 Unit Mini CAN
M5StackのUnit Mini CANをコントローラーに接続する最小構成。配線とBOMつき。
この構成をエディタで開く・編集する →| 部品 | 役割 | ポート | リンク・価格 |
|---|---|---|---|
| AtomS3 | Controller | grove_i2c, i2c, spi, gpio, usb_c | official page — $15.5 |
| Unit Mini CAN | unit | grove_analog, can | official page — $4.95 |
M5Stack AtomS3とUnit Mini CANで作る、最小構成のCANバス通信セットアップです。AtomS3がコントローラーとなり、Unit Mini CANを介してCANバスネットワークに接続します。車載電子機器や産業オートメーションのプロトタイピングに最適です。
# M5Stack AtomS3 + Unit Mini CAN (CAN bus communication)
# Wiring: Unit Mini CAN -> AtomS3 black Port.B (Grove analog/GPIO)
# Port.B on AtomS3: GPIO 1 (TX) and GPIO 2 (RX) for UART, but here we use CAN via SPI-like interface
# Actually, Unit Mini CAN uses UART (serial) on Port.B: TX=GPIO1, RX=GPIO2
import time
from machine import UART, Pin
from m5stack import lcd
# Initialize UART on Port.B (TX=GPIO1, RX=GPIO2) at 115200 baud
can_uart = UART(1, baudrate=115200, tx=1, rx=2)
# Simple CAN frame send function (for demonstration)
def send_can_frame(id, data):
# Build a simple CAN frame: ID (2 bytes) + data length (1 byte) + data (up to 8 bytes)
frame = bytearray([id >> 8, id & 0xFF, len(data)])
frame.extend(data)
can_uart.write(frame)
# Main loop
lcd.clear()
lcd.print('CAN Test', 10, 20)
while True:
# Send a test message with ID 0x123 and data [0x01, 0x02, 0x03]
send_can_frame(0x123, b'\x01\x02\x03')
lcd.print('Sent: ID 0x123', 10, 50)
time.sleep(1)
# Check for incoming data
if can_uart.any():
data = can_uart.read()
lcd.print('Received: ' + str(data), 10, 80)
time.sleep(1)
この作り方はAIが構成から生成したものです(未検証)。通電前に配線とコードをご確認ください。
この構成はAIが実在するM5Stack部品から設計し、ポート互換をサーバで検証したものです。編集・共有できます。
エディタで開く →UnitKit は M5Stack® 製品向けの非公式ツール。作りたいものを書くと、部品リストと配線図が出ます。