【M5Stack】M5StickCとENV II Hatで気温・湿度・気圧計(湿度と気圧の表示)

  • URLをコピーしました!
目次

M5StickC

前回、M5Stack Communityにアカウントを登録してみました。

今回はM5StickC+ENV II Hatで温度、湿度、気圧を測るシリーズの最終回。

これまでに温度の表示ができているので、湿度と気圧を同じように表示していきます。

まずは前回保存したプログラムの読み込みから、始めていきましょう。

保存したプログラムの読み込み

前回、自分のPC上に保存したプログラムをUIFlowで開くには右上の三本線マークをクリック。

少し日本語がおかしいですが、「開いた」をクリック。

ファイル選択ウインドウが開きますので、UIFlowで読み込みたいプログラムファイル(.m5f)を選択し、「アップロード」をクリック。

プログラムが読み込みまれ、表示されます。

表示が大きすぎたり、小さすぎたりする場合は、右下の「+-」マークで調整します。

これでちょうどいいサイズになりました。

湿度と気圧を表示

それでは湿度と気圧を表示していきましょう。

ほとんど温度を表示した時と同じなので、解説は結構割愛していきます。

湿度(Humidity)を表示するためのブロックと気圧(Pressure)を表示するためのブロックをこんな感じで用意してみました。

新たに作成したブロックを温度を表示するブロックと1秒停止のブロックの間に入れます。

とりあえずこれだけですので、試してみましょう。

はい、失敗です。

見ての通り、気温の表示の上に、湿度と気圧の表示が乗っかってしまいました。

また気温と気圧に関しては2行になってしまっています。

ということで修正したプログラムがこちら。

表示するテキストをできるだけ短くすることで、2行になってしまうのを防止しました。

また表示が重なってしまう問題に関しては、「テキスト表示」ブロックのYの値を気温では「0」、湿度では「20」、気圧では「40」とずらしてみました。

試してみると、こんな感じです。

気温、湿度、気圧がそれぞれ1行にまとまっており、さらに重なっていない状態になりました。

いやはやこれだけのプログラミング量で、これだけのものができるというのは、なかなかすごいデバイスだなぁと思います。

Micropythonでは

せっかくなのでMicropythonでのプログラムも見ておきましょう。

from m5stack import *
from m5ui import *
from uiflow import *
lcd.setRotation(1)
import time
import hat

setScreenColor(0x111111)

hat_env2_0 = hat.get(hat.ENV2)

while True:
  lcd.print(((str(((str('Temp:') + str(("%.1f"%((hat_env2_0.temperature))))))) + str(' deg.'))), 0, 0, 0xffffff)
  lcd.print(((str(((str('Humidity:') + str(("%.1f"%((hat_env2_0.humidity))))))) + str('%'))), 0, 20, 0xffffff)
  lcd.print(((str(((str('Pres:') + str(("%.1f"%((hat_env2_0.pressure))))))) + str(' hPa'))), 0, 40, 0xffffff)
  wait(1)
  lcd.clear()
  wait_ms(2)

三つのlcd.print()の中のかっこの数はちょっと気になりますが、かなりスッキリしたプログラムです。

今回はENV II HatというM5StickCに特化したモジュールを使ったので、これだけ簡単にプログラムできたのかもしれませんが、なかなか驚きです。

M5StickCにはGrove端子といった汎用の端子もあるので、いろんなモジュールを繋げて、色々なことに挑戦するのも楽しそうです。

ということでとりあえずM5stickC+ENV II Hatのシリーズはこれにて一旦終了とします。

次回は普通は最初にやるLチカをやってみたいと思います。

ではでは今回はこんな感じで。

¥2,816 (2021/07/05 10:12時点 | Amazon調べ)
よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次