M5Stack

【Blockly】M5Stack Core2 温湿度気圧センサユニットの使い方 【ENVⅢ】

はじめに

M5Stack Core2で「温湿度気圧センサ ENVⅢ」を使う方法を解説します。言語はBlocklyを使います。

ENVⅢは使い方が簡単、値段も手軽で、初心者やIoT入門者の方にオススメのセンサーです。詳細な使い方を画像付きで解説していくので、興味のでた方はぜひ使ってみてください。

環境

この記事は以下の環境で作成しています。

環境 バージョンなど 備考
M5Stack M5Stack Core2
センサ M5Stack用温湿度気圧センサユニット Ver.3(ENV Ⅲ)
開発環境 UIFlow Ver.1.0.18 デスクトップ版です
言語 Blockly

M5StackやUIFlowのセットアップについてはこちらの記事をご覧ください。

ENVⅢを簡単に紹介

M5Stackを開発している会社”公式”の「温度・湿度・気圧」センサーです。センサ付属のケーブルをM5Stackにつなぐだけで使えます。

M5StackとENVⅢの紹介画像
M5Stack Core2とENVⅢ

M5Stack用の開発環境である「UIFlow」を使えば、4つのブロックだけで簡単に温度などを表示するプログラムが作れます。

センサーの穴はLEGOブロック互換なので、カバーや取り付けをLEGOブロックで作れるのもうれしいです。

私はAmazonのスイッチサイエンスさんページから購入しました。同社の売れ筋ランキングでもENVⅢはも上位にランクインしていて、大人気のようです。

¥1,034 (2022/11/09 20:04時点 | Amazon調べ)

M5Stackとの接続

付属のケーブルをENVⅢとM5Stackに差すだけで使えます。コネクタを逆に差す心配もありません。

M5Stack Core2と接続する方法を説明する画像
M5Stack Core2に付属のケーブルを接続

※ ケーブルを接続する際はM5Stack Core2の電源を切ってください。

使用する部品

M5Stack Core2とENVⅢを使用します。工具や半田ごては不要です。

¥1,034 (2022/11/05 23:27時点 | Amazon調べ)

プログラム概要

今回のプログラムの概要は以下の通りです。ENVⅢから温度・湿度・気圧の情報を読み取って、M5Stack Core2のディスプレイに表示します。

  • 温度・湿度・気圧を表示するラベルを配置・設定する
  • 温度・湿度・気圧を取得してラベルに表示する。

実行結果

後述するプログラムを実行すると、M5Stack Core2に以下のように表示されます。

プログラムの実行結果

ブロック全体

ブロックは以下の通りです。詳細な手順は後述する「ブロックの作成手順」で解説します。

プログラム全体を映した画像

ブロックの作成手順

前述したプログラム(ブロック)の設定・作成手順は以下の通りです。

「ラベル」を配置する

以下の手順で、温度や湿度を表示するための「ラベル」を配置します。

UIFlow上の「Lable」をドラッグ&ドロップして、M5Stackの画面(の絵)に貼り付けます。貼り付け後に表示されるラベルの設定画面で、以下のようにラベルを設定します。

ラベルの配置方法を説明する画像
変更箇所 入力内容 項目の説明
Name labelTemp ラベルの名前です
Text Temp M5Stack上の表示するテキストです。
Font Montserrat 30 文字の大きさの設定です

※ 設定画面を消してしまった場合は、配置済みのラベルをクリックしてください。

ラベルを追加する

以下の表と画像を参考に、前述と同じ手順で「ラベル」をあと5つ配置、合計6つのラベルを配置します。

番号 Name Text Font
labelHumd Humd Montserrat 30
lablePressure Pressure Montserrat 30
labelTempValue Value Montserrat 30
labelHumdValue Value Montserrat 30
lablePressureValue Value Montserrat 30

ラベルの追加方法を説明する画像
ラベルの配置イメージ

ENVⅢを追加する

「Units」の「+」マークをクリックします。ENVⅢを選択後、OKボタンをクリックします。

ENVⅢの追加方法を説明する画像

デスクトップ版のUIFlowで「ENVⅢ」が表示されない場合は、最新版にアップデートしてみてください。

私の環境ではVer.1.0.16で表示されず、Ver.1.0.18で表示されるようになりました。

ここまでで設定は完了

ここまでの作業で、プログラム前の設定は完了です。次からプログラム(ブロック)を作成していきます。

ループを作成する

処理を繰り返し実行する「ループ」の処理を作成します。
「イベント」をクリックし、「ずっと」のブロックをドラック&ドロップして、「Setup」のブロックにつなげます。

ループの作成方法を説明する画像一つ目
「ずっと」の選択
ループの作成方法を説明する画像二つ目
「ずっと」の配置

ラベル処理を配置する

ラベルに対して処理をするブロックを配置します。「UI」を選択して「ラベル」をクリックします。

一番上の表示される「ラベル labelTemp にHello M5を表示」をドラック&ドロップして
「ずっと」のブロック内に配置します。

ラベル処理の配置方法を説明する画像 1つ目
ラベル処理ブロックの選択
ラベル処理の配置方法を説明する画像 2つ目
ラベル処理ブロックを「ずっと」に接続

ラベル処理の追加する

前述と同じ手順で、ラベル処理のブロックをあと二つ「ずっと」のブロック内に接続します。

ラベル処理の追加方法を説明する画像

処理対象のラベルを変える

3つのラベル処理ブロックの「ラベル labelTemp」の部分の「▽」をクリックして、ラベルの指定を以下のように変更します。

対象ブロック 設定内容
1段目 labelTempValue
2段目 labelHumdValue
Font labelPressureValue
ラベル名を変更する方法を説明する画像
処理対象のラベル変更

ENVⅢのブロックを配置する

「イベント」と同じ列にある「Units」を選択、「環境」をクリックして、「env_3_0の温度」のブロックを表示します。

ENVⅢのブロックを表示する方法を説明する画像
ENVⅢのブロックの選択

ラベル「labelTempValue」の「Hello M5」の部分に、「温度」のブロックをドラック&ドロップして接続します(上から重ねるイメージです)。

ENVⅢのブロックを配置する方法を説明する画像

湿度・気圧のブロックを接続

前述と同様に「Units」→ 「環境」からENVⅢの湿度・気圧のブロックを、以下場所に接続します。

対象のブロックのラベル 接続するENVⅢのブロック
labelHumdValue env_3_0の湿度
labelPressureValue env_3_0の気圧

湿度、気圧のブロックを配置する方法を説明すす画像

実行してみる

上記を全て設定したら、UIFlowの右下にある「Run」ボタンをクリックします。以下のようにM5Stack Core2に、数値が表示されたらプログラムは完成です。

EnvⅢを(軽く)温める、息を吹きかける等して温度・湿度が変化するか、確認してみてください。

プログラムの実行結果

まとめ

M5Stack用温度・湿度・大気圧センサ ENVⅢの使い方を解説しました。

解説では温度などを表示させるだけでしたが、アイデア次第でハード・ソフトともにまだまだ「遊べる」センサーだと思います。興味の出た方は、ぜひぜひ使ってみてください。

¥1,034 (2022/11/05 23:27時点 | Amazon調べ)

M5Stackが何に使えるか知りたい方は

「ENVⅢをつなげる」以外にもM5Stackでできることはたくさんあります。以下の記事にまとめているので、「M5Stackで何ができるの?」という方はこちらの記事をご覧ください。

応援・要望お待ちしてます

ブログを見ていて「この辺を詳しく知りたい」「このライブラリの使い方を知りたい」「こんなことで困ってる」...etc があれば、コメント・問い合わせ・Twitterで教えてください。質問・ご要望に合わせて解説記事を作ります。

ブログを気に入っていただけたり、「応援してもいいよ」という方がいたら、ブログやSNSでの紹介をお願いします。 あたたかい応援は、中の人の更新の大きな励みになります。

ABOUT ME
えす
現役のソフトウェアエンジニアです。 C++ C# Python を使ってます。10年ちょい設計/開発部門にいましたが、今はQAエンジニアっぽいことをしています。

COMMENT

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