M5Stackでドア開閉センサー

Door / window open sensor ・ 门窗开关检测

ホール効果センサーでドアや窓の開閉を検知し、通知します。

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

部品リスト(BOM)

部品役割ポートリンク・価格
AtomS3Controllergrove_i2c, i2c, spi, gpio, usb_cofficial page — $15.5
Unit HallMagnetic sensor (Hall effect)grove_analogofficial page — $5.95

配線

作り方

M5Stack AtomS3とUnit Hall(ホール効果センサー)で作る、ドアや窓の開閉を検出する装置です。磁石が近づくとセンサーが反応し、開閉状態をAtomS3の画面に表示します。Wi-Fi経由で通知を送ることもできます。

  1. 部品を用意する — 用意するもの:M5Stack AtomS3本体、Unit Hall(ホール効果センサーユニット)、Groveケーブル(4ピン、オス-オス、通常ユニットに付属)、AtomS3とパソコンをつなぐUSB-Cケーブル、小さな磁石(ドアや窓に取り付ける用)。
  2. GroveケーブルでAtomS3とUnit Hallをつなぐ — Unit Hallはアナログ(黒)接続です。Groveケーブルの一端をUnit Hallのポートに差し込み、もう一端をAtomS3のPort.B(黒色のGroveポート)に差し込みます。コネクタは一方向にしか入らないので、無理に押し込まないでください。
  3. 磁石をドア/窓に取り付ける — 磁石をドアや窓の可動部分に、Unit Hallを枠側に取り付けます。磁石がセンサーに近づいたとき(閉じた状態)と離れたとき(開いた状態)で、センサーの出力が変わります。取り付け位置は、磁石がセンサーの検出範囲(約1cm)に入るように調整してください。
  4. パソコンにつないでMicroPythonを書き込む — USB-CケーブルでAtomS3をパソコンにつなぎます。UIFlowやThonnyなどのツールで、AtomS3にMicroPythonファームウェアが入っていることを確認し、下のコードをデバイスにコピーして実行します。
  5. 動作をテストする — 磁石をセンサーに近づけたり離したりして、AtomS3の画面に「Closed」または「Open」と表示されることを確認します。正しく動作すれば、ドアや窓の開閉を検出できています。

サンプルコード(micropython)

# M5Stack AtomS3 + Unit Hall (door/window open/close detector)
# Wiring: Unit Hall -> AtomS3 black Port.B (analog/digital GPIO)
import time
from machine import Pin
from m5stack import lcd

# Port.B on AtomS3: GPIO pin 1 (Grove black port)
hall_pin = Pin(1, Pin.IN, Pin.PULL_UP)  # Hall sensor outputs digital signal

while True:
    state = hall_pin.value()  # 0 = magnet near (closed), 1 = magnet far (open)
    lcd.clear()
    if state == 0:
        lcd.print('Closed', 10, 20)
    else:
        lcd.print('Open', 10, 20)
    time.sleep(0.5)  # check every 0.5 seconds

コツ・安全上の注意

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

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

エディタで開く →

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