Using the Unit CO2L ・ 使用 Unit CO2L
M5StackのUnit CO2Lをコントローラーに接続する最小構成。配線とBOMつき。
この構成をエディタで開く・編集する →| 部品 | 役割 | ポート | リンク・価格 |
|---|---|---|---|
| AtomS3 | Controller | grove_i2c, i2c, spi, gpio, usb_c | official page — $15.5 |
| Unit CO2L | unit | grove_i2c | official page — $19.95 |
M5Stack AtomS3とCO2センサーUnit CO2Lを組み合わせて、室内の二酸化炭素濃度を測定するシンプルな装置です。AtomS3の画面にCO2濃度(ppm)を表示します。配線はGrove I2Cケーブル1本で完了し、初心者でも簡単に組み立てられます。
# M5Stack AtomS3 + Unit CO2L (SCD41)
# Wiring: Unit CO2L -> AtomS3 Grove Port (Port.A, I2C)
import time
from machine import Pin, I2C
from m5stack import lcd
# AtomS3 I2C pins: SDA=G2, SCL=G1 (Port.A)
i2c = I2C(0, scl=Pin(1), sda=Pin(2), freq=100000)
# SCD41 I2C address
SCD41_ADDR = 0x62
# Commands
CMD_START_PERIODIC = b'\x21\xb1'
CMD_READ_MEASUREMENT = b'\xec\x05'
def start_measurement():
i2c.writeto(SCD41_ADDR, CMD_START_PERIODIC)
time.sleep(0.1)
def read_co2():
i2c.writeto(SCD41_ADDR, CMD_READ_MEASUREMENT)
time.sleep(0.001)
data = i2c.readfrom(SCD41_ADDR, 9)
co2 = data[0] << 8 | data[1]
return co2
# Initialize sensor
start_measurement()
time.sleep(1) # first measurement ready after ~1s
while True:
try:
co2 = read_co2()
lcd.clear()
lcd.print('CO2: %d ppm' % co2, 10, 20)
except Exception as e:
lcd.print('Error: ' + str(e), 10, 20)
time.sleep(5)
この作り方はAIが構成から生成したものです(未検証)。通電前に配線とコードをご確認ください。
この構成はAIが実在するM5Stack部品から設計し、ポート互換をサーバで検証したものです。編集・共有できます。
エディタで開く →UnitKit は M5Stack® 製品向けの非公式ツール。作りたいものを書くと、部品リストと配線図が出ます。