Humidifier auto control ・ 加湿器控制
ENV IIIで湿度を測定し、低湿度時にリレーで加湿器をON/OFF制御します。
この構成をエディタで開く・編集する →| 部品 | 役割 | ポート | リンク・価格 |
|---|---|---|---|
| M5Stack Core2 | Controller | grove_i2c, grove_analog, grove_uart, mbus | official page — $46.9 |
| Unit ENV III | Temp / humidity sensor | grove_i2c | official page — $5.95 |
| Unit Relay | Relay (switch humidifier) | grove_analog | official page — $3.5 |
M5Stack Core2とENV IIIユニット(温湿度・気圧センサー)とリレーユニットで作る、湿度制御式加湿器です。ENV IIIが部屋の湿度を測り、設定したしきい値より低くなったらリレーが加湿器の電源をON/OFFします。Core2が湿度を監視し、自動で加湿器を制御するので、快適な湿度を保てます。
# M5Stack Core2 + ENV III + Relay (humidity-controlled humidifier)
# Wiring: ENV III -> Core2 red Port.A (I2C), Relay -> Core2 black Port.B (GPIO)
import time
from machine import Pin, I2C
from m5stack import lcd
# I2C setup for ENV III (SHT30 on addr 0x44)
i2c = I2C(0, scl=Pin(22), sda=Pin(21), freq=100000)
# Relay control pin (Port.B GPIO 36 on Core2)
relay = Pin(36, Pin.OUT)
relay.off() # start with relay off
HUMIDITY_THRESHOLD = 50.0 # adjust to your desired humidity (%)
def read_humidity():
# Send measurement command to SHT30
i2c.writeto(0x44, bytes([0x2C, 0x06]))
time.sleep_ms(50)
data = i2c.readfrom(0x44, 6)
# Convert raw data to humidity (formula from datasheet)
raw_hum = ((data[3] << 8) | data[4])
humidity = 100.0 * (raw_hum / 65535.0)
return humidity
while True:
try:
hum = read_humidity()
except:
hum = -1
lcd.clear()
lcd.print('Humidity: %.1f %%' % hum, 10, 20)
if hum >= 0 and hum < HUMIDITY_THRESHOLD:
relay.on()
lcd.print('Relay ON (humidifier)', 10, 60)
else:
relay.off()
lcd.print('Relay OFF', 10, 60)
time.sleep(2) # check every 2 seconds
この作り方はAIが構成から生成したものです(未検証)。通電前に配線とコードをご確認ください。
この構成はAIが実在するM5Stack部品から設計し、ポート互換をサーバで検証したものです。編集・共有できます。
エディタで開く →UnitKit は M5Stack® 製品向けの非公式ツール。作りたいものを書くと、部品リストと配線図が出ます。