前回のプログラムから 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 という操作を使って計算しました。

LitDev 拡張機能を使うとプログラミングが楽になります。ただ、操作やプロパティの種類が増えるので、使いこなすのはちょっと大変そうです。ドキュメントのページでキーワードを検索してみると、ほしい機能が見つかるかもしれません。
残った改善項目は、
- micro:bit 側からではなく PC 側から計測のタイミングを与える
- ログを残し、グラフ表示する
- インフルエンザや熱中症の警告
です。少しずつ進めていこうと思います。
(つづく)
関連項目

