【micro:bit】初心者向け 明るさでLEDが変化する簡単なプログラム

【micro:bit】初心者向け 明るさでLEDが変化する簡単なプログラム

購入後、ちょっとずついじっていた

micro:bit

 

by カエレバ

 

 

少しずつできる事をアップしていきますが、
今回は簡単な、明るさによって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は点灯していません。

右は暗い場所、しっかり「✖」に点灯しています。

 

 

まとめ

 

少しプログラミングをしている人なら、
変数の差し込み場所や、表示リセットのことを
考えられると思いますが、

 

「プログラミング」ってなんぞや、という方には
ぜひ、エラーや思っている動作をしないときにこそ

 

「なぜなんだろう?」

「こうしたら、うまく動くかな?」

 

など試行錯誤してほしいです。

 

その繰り返しが
プログラミング必修化の本来の目的である

 

「論理的思考」を育むと思います。

 

他にも、

初心者向け 傾き感知テスト

初心者向け 今日の運勢と相性占いをプログラミング

がありますので、参考にしてください( ´∀` )

 

スポンサードリンク

 

WEB制作・プログラムカテゴリの最新記事