0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

M5Cameraで環境センサユニット ver.2(ENV II)を使う

Posted at

概要

M5Cameraで環境センサユニット ver.2(ENV II)が使えたのでメモ。M5CameraとENV IIはGrove端子経由のI2C接続。M5StackのサンプルをベースにI2CのGPIOを明示的に指定すればOK。

ちなみにQiita初投稿。Arduino、M5Stackはもちろんマイコン系、ひいてはMarkdownすら超初心者ゆえ、嘘を書いてる恐れあり。

試した環境

  • M5Camera Version B
  • M5Stack用環境センサユニット ver.2(ENV II)
  • Arduino IDE 1.8.15
  • Arduino core for the ESP stable 1.0.6
  • Adafruit BMP280 Library 2.3.0

手順

サンプルソースを入手する

以下のサイトから、M5StackでENV IIを使うサンプルソースを入手し、Arduino IDEで開く。

  • Adafruit_Sensor.h
  • ENVII_SHT30_BMP280.ino
  • SHT3X.cpp
  • SHT3X.h

以下、個人的な好みでENVII_SHT30_BMP280.inoM5Camera-ENVII.inoと改名しているけど、気にしないように。

M5Stackライブラリ関係をコメントアウトする

M5CameraはM5Stackライブラリとは無関係(だと思う)。よって、M5Stackライブラリ関係の行をコメントアウトする。

以下、一部の例。要は#include <M5Stack.h>M5.*みたいな行をコメントアウト。今回の場合はM5Camera-ENVII.inoのみが対象。

M5Camera-ENVII.ino
//#include <M5Stack.h>
...
void setup() {
//  M5.begin();
//  M5.Power.begin();
  Wire.begin();
...

シリアルの初期化を追加する

M5Stackライブラリ関係をコメントアウトした影響で、シリアルの初期化もされないので、自分で追加する。これを忘れるとシリアルモニターに何も表示されず、結構な量の汗が出る。

M5Camera-ENVII.ino
//  M5.Power.begin();
  Serial.begin(115200);  // 追加する
  Wire.begin();

I2CのGPIOを明示的に指定する

M5CameraのGrove端子のI2Cは、SDAがGPIO:4、SDLがGPIO:13。と、M5Camera本体に老眼には読めない文字で書いてある。多分、やらないといけない。けど、やらずには試していない。

M5Camera-ENVII.ino
void setup() {
  ...
  Serial.begin(115200);
  Wire.begin(4,13);  // 元はWire.begin();
  ...
}

そして何とも行儀の悪い感じがするけど、もう一か所Wire.bigin()が潜んでいる。それがSHT3X.hの中。

SHT3X.h
SHT3X::SHT3X(uint8_t address)
{
  Wire.begin(4,13);  // 元はWire.begin();
  _address=address;
}

ちなみにこの辺り、以下のページを参考にさせてもらった。

動かす

意外にも、これだけで動く。M5Cameraに流し込んで、リセットボタンを押す。

もっとあちこち修正がいるかと思ったけど、そうでもなかった。一番悩んだのはシリアルの初期化。起動してもシリアルモニターに何も表示されず、どっかでパニクってるのかと思って、自分がパニクってた。

最後に

最終的にはブラウザからM5Cameraにアクセスして、静止画や温度を取れるようにしたい。世の中には変わった使い道もあるということで。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?