明るさセンサーを使ってプログラミング
前回からの続きです。
今回はmicro:bitの明るさセンサーを使ってみましょう。
micro:bitの実機には明るさを検知するセンサーがついています。これを使って「一定以上明るく(暗く)なったら音を鳴らす」というプログラミングをやってみましょう💕
シミュレーターでも実機と同じ使い方ができるようになっていますので、今回も無料でできます🌟
実機を買うのは、遊び方や使い方を覚えてからでも遅くありません😁
アクセス
いつも通り、ブラウザで下記のアドレスにアクセスします。
https://makecode.microbit.org/#lang=ja
「新規プロジェクト」をクリックしてプロジェクトを開いてください。
明るさを表示する
-
新規プロジェクトを開いた状態で表示されている命令ブロック「最初だけ」「ずっと」を削除しましょう。
消し方が分からない方は第2回目で説明していますので、そちらをご覧ください。 -
命令ブロックの「入力」から「ボタン[A▼]が押されたとき」をクリックします。
-
命令ブロックの「基本」から「文字列を表示する”Hello!”」をクリックします。
-
命令ブロックの「入力」から「明るさ」をクリックします。
-
画面右のスペースに、こんな感じで命令ブロックが並んでいることを確認してください。
-
「明るさ」を「文字列を表示」にドラッグします。
-
↑で作成したブロックを「ボタン[A▼]が押されたとき」にドラッグします。
これで「Aボタンを押したら明るさを検出してLEDに表示する」プログラムの完成です‼️
この状態で画面左のmicro:bitのシミュレーターを見てみましょう。
micro:bitシミュレーターの左上に明るさの表示が増えているのが分かるでしょうか?
これは、ブラウザ上のシミュレーターでは明るさを検出することができないので、ダミーの明るさとして動作するランプです。
マウスでクリックすることで数値を0-255の範囲で変更でき、micro:bitシミュレーターはこの値を明るさとして検出します。
試しにランプの状態を100にして、micro:bitシミュレーターのAボタンを押してみましょう。
シミュレーターのLEDに「100」と表示されれば成功です🎊
明るさを判定しよう
次は明るさを判定して、100よりも明るかったら音を鳴らすように改良しましょう。
判定するには命令ブロックの「論理」を使用します。
命令セットの「論理」にある「もし[真▼]なら」という命令ブロックを使用します。
これは条件(後述)があっていればその中の処理を実行する、というものです。
ここでは明るさが100を超えていたら音を鳴らす、としたいので次のようになります。
- 条件:明るさが100より大きい
- 処理:音を鳴らす
条件については、同じ「論理」の中に次のようなものがあります。
この中から「0 =▼ 0」となっている条件を使用しましょう。
ではやっていきますよ♪
- 命名セットの「入力」から「ボタン[A▼]が押されたとき」と「明るさ」を画面に持ってきます。
- 命名セットの「論理」から「もし[真▼]なら」と「0 =▼ 0」を画面に持ってきます。
- 命名セットの「音楽」から「音を鳴らす(Hz)[真ん中のド] 長さ[1▼拍]」を画面に持ってきます。
-
次のようになっていることをご確認ください。
- 次に、「明るさ」を「0 =▼ 0」の左側にドラッグします。
- 「明るさ =▼ 0」の0をクリックし、100に変更します。
- 「明るさ =▼ 100」の=▼をクリックし、>に変更します。
- 「明るさ >▼ 100」をドラッグし、「もし[真▼]なら」の[真▼]の部分に入れます。
- 「音を鳴らす(Hz)[真ん中のド] 長さ[1▼拍]」をドラッグし、「もし[明るさ >▼ 100]なら」の中に入れます。
- 「もし[明るさ >▼ 100]なら」をドラッグし、「ボタン[A▼]が押されたとき」の中に入れます。
-
次のようになっていることをご確認ください。
ここでmicro:bitシミュレーターのAボタンを押してみましょう。
ダミーのランプが100より大きい明るさになっていた場合、シミュレーターから音が出ます(大きいので注意してください)。
100未満の場合は音が出ないことをご確認ください。
期待通りの動作をすれば成功です!
最後に
駆け足で説明してしまいました。。。
もしかしたら論理のところが分かりにくかったかもしれませんね。。。
次回はもうちょっと「論理」について掘り下げてみましょうか?
ここまでご覧いただきましてありがとうございました🤗
ではまた!
コメント