購入後、ちょっとずついじっていた
micro:bit
![]() |
|
少しずつできる事をアップしていきますが、
今回は簡単な、明るさによってLED表示が変化する
プログラムをブロックで組んでみます。
マイクロビットの準備
まずは公式サイトのクイックスタートを読んで
流れを確認してください。
と言っても、プログラムを組んで
それをmicro:bitに読み込ませれば良いので、
流れは単純です。
実際のプログラムは公式に用意されているエディターを使用します。
今回はブロックで作成するので、このまま画面を見てください。
画面左側がシミュレーターです。
組んだプログラムがmicro:bitの実機でどんな感じになるかがわかります。
右側がプログラムを作成する部分。
Scratchなどで見慣れている方もいるかもしれません。
「明るさ」を取得する
micro:bitはデフォルトで感知センサーがあります。
今回明るさで表示変化するので、今の明度を取得する必要があります。
ここでは変数を使用します
ただ、このままでは何を表す変数かわからないので、
変数名を変更します。
下矢印のある変数をクリックすると、
「変数の名前を変更」があるので、クリック。
今回は明るさなので、変数名を「brightness」にしました。
次に入力から「明るさ」を選択します。
設定する場所は、試しに「最初だけ」のところに差し込みます。
↑こんな感じにしてみました。
明度で条件分岐させる
明るさによってLEDの表示が変化させるので、
条件分岐をさせます。
「もしも~なら、〇〇する」というやつです。
明るさの数値が0~255なので、今回は
明るさが100未満になったら、LEDに表示をさせる。
(100以上は表示させない)
とします。
上で行っていることは、
『もしbrightness(明るさの数値が入っている変数)が
100未満なら、LEDで「✖」を表示させる。』
ということです。
それではシミュレーターで確認してみましょう。
動作しない!
実はこれだと正常に動作しません。
なぜなら、「明るさ」を取得しているのが
プログラム開始直後のみだからです。
つまり「brightness」は128のまま、です。
(実機であればその時LEDに当たっている光による)
そこで、変数の取得位置を変更します。
「ずっと」の直下に移動します。
これで、常に「明るさ」の数値を取得するので、
うまくいく( ´∀` )
わけではなく、まだ問題があります。
一度LEDが点灯すると、その後明るい場所に行っても
LEDは点灯しっぱなしになります。
なので、条件分岐に追加します。
青い歯車をクリックすると、「else if」や「else」が表示されます。
今回は、「else」をドラッグして「if」にくっつけます。
そうすると、
「もし なら」の下に「でなければ」と追加されています。
今回は単純にLEDを消すだけでいいので、
「基本」から「表示を消す」をはめます。
これで完了です。
実機で確認
シミュレーターで確認後
(写真右上の「128」の数字は変化させられる)
実機で確認してみましょう。
ちょっとわかりにくいかもしれませんが、
左が明るい場所で撮影、LEDは点灯していません。
右は暗い場所、しっかり「✖」に点灯しています。
まとめ
少しプログラミングをしている人なら、
変数の差し込み場所や、表示リセットのことを
考えられると思いますが、
「プログラミング」ってなんぞや、という方には
ぜひ、エラーや思っている動作をしないときにこそ
「なぜなんだろう?」
「こうしたら、うまく動くかな?」
など試行錯誤してほしいです。
その繰り返しが
プログラミング必修化の本来の目的である
「論理的思考」を育むと思います。
他にも、
がありますので、参考にしてください( ´∀` )