プログラミング講座(205) 湿度計の針とCO2リングの色

前回のプログラムから Small Basic のプログラムのみ書き換えました。書き換えたのは、湿度計の針を追加したのと、CO2濃度のリングの色を変えたところです。プログラムは ID PVXC450.000-0 で公開しました。

湿度計の針は Shapes.AddLine で表現しています。この操作で作られる図形(この場合は線分)は Shapes.Rotate で回転すると図形の中心で回ります。針なので端を中心に回転するには標準では、Shapes.Rotate 後に Shapes.Move で移動するしかないのですが、LitDev 拡張機能に、LDShapes.RotateAbout という操作があり、回転の中心を指定できます。今回はこの操作を使いました。

また、快適な湿度(40~60%)を表す円弧を LDFigures.AddArc で描いてみたのですが、うまくいかなかったので、LDShapes.AddPolygon で描画しました。

CO2濃度のリングの色を変えるのも、標準では Shapes.AddEllipse をやり直すしかありませんが、LitDev 拡張機能には LDShapes.PenColour という操作があり、図形のペンの色を後から変更できます。CO2濃度が400ppm以下なら緑、1000ppm以上なら赤、その間はグラデーションで変化するようにしたかったので、LDColours.HSLtoRGB という操作を使って計算しました。

Envmeter020

LitDev 拡張機能を使うとプログラミングが楽になります。ただ、操作やプロパティの種類が増えるので、使いこなすのはちょっと大変そうです。ドキュメントのページでキーワードを検索してみると、ほしい機能が見つかるかもしれません。

残った改善項目は、

  • micro:bit 側からではなく PC 側から計測のタイミングを与える
  • ログを残し、グラフ表示する
  • インフルエンザや熱中症の警告

です。少しずつ進めていこうと思います。

(つづく)

関連項目

コメントを残す