Gesture-controlled light ・ 手势灯
手をかざすジェスチャーで照明のON/OFFを操作。Gesture Unitで認識し、SSRで照明を制御。
この構成をエディタで開く・編集する →| 部品 | 役割 | ポート | リンク・価格 |
|---|---|---|---|
| M5Stack Core2 | Controller | grove_i2c, grove_analog, grove_uart, mbus | official page — $46.9 |
| Unit Gesture | Gesture sensor | grove_i2c | official page — $12.95 |
| Unit SSR | Solid-state relay | grove_analog | official page — $6.5 |
M5Stack Core2とジェスチャーセンサー(Unit Gesture)とSSR(Unit SSR)で作る、手をかざして照明をオン/オフする装置です。ジェスチャーセンサーが手の動きを検出し、Core2がSSRを制御して照明を切り替えます。
# M5Stack Core2 + Gesture Sensor (PAJ7620) + SSR
# Wiring: Gesture -> Core2 red Port.A (I2C)
# SSR -> Core2 black Port.B (analog/GPIO)
import time
from machine import Pin, I2C
from m5stack import lcd
# I2C for gesture sensor (Port.A: sda=21, scl=22)
i2c = I2C(0, scl=Pin(22), sda=Pin(21), freq=100000)
# PAJ7620 I2C address
GESTURE_ADDR = 0x73
# Initialize gesture sensor
def init_gesture():
i2c.writeto(GESTURE_ADDR, bytes([0x00, 0x00])) # Bank select
i2c.writeto(GESTURE_ADDR, bytes([0x00, 0x00])) # Wake up
i2c.writeto(GESTURE_ADDR, bytes([0x73, 0x20])) # Gesture mode
time.sleep(0.1)
init_gesture()
# SSR control pin (Port.B: pin 36)
ssr = Pin(36, Pin.OUT)
ssr.off() # start with light off
light_on = False
lcd.print('Ready', 10, 20)
while True:
# Read gesture register (0x43)
i2c.writeto(GESTURE_ADDR, bytes([0x43]))
data = i2c.readfrom(GESTURE_ADDR, 1)
gesture = data[0]
if gesture == 0x01: # Right gesture (wave left to right)
light_on = not light_on
if light_on:
ssr.on()
lcd.print('Light ON', 10, 60)
else:
ssr.off()
lcd.print('Light OFF', 10, 60)
time.sleep(0.5) # debounce
time.sleep(0.05)
この作り方はAIが構成から生成したものです(未検証)。通電前に配線とコードをご確認ください。
この構成はAIが実在するM5Stack部品から設計し、ポート互換をサーバで検証したものです。編集・共有できます。
エディタで開く →UnitKit は M5Stack® 製品向けの非公式ツール。作りたいものを書くと、部品リストと配線図が出ます。