M5StackでUnit DAC を使う

Using the Unit DAC ・ 使用 Unit DAC

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

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

部品リスト(BOM)

部品役割ポートリンク・価格
ATOM LiteControllergrove_i2c, i2c, gpioofficial page — $7.5
Unit DACunitgrove_i2cofficial page

配線

作り方

ATOM LiteとUnit DACをGrove I2Cケーブルで接続し、MCP4725 DACチップを使って0~3.3Vのアナログ電圧を出力する最小構成のビルドです。ATOM LiteからI2C経由でDACに値を送り、任意の電圧を生成できます。

  1. 部品を用意する — 用意するもの:ATOM Lite(C008)本体、Unit DAC(MCP4725ベース)、Groveケーブル(4ピン、I2C用、赤色ポート対応)、ATOM LiteとパソコンをつなぐUSB Type-Cケーブル。
  2. Groveケーブルで接続する — Groveケーブルの一端をUnit DACのGrove端子に差し込みます。もう一端をATOM LiteのGroveポート(赤色、Port.A、I2C)に差し込みます。コネクタは一方向にしか入らないので、向きを確認して軽く押し込んでください。
  3. パソコンにつなぐ — USB Type-CケーブルでATOM Liteをパソコンに接続します。ATOM Liteの電源が入り、内蔵LEDが点灯します。
  4. MicroPythonコードを書き込む — UIFlow2またはThonnyなどのツールを使い、ATOM LiteにMicroPythonファームウェアが入っていることを確認します。下のコードをコピーしてデバイスに書き込み、実行します。
  5. 動作を確認する — コードを実行すると、DACから0V→1.65V→3.3V→0Vと電圧が変化します。マルチメーターやオシロスコープでUnit DACの出力端子(GNDとVOUT)の電圧を測定し、変化することを確認してください。

サンプルコード(micropython)

# ATOM Lite + Unit DAC (MCP4725)
# Wiring: Unit DAC -> ATOM Lite Grove Port.A (I2C)
# I2C address of MCP4725 is 0x60 (default)
from machine import Pin, I2C
import time

# Initialize I2C on ATOM Lite's Grove Port.A (pins 21=SDA, 22=SCL)
i2c = I2C(0, scl=Pin(22), sda=Pin(21), freq=400000)

DAC_ADDR = 0x60

def set_dac_voltage(value):
    # value: 0-4095 (12-bit)
    # MCP4725 write command: 0x40 (write DAC register)
    buf = bytearray(2)
    buf[0] = (value >> 8) & 0x0F  # high 4 bits
    buf[1] = value & 0xFF         # low 8 bits
    i2c.writeto(DAC_ADDR, bytes([0x40]) + buf)

# Sweep voltage: 0V -> 1.65V -> 3.3V -> 0V
while True:
    set_dac_voltage(0)        # 0V
    time.sleep(2)
    set_dac_voltage(2048)     # ~1.65V
    time.sleep(2)
    set_dac_voltage(4095)     # ~3.3V
    time.sleep(2)
    set_dac_voltage(0)        # 0V
    time.sleep(2)

コツ・安全上の注意

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

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

エディタで開く →

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