AI05で温湿度・気圧・加速度を読む

このページをAIに渡す

いつものAIに相談

Gemini・その他のAI

このページの情報を添えて、仕組みや使い方、つくりたいものを相談できます。

Geminiを開く

質問文をコピーして、Geminiの入力欄に貼り付けてください。

質問文を確認

目次

小さな基板から温度や湿度の数字が届き、そっと傾けると動きの数字が変わります。AI05 Env Sensorsと公式のread_sensorsサンプルで、そんな最初の実験をしてみましょう。

このサンプルでは、温度・湿度・気圧と3軸加速度(X・Y・Z方向の加速度)を、PCに1秒ごとに表示します。

AI05 Env Sensorsの製品写真。温湿度・気圧と3軸加速度を測るセンサを搭載

AI05 Env Sensorsの製品写真。このリーフに、プログラムを動かすAP03やPC接続用のリーフを組み合わせます。

用意するもの

機材用途
AP03 STM32 MCUサンプルを実行するマイコン
AI05 Env SensorsBME280とLIS2DW12による測定
USBシリアルリーフ、データ転送対応のUSBケーブルPCとの接続
構成に合う電源・固定部品3.3 Vの供給とリーフの固定
PCとPlatformIOビルド・書き込み・シリアル表示

リーフの組み替えは、USB・電池・外部電源を含めてすべての給電を止めてから行います。組み立て・交換とAI05の接続条件を確認してください。AI01 4-SensorsやAX06 Grove&5Vとの併用には信号・アドレスの重複があります。

このサンプルの対象はAP03です。AP03Bなど、他のマイコンでの動作は未確認です。環境が未設定の場合はSTM32のPlatformIO設定から準備します。

サンプルを取得してビルドする

AI05 Env Sensorsリポジトリを取得します。VS Codeではplatformio/read_sensorsフォルダーを開いてください。ターミナルでは次のように実行できます。

git clone https://github.com/leafony/ai05-env-sensors.git
cd ai05-env-sensors
pio run -d platformio/read_sensors

依存ライブラリは付属のplatformio.iniからインストールされます。初回はフレームワークやライブラリの取得に数分かかる場合があります。

AP03へ書き込む

書き込み前に、現在AP03に入っているプログラムが置き換わることを確認してください。

  1. pio device listでUSBシリアルポートを確認します。
  2. 同じポートを使っているシリアルモニターを閉じます。
  3. AP03をProgram側に切り替え、モード表示LEDの点灯を確認してResetを1回押します。
  4. 次のコマンドで書き込みます。
pio run -d platformio/read_sensors -t upload --upload-port /dev/cu.usbserial-XXXX

/dev/cu.usbserial-XXXXは例です。実際に検出したポートへ置き換えてください。WindowsではCOM3などになります。

スイッチの場所と操作順序は、AP03のProgram/Run・Resetの図解を参照してください。向きが違う基板を「上・下」だけで判断しないようにします。

Runに戻して測定値を見る

書き込みの完了を確認したら、Run側に戻してLEDの消灯を確認します。115200 bpsでモニターを開き、Resetを1回押してください。

pio device monitor -d platformio/read_sensors --port /dev/cu.usbserial-XXXX --baud 115200

起動時にBME280 (0x76): readyとLIS2DW12: ready at 0x18が表示され、以降は1秒ごとに値が出れば成功です。SHT40・SGP40は標準では未実装なので、skipped (optional)と表示されます。

実機で確認した出力

2026年11月6日に、AP03と標準構成のAI05をUSBシリアルで接続し、公式サンプル(コミットa6b318f)で確認したログです。サンプルのソースを変更せずにビルドし、書き込んだ内容の照合と、Run側へ戻した後の再起動を確認しました。

AI05 Env Sensors / Leafony AP03
I2C: SDA=PB9, SCL=PB8, 400 kHz; sample interval: 1000 ms
BME280 (0x76): ready
SHT40: not detected at 0x44; skipped (optional)
SGP40: not detected at 0x59; skipped (optional)
LIS2DW12: ready at 0x18

--- uptime=33376 ms ---
BME280: temperature=30.62 C, humidity=34.83 %RH, pressure=1006.17 hPa
LIS2DW12: x=-0.467 g, y=-0.626 g, z=0.622 g

温度は°C、湿度は%RH、気圧はhPa、加速度はgです。静止中の加速度にも重力が含まれます。基板をゆっくり傾けるとX・Y・Zの値が変わることを確認できます。上の数値はその場のセンサ出力例で、精度の比較試験ではありません。

補足:今回はAIと一緒に進めました

今回の確認では、PCを操作できるAIエージェントがサンプルの取得・ビルド・書き込みと測定値の確認を進め、Program/RunとResetは人が操作しました。

AIで同じ作業を行うには、PCのファイルやUSBシリアルを扱えるツールと許可が必要です。通常のチャットだけで接続機器を操作できるわけではありません。AIを使わない場合も、上の手順で同じサンプルを動かせます。

次に試すこと

動作しない場合は、Program/RunとReset、ポートの重複使用、115200 bpsの設定を確認し、センサが検出されない場合は給電・I2C接続・プルアップを確認してください。

リーフ写真
技術資料・サンプル・Q&Aから探せます