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
としました。
こちらも問題なく動作しました。