ATOM LiteとAndroidをシリアル接続

 M5stack Japan Tour 2025 Spring OSAKAでのLTが展示の後で、そのあと抽選で解散という構成になったので、展示を見てねというLTは効果がないことがわかった。うーん。

 プレゼンの内容を拡張して、シリアルあればAndroidがサポートしてないセンサがつなげられるよ!という話にしよう。

 確認用にATOM LiteとENV IV Unitを使って実証をやってみる。

 GPT4oにスケッチを書いてもらう。ぱっと見問題なさそう。確認もろくにせずに進める。

#include <M5Atom.h>
#include <Wire.h>
#include <Adafruit_SHT4x.h>
#include <Adafruit_BMP280.h>
Adafruit_SHT4x sht4 = Adafruit_SHT4x();

 Adafruit_BMP280 bmp; // I2C接続

void setup() {
M5.begin(true, false, true);
Serial.begin(115200);
Wire.begin(21, 22);
if (!sht4.begin()) {
Serial.println("SHT40 not detected");
} else {
sht4.setPrecision(SHT4X_HIGH_PRECISION);
sht4.setHeater(SHT4X_NO_HEATER);
}
if (!bmp.begin(0x76)) {
Serial.println("BMP280 not detected");
}
}
void loop() {
sensors_event_t temp, humidity;
if (sht4.getEvent(&humidity, &temp)) {
float pressure = bmp.readPressure() / 100.0; // hPa
Serial.print("Temp: ");
Serial.print(temp.temperature);
Serial.print(" C, Humidity: ");
Serial.print(humidity.relative_humidity);
Serial.print(" %, Pressure: ");
Serial.print(pressure);
Serial.println(" hPa");
} else {
Serial.println("SHT40 read failed");
}
delay(1000);
}

 ATOM Liteに書き込む。

 まぁ、当然こうなるよね。

Adafruit_SHT4x.h: No such file or directory

 ライブラリ入れる。

 依存ライブラリも入れる。

 BMP280のライブラリは入ってるんだ... 前に入れたかな?

 ビルドしてシリアルモニタを見る。「SHT40 read failed」だって。

 まぁ、そんなものだよね。

 たぶん、ATOM LiteのGPIOピンが間違っている。

 老眼なので、ラベルが読めないな...

 4oに、「ATOMLiteのGPIOは26,32です。」と指摘する。

 「Wire.begin(26, 32);」に書き換えろや!と言ってきた。

 しかし、出してきたサンプルコードは、前のコードの改善ではなく、なんか温度センサだけのシンプルなコードに後退したので手パッチる。

 書き込んだら値が出てきた。

Temp: 24.35 C, Humidity: 57.30 %, Pressure: 1011.66 hPa
Temp: 24.34 C, Humidity: 57.29 %, Pressure: 1011.70 hPa
Temp: 24.34 C, Humidity: 57.24 %, Pressure: 1011.71 hPa
Temp: 24.34 C, Humidity: 57.23 %, Pressure: 1011.71 hPa
Temp: 24.31 C, Humidity: 57.21 %, Pressure: 1011.74 hPa

 いつも使っているセンサだと、いまは22.4度で49%なんだけど... まぁ、いいや。

 Androidに接続してみる。Pixel 6aで試す。

 作ったアプリのusbserは、バイナリをHEX表示にするやつだったw

 でも、データはきて、アプリ側から取れているようだ。まぁ、通信できているなら、提案として入れても問題なさそうね。そっちの方向で資料書き直し。といっても最後だけだけど。

 念のために、HEXにしないアプリをビルドして確認しておく。

 問題ないね。


オリジナル投稿:
ATOM LiteとAndroidをシリアル接続|kinneko|pixivFANBOX
https://kinneko.fanbox.cc/posts/9768616