Waterproof water thermometer ・ 防水水温计
防水DS18B20プローブで水温を測定。Port.B(アナログ/GPIO)に接続。
この構成をエディタで開く・編集する →| 部品 | 役割 | ポート | リンク・価格 |
|---|---|---|---|
| M5Stack Core2 | Controller | grove_i2c, grove_analog, grove_uart, mbus | official page — $46.9 |
| Unit Earth (Soil Moisture Sensor) | Waterproof temperature probe | grove_analog | official page — $3.5 |
M5Stack Core2と防水温度センサー(DS18B20)ユニットを使って、水温を測定する装置です。OneWireプロトコルで温度を読み取り、Core2の画面に表示します。防水プローブなので、水槽や屋外の水の温度計測に最適です。
# M5Stack Core2 + DS18B20 temperature sensor (OneWire on Port.B)
# Wiring: DS18B20 unit -> Core2 black Port.B (analog/IO)
# Note: The diagram says "Unit Earth" but we treat it as DS18B20.
import time
from machine import Pin
import onewire
import ds18x20
from m5stack import lcd
# Port.B on Core2: GPIO pin 36 (analog input) but OneWire uses digital GPIO.
# Actually, Port.B uses pin 36 for analog and pin 26 for digital?
# For DS18B20, we need a digital pin. Let's use pin 26 (G26) which is also on Port.B.
# Check Core2 pinout: Port.B black connector: G36 (ADC) and G26 (GPIO).
# We'll use G26 for OneWire.
ds_pin = Pin(26, Pin.OPEN_DRAIN)
ds_sensor = ds18x20.DS18X20(onewire.OneWire(ds_pin))
# Scan for devices
roms = ds_sensor.scan()
if len(roms) == 0:
lcd.print('No sensor found!', 10, 20)
else:
lcd.print('Found %d sensor(s)' % len(roms), 10, 20)
time.sleep(2)
while True:
ds_sensor.convert_temp()
time.sleep_ms(750)
for rom in roms:
temp = ds_sensor.read_temp(rom)
lcd.clear()
lcd.print('Temperature: %.2f C' % temp, 10, 20)
time.sleep(5)
この作り方はAIが構成から生成したものです(未検証)。通電前に配線とコードをご確認ください。
この構成はAIが実在するM5Stack部品から設計し、ポート互換をサーバで検証したものです。編集・共有できます。
エディタで開く →UnitKit は M5Stack® 製品向けの非公式ツール。作りたいものを書くと、部品リストと配線図が出ます。