M5Stackで緊急通知ボタン

Emergency panic button ・ 紧急按钮

押すと通知を送るコンパクトな緊急ボタン。

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

部品リスト(BOM)

部品役割ポートリンク・価格
AtomS3 LiteControllergrove_i2c, gpio, usb_cofficial page — $7.5
Unit ButtonEmergency buttongrove_analogofficial page — $2.25

配線

作り方

AtomS3 LiteとUnit Buttonで作る、かんたんな緊急ボタン通知装置です。ボタンを押すとWi-Fi経由で通知を送信します。

  1. 部品を用意する — 用意するもの:AtomS3 Lite本体、Unit Button(ボタンユニット)、Groveケーブル(4ピン、ユニットに付属)、AtomS3 LiteとパソコンをつなぐUSB-Cケーブル。
  2. Groveケーブルでつなぐ — Unit ButtonはデジタルGPIO(黒)接続です。Groveケーブルの一端をUnit Buttonに、もう一端をAtomS3 LiteのPort.B(黒色コネクタ)に差し込みます。コネクタは一方向にしか入らないので、無理に押し込まないでください。
  3. パソコンにつないでMicroPythonを書き込む — USB-CケーブルでAtomS3 Liteをパソコンにつなぎます。UIFlowやThonnyなどのツールで、AtomS3 LiteにMicroPythonファームウェアが入っていることを確認し、下のコードをデバイスにコピーして実行します。
  4. Wi-Fi設定を確認する — コード内のSSIDとPASSWORDを、お使いのWi-Fiネットワークのものに書き換えてください。
  5. 動作テストをする — コードを実行後、AtomS3 Liteのボタンを押すと、内蔵LEDが光り、シリアルモニタに「Button pressed!」と表示されます。Wi-Fi経由で通知が送信される動作は、お好みのサービスに合わせてコードを拡張してください。

サンプルコード(micropython)

# M5Stack AtomS3 Lite + Unit Button (Emergency Button Notifier)
# Wiring: Unit Button -> AtomS3 Lite black Port.B (GPIO)
import time
import network
from machine import Pin
from m5stack import lcd

# Wi-Fi settings
SSID = "your_SSID"
PASSWORD = "your_PASSWORD"

# Button pin (Port.B on AtomS3 Lite: GPIO 26)
button = Pin(26, Pin.IN, Pin.PULL_UP)

# Connect to Wi-Fi
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(SSID, PASSWORD)

# Wait for connection
while not wlan.isconnected():
    time.sleep(0.5)

lcd.clear()
lcd.print("Wi-Fi connected", 10, 20)

# Main loop
while True:
    if button.value() == 0:  # Button pressed (active low)
        lcd.clear()
        lcd.print("Button pressed!", 10, 20)
        # Add notification code here (e.g., HTTP request)
        time.sleep(1)  # Debounce
        while button.value() == 0:
            time.sleep(0.1)
    time.sleep(0.1)

コツ・安全上の注意

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

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

エディタで開く →

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