Intrusion alarm ・ 入侵报警
PIRセンサーで侵入を検知し、ブザーとリレーで警報を発します。
この構成をエディタで開く・編集する →| 部品 | 役割 | ポート | リンク・価格 |
|---|---|---|---|
| M5Stack Core2 | Controller | grove_i2c, grove_analog, grove_uart, mbus | official page — $46.9 |
| M5Stack Unit PIR | PIR motion sensor | grove_i2c | official page — $5.5 |
| Unit Buzzer | Buzzer | grove_analog | official page — $4.5 |
| Unit Relay | Relay (alarm output) | grove_analog | official page — $3.5 |
M5Stack Core2とPIRセンサー、ブザー、リレーで作る侵入検知アラームです。PIRセンサーが人の動きを検知すると、ブザーが鳴り、リレーが作動して外部機器(ライトやサイレンなど)を制御できます。
# M5Stack Core2 + PIR + Buzzer + Relay Intrusion Alarm
# Wiring:
# PIR Unit -> Core2 red Port.A (I2C)
# Buzzer Unit -> Core2 black Port.B (GPIO 36? Actually Port.B uses GPIO 36 for analog, but for digital output we use GPIO 26? Check pinout: Port.B: 36 (ADC), 26 (GPIO). We'll use GPIO 26 for buzzer.
# Relay Unit -> Core2 blue Port.C (UART, but we use GPIO 16/17? Actually Port.C: TX=17, RX=16. We'll use GPIO 16 for relay.
# Note: PIR unit uses I2C address 0x64.
import time
from machine import Pin, I2C
from m5stack import lcd
# I2C for PIR (Port.A)
i2c = I2C(0, scl=Pin(22), sda=Pin(21), freq=100000)
PIR_ADDR = 0x64
# Buzzer on Port.B GPIO 26
buzzer = Pin(26, Pin.OUT)
# Relay on Port.C GPIO 16 (TX)
relay = Pin(16, Pin.OUT)
# PIR sensor registers (from datasheet)
PIR_REG_STATUS = 0x00 # 0 = no motion, 1 = motion detected
def read_pir():
try:
data = i2c.readfrom(PIR_ADDR, 1)
return data[0] & 0x01
except:
return 0
while True:
motion = read_pir()
lcd.clear()
lcd.print('Motion: %d' % motion, 10, 20)
if motion:
lcd.print('ALARM!', 10, 60)
buzzer.on()
relay.on()
time.sleep(5)
buzzer.off()
relay.off()
else:
buzzer.off()
relay.off()
time.sleep(0.5)
この作り方はAIが構成から生成したものです(未検証)。通電前に配線とコードをご確認ください。
この構成はAIが実在するM5Stack部品から設計し、ポート互換をサーバで検証したものです。編集・共有できます。
エディタで開く →UnitKit は M5Stack® 製品向けの非公式ツール。作りたいものを書くと、部品リストと配線図が出ます。