M5StackでModule13.2 QRCode を使う

Using the Module13.2 QRCode ・ 使用 Module13.2 QRCode

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

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

部品リスト(BOM)

部品役割ポートリンク・価格
M5Stack Core2Controllergrove_i2c, grove_analog, grove_uart, mbusofficial page — $46.9
Module13.2 QRCodemodulembus, grove_i2c, grove_uart, usbofficial page — $19.95

配線

作り方

M5Stack Core2とModule13.2 QRCodeをI2C接続で組み合わせ、QRコードやバーコードを読み取る装置です。Module13.2はスタッキング可能なモジュールで、Core2のM-Busに直接積み重ねて使いますが、このガイドではGrove I2Cケーブルで接続する方法を説明します。Core2の画面に読み取ったコードの内容を表示します。

  1. 部品を用意する — 用意するもの:M5Stack Core2本体、Module13.2 QRCode、Groveケーブル(4ピン、I2C用)、USB-Cケーブル(Core2とパソコン接続用)。Module13.2には別途9-24Vの電源が必要です(付属のACアダプタを使用)。
  2. Core2とModule13.2をGrove I2Cで接続する — Groveケーブルの一端をModule13.2のGrove I2Cポート(赤色)に差し込みます。もう一端をCore2のPort.A(赤色)に差し込みます。コネクタは一方向にしか入らないので、無理に押し込まないでください。
  3. Module13.2に電源を接続する — Module13.2の専用バレルコネクタ(5.5x2.1mm)に付属のACアダプタを接続し、コンセントに差し込みます。電源投入後、Module13.2のLEDが点灯することを確認します。
  4. Core2をパソコンに接続してコードを書き込む — USB-CケーブルでCore2をパソコンに接続します。UIFlowまたはThonnyなどのツールで、Core2にMicroPythonファームウェアが入っていることを確認し、下のコードをデバイスにコピーして実行します。
  5. QRコードを読み取って動作確認する — コードを実行すると、Core2の画面に「Scanning...」と表示されます。Module13.2の読み取り窓にQRコード(またはバーコード)をかざすと、読み取ったデータが画面に表示されます。別のコードでも試して、正しく読み取れるか確認してください。

サンプルコード(micropython)

# M5Stack Core2 + Module13.2 QRCode via Grove I2C
# Wiring: Module13.2 Grove I2C -> Core2 Port.A (red)
import time
from machine import Pin, I2C
from m5stack import lcd

# I2C setup on Port.A (Core2: sda=21, scl=22)
i2c = I2C(0, scl=Pin(22), sda=Pin(21), freq=100000)

# Module13.2 QRCode I2C address (default 0x24)
QR_ADDR = 0x24

# Send trigger command to start scanning
def trigger_scan():
    i2c.writeto(QR_ADDR, bytes([0x02, 0x01]))  # command: start scan

# Read scan result (up to 64 bytes)
def read_result():
    data = i2c.readfrom(QR_ADDR, 64)
    return data.decode('utf-8').strip('\x00')

lcd.clear()
lcd.print('QRCode Scanner Ready', 10, 20)

while True:
    lcd.print('Scanning...', 10, 60)
    trigger_scan()
    time.sleep(0.5)
    result = read_result()
    if result:
        lcd.clear()
        lcd.print('Result:', 10, 20)
        lcd.print(result, 10, 60)
        time.sleep(3)
    time.sleep(0.5)

コツ・安全上の注意

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

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

エディタで開く →

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