Hydration reminder ・ 喝水提醒
定期的にブザーを鳴らし、ボタンを押すと止まるリマインダー。
この構成をエディタで開く・編集する →| 部品 | 役割 | ポート | リンク・価格 |
|---|---|---|---|
| M5Stack Core2 | Controller | grove_i2c, grove_analog, grove_uart, mbus | official page — $46.9 |
| Unit Buzzer | Buzzer | grove_analog | official page — $4.5 |
| Unit Button | Button | grove_analog | official page — $2.25 |
M5Stack Core2とブザー・ボタンユニットで作る、かんたんな水分補給リマインダーです。定期的にブザーが鳴り、ボタンを押すと止まります。デスクで作業中に水分補給を促してくれます。
# M5Stack Core2 + Buzzer Unit + Button Unit (Hydration Reminder)
# Wiring: Buzzer Unit -> Core2 black Port.B (GPIO 26)
# Button Unit -> Core2 black Port.B (GPIO 36)
import time
from machine import Pin, PWM
from m5stack import lcd
# Pin assignments
buzzer_pin = PWM(Pin(26), freq=4000, duty=512) # 4kHz, 50% duty
button_pin = Pin(36, Pin.IN, Pin.PULL_UP) # button active low
# Reminder interval in seconds
INTERVAL = 10
last_reminder = time.time()
buzzer_on = False
lcd.clear()
lcd.print('Hydration Reminder', 10, 20)
while True:
# Check button state
if button_pin.value() == 0: # button pressed (active low)
buzzer_pin.duty(0) # turn off buzzer
buzzer_on = False
last_reminder = time.time() # reset timer
time.sleep(0.2) # debounce
# Check if it's time to beep
if time.time() - last_reminder >= INTERVAL and not buzzer_on:
buzzer_pin.duty(512) # turn on buzzer
buzzer_on = True
lcd.print('Drink water!', 10, 60)
time.sleep(0.1)
この作り方はAIが構成から生成したものです(未検証)。通電前に配線とコードをご確認ください。
この構成はAIが実在するM5Stack部品から設計し、ポート互換をサーバで検証したものです。編集・共有できます。
エディタで開く →UnitKit は M5Stack® 製品向けの非公式ツール。作りたいものを書くと、部品リストと配線図が出ます。