これはブログです

3DCGとかプログラミングとか

ENV3で環境値を取得する

前置き

技術書典で買ったModableの本のコードを動かしたくてM5Stackを買ったものの、手をつけていなかった。

最近、入門書を買ってセンサーやM5StickCも買った。最終的には値を取得してWebで確認できるようにしたいと思っている。インターネットに繋がないとIoTではないので。

環境値の取得

前段階として、購入したM5StickC環境センサーをつなげて値を取得できるか試してみました。

入門書で使用されているセンサーが古いバージョンで、まんまのコードだと動かないだろうなと思ったらやっぱり動かず。

公式を漁っているとサンプルコードがあった。

結果

入門書のコードとサンプルコードを混ぜたコード。

#include <M5StickC.h>
#include <Wire.h>
#include "UNIT_ENV.h"

SHT3X sht30;
QMP6988 qmp6988;

float tmp = 0.0;
float hum = 0.0;

void setup() {
  // put your setup code here, to run once:
  M5.begin();
  M5.Lcd.setRotation(3);
  M5.Lcd.fillScreen(BLACK);
  M5.Lcd.println("ENV Grove TEST");

  Wire.begin();
  if(!qmp6988.init()){
    M5.Lcd.println("Check wiring");
    while(1);
  }
}

void loop() {
  // put your main code here, to run repeatedly:
  if(sht30.get()==0){
    tmp = sht30.cTemp;
    hum = sht30.humidity;
  }else{
    tmp=9999,hum=9999;
  }
  float pre = qmp6988.calcPressure() / 100;
  M5.Lcd.fillRect(0,20,100,60,BLACK);
  M5.Lcd.setCursor(0, 20);
  M5.Lcd.printf("Temp: %4.1f Humi: %4.1f", tmp, hum);
  M5.Lcd.setCursor(0, 40);
  M5.Lcd.printf("pre: %4.2f", pre);

  delay(100);
}

環境値は取れたので、次はM5Stack(M5StickC)との通信をやってみようかと思っている。

参考

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください