micro:bitプログラミング(4) 明るさセンサーを使おう!

明るさセンサーを使ってプログラミング

前回からの続きです。
今回はmicro:bitの明るさセンサーを使ってみましょう。

micro:bitの実機には明るさを検知するセンサーがついています。これを使って「一定以上明るく(暗く)なったら音を鳴らす」というプログラミングをやってみましょう💖

シミュレーターでも実機と同じ使い方ができるようになっていますので、今回も無料でできます😊
実機を買うのは、遊び方や使い方を覚えてからでも遅くないですよ🌟

アクセス

いつも通り、ブラウザで下記のアドレスにアクセスします。

https://makecode.microbit.org/#lang=ja

「新規プロジェクト」をクリックしてプロジェクトを開いてください。

明るさを表示する

  1. 新規プロジェクトを開いた状態で表示されている命令ブロック「最初だけ」「ずっと」を削除しましょう。
    消し方が分からない方は第2回目で説明していますので、そちらをご覧ください。
  2. 命令ブロックの「入力」から「ボタン[A▼]が押されたとき」をクリックします。

    ボタン[A▼]が押されたとき

    ボタン[A▼]が押されたとき

  3. 命令ブロックの「基本」から「文字列を表示する”Hello!”」をクリックします。
    文字列を表示する”Hello!”

    文字列を表示する”Hello!”

  4. 命令ブロックの「入力」から「明るさ」をクリックします。
    「明るさ」をクリック

    「明るさ」をクリック

  5. 画面右のスペースに、こんな感じで命令ブロックが並んでいることを確認してください。
    全部のブロック

    全部のブロック

  6. 「明るさ」を「文字列を表示」にドラッグします。
    「明るさ」を「文字列を表示」にドラッグ

    「明るさ」を「文字列を表示」にドラッグ

  7. ↑で作成したブロックを「ボタン[A▼]が押されたとき」にドラッグします。
    ボタン[A▼]が押されたときの中にドラッグ

    ボタン[A▼]が押されたときの中にドラッグ

これで「Aボタンを押したら明るさを検出してLEDに表示する」プログラムの完成です‼️

この状態で画面左のmicro:bitのシミュレーターを見てみましょう。

micro:bitシミュレーター

micro:bitシミュレーター

micro:bitシミュレーターの左上に明るさの表示が増えているのが分かるでしょうか?
これは、ブラウザ上のシミュレーターでは明るさを検出することができないので、ダミーの明るさとして動作するランプです。
マウスでクリックすることで数値を0-255の範囲で変更でき、micro:bitシミュレーターはこの値を明るさとして検出します。

「明るさ」を変更してみよう

「明るさ」を変更してみよう

試しにランプの状態を100にして、micro:bitシミュレーターのAボタンを押してみましょう。
シミュレーターのLEDに「100」と表示されれば成功です😆

明るさを判定しよう

次は明るさを判定して、100よりも明るかったら音を鳴らすように改良しましょう。

判定するには命令ブロックの「論理」を使用します。

「論理」にある「もし[真▼]なら」をドラッグ

「論理」にある「もし[真▼]なら」をドラッグ

命令セットの「論理」にある「もし[真▼]なら」という命令ブロックを使用します。
これは条件(後述)があっていればその中の処理を実行する、というものです。

ここでは明るさが100を超えていたら音を鳴らす、としたいので次のようになります。

  • 条件:明るさが100より大きい
  • 処理:音を鳴らす

条件については、同じ「論理」の中に次のようなものがあります。

「論理」の中のブロック

「論理」の中のブロック

この中から「0 =▼ 0」となっている条件を使用しましょう。
ではやっていきますよ♪

  1. 命名セットの「入力」から「ボタン[A▼]が押されたとき」と「明るさ」を画面に持ってきます。
  2. 命名セットの「論理」から「もし[真▼]なら」と「0 =▼ 0」を画面に持ってきます。
  3. 命名セットの「音楽」から「音を鳴らす(Hz)[真ん中のド] 長さ[1▼拍]」を画面に持ってきます。
  4. 次のようになっていることをご確認ください。
    全部のブロック

    全部のブロック

  5. 次に、「明るさ」を「0 =▼ 0」の左側にドラッグします。
  6. 「明るさ =▼ 0」の0をクリックし、100に変更します。
  7. 「明るさ =▼ 100」の=▼をクリックし、>に変更します。
  8. 「明るさ >▼ 100」をドラッグし、「もし[真▼]なら」の[真▼]の部分に入れます。
  9. 「音を鳴らす(Hz)[真ん中のド] 長さ[1▼拍]」をドラッグし、「もし[明るさ >▼ 100]なら」の中に入れます。
  10. 「もし[明るさ >▼ 100]なら」をドラッグし、「ボタン[A▼]が押されたとき」の中に入れます。
  11. 次のようになっていることをご確認ください。
    全体図

    全体図

ここでmicro:bitシミュレーターのAボタンを押してみましょう。
ダミーのランプが100より大きい明るさになっていた場合、シミュレーターから音が出ます(大きいので注意してください)。
100未満の場合は音が出ないことをご確認ください。

期待通りの動作をすれば成功です!

最後に

駆け足で説明してしまいました。。。
もしかしたら論理のところが分かりにくかったかもしれませんね。。。

次回はもうちょっと「論理」について掘り下げてみましょうか🙄
ここまでご覧いただきましてありがとうございました👍
ではまた!

コメント