Grove SHT31温度湿度計をM5Stackにつないでみました。接続はGroveケーブルを使ってM5StackのGroveソケットに挿しました。

プログラムはSeeed StudioのGrove WikiのSHT31のページにあるライブラリとサンプルコードを使いました。
#include <M5Stack.h>
#include <Arduino.h>
#include <Wire.h>
#include "SHT31.h"
SHT31 sht31 = SHT31();
void setup() {
// Initialize the M5Stack object
M5.begin();
Serial.begin(115200);
while(!Serial);
Serial.println("begin...");
sht31.begin();
}
void loop() {
float temp = sht31.getTemperature();
float hum = sht31.getHumidity();
Serial.print("Temp = ");
Serial.print(temp);
Serial.println(" C"); //The unit for Celsius because original arduino don't support speical symbols
Serial.print("Hum = ");
Serial.print(hum);
Serial.println("%");
Serial.println();
M5.Lcd.printf("Temp. = %f Hum. = %f\n", temp, hum);
delay(1000);
}
変更点は、
- 1行目に #include <M5Stack.h> を追加
- 10行目にM5.begin( ); を追加
- 12行目のボーレートを115200に変更
- 29行目にLCDへの表示を追加
だけです。LCD表示はスクロールのコードを書いていないので、画面最後の行まで到達したらそれ以降画面更新はありません。
Groveソケットを使わないで、GPIO端子に接続するのも試してみました。接続ケーブルはGrove-4ピン-ジャンパメスケーブルを使い、接続先は、
黄 → SCL(GPIO22)
白 → SDA(GPIO21)
赤 → 3.3V
黒 → GND
としました。

こちらも問題なく動作しました。
