M5StackでUnit OP90 を使う

Using the Unit OP90 ・ 使用 Unit OP90

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

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

部品リスト(BOM)

部品役割ポートリンク・価格
AtomS3Controllergrove_i2c, i2c, spi, gpio, usb_cofficial page — $15.5
Unit OP90unitgrove_analogofficial page — $2.5

配線

作り方

AtomS3とUnit OP90(非接触フォトインタラプタ)を接続した、物体の有無を検出する最小構成の回路です。Unit OP90はスリットを通過する物体を光学的に検出し、アナログ信号を出力します。AtomS3の画面に検出状態を表示できます。

  1. 部品を用意する — 用意するもの:AtomS3本体、Unit OP90、Groveケーブル(黒色、アナログ用)、AtomS3とパソコンをつなぐUSB-Cケーブル。
  2. Groveケーブルで接続する — Unit OP90はアナログ出力(黒色Groveポート)です。Groveケーブルの一端をUnit OP90のポートに差し込み、もう一端をAtomS3の黒色Groveポート(Port.B、アナログ/GPIO)に差し込みます。コネクタは向きがあるので、無理に押し込まないでください。
  3. パソコンに接続してMicroPythonを書き込む — USB-CケーブルでAtomS3をパソコンに接続します。UIFlowやThonnyなどのツールで、AtomS3にMicroPythonファームウェアが入っていることを確認し、下のコードをデバイスにコピーして実行します。
  4. 動作を確認する — コードを実行すると、AtomS3の画面にアナログ値が表示されます。Unit OP90のスリットに物体(紙など)を差し込むと値が変化し、物体がないときとあるときで値が異なることを確認します。しきい値を調整して、物体検出の感度を設定できます。

サンプルコード(micropython)

# M5Stack AtomS3 + Unit OP90 (photoelectric limit switch)
# Wiring: Unit OP90 -> AtomS3 black Grove port (Port.B, analog)
import time
from machine import Pin, ADC
from m5stack import lcd

# Port.B on AtomS3: analog input pin 1 (GPIO1)
sensor = ADC(Pin(1))
sensor.atten(ADC.ATTN_11DB)  # read 0-3.3V

THRESHOLD = 2000  # adjust after testing (higher = more light blocked)

while True:
    value = sensor.read()
    lcd.clear()
    lcd.print('Value: %d' % value, 10, 20)
    if value < THRESHOLD:
        lcd.print('Object detected', 10, 60)
    else:
        lcd.print('No object', 10, 60)
    time.sleep(0.5)

コツ・安全上の注意

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

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

エディタで開く →

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