n:bit コンパスを作ろう

3.方位磁針2(ドット)

北方向を示す表示を、LEDの点滅にするプログラムです。
さらに、n:bitの黄LEDと赤LEDが、北向きの時に一番明るくします。
ボタンをどれか押すと、方位を表示しますが、「ボタンが押されたとき」のブロックを使わないやり方で、作ってみました。

https://makecode.microbit.org/_iLshhgYL0RXF

n:bitⅡ用ColorLED点灯プログラム

あたらしいn:bitⅡには、スピーカの代わりにColorLED(WS2812B)が付きました

そこで、LEDの代わりにColorLEDを光らせて、方位の変化がわかるプログラムに変更します
次のような光らせ方にしましょう

北方向なら明るい黄色で光らせる
東方向にずれているなら、ずれが小さいほど明るい赤色で光らせる
西方向にずれているなら、ずれが小さいほど明るい緑色で光らせる
南方向なら、ほぼ消えた状態にする

「最初だけ」ブロックは同じものを使いますが、neopixelの設定を追加してください

「アナログで出力する」を使っている「ずっと」ブロックを全て削除し、代わりに以下の「ずっと」ブロックを新しく作ります。

方位を表示する「ずっと」ブロックや、ボタンを操作する「ずっと」ブロックは同じものを使います。

「stripの明るさ」ブロックで、ColorLEDの明るさを決めるのですが、方角(0〜359)をもとに、明るさ(0〜255)に変換する計算をしています。
ちょっと面倒なのが、方角が南180°のときは明るさ0にして、北の0°または359°のときは明るさ255になる計算式を考えるということです。

黄、赤、緑、の色作りは条件分岐の「もし〜なら」ブロックで作ります。
このときの注意として、「もし方角が180なら、黄色を点灯」とプログラムしないことです。
プログラムをしてみるとわかりますが、ほとんど黄色は光らないことになります。
考え方としては、
「もし方角が180±10°くらいなら、黄色を点灯」
とするのが、プログラマーなのです