M5Stackで磁気開閉スイッチ

Magnetic reed switch sensor ・ 磁性开关

ホール効果センサと磁石を使ってドアや窓の開閉を検知します。

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

部品リスト(BOM)

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

配線

作り方

M5Stack AtomS3とUnit Hall(ホール効果センサー)で作る、ドアや窓の開閉を検知する磁気スイッチです。マグネットが近づくとセンサーが反応し、開閉状態をAtomS3の画面に表示します。

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

サンプルコード(micropython)

# M5Stack AtomS3 + Unit Hall (magnetic switch)
# Wiring: Unit Hall -> AtomS3 black Port.B (analog/GPIO)
import time
from machine import Pin
from m5stack import lcd

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

while True:
    if sensor.value() == 0:  # magnet near -> closed
        lcd.clear()
        lcd.print('Door: CLOSED', 10, 20)
    else:                    # magnet far -> open
        lcd.clear()
        lcd.print('Door: OPEN', 10, 20)
    time.sleep(0.5)          # check every 0.5 seconds

コツ・安全上の注意

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

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

エディタで開く →

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