【マイクロビット】明るさセンサーを使った簡単なプログラムを作ってみよう

マイクロビット(micro:bit)には、
明るさセンサーという機能がついています。

明るさセンサーは、まわりがどの位明るいか
明るさを測ることができます。

今回は明るさセンサーの機能と、
明るさセンサーを使った
簡単なプログラムを紹介します。

 

明るさセンサーとは

明るさセンサーとLED

LED画面には明るさセンサーの機能もあり、
LED画面に当たる光の明るさを計測し、
0(暗い)~255(明るい)の値で表します。

身の回りで使われている例

  • 暗くなったら自動で点灯する照明
  • スマートフォン
    周りの明るさによって画面の明るさを変える機能

明るくなった または 暗くなったことを
キッカケに動くものに使われています。

ゲームのマインクラフトにも
日照センサーという
明るさセンサーと同じような機能をもった
ブロックがありますね。

スポンサーリンク

今回作ったプログラム

光るダイアモンド

今回は、まわりの明るさによって
LEDの表示が変わるプログラムを作りました。

  • まわりが暗くなるほどLEDが明るくなる
  • ある明るさより明るい場合は、
    「小さいダイアモンド」が表示される
  • ある明るさより暗くなると
    「小さいダイアモンド」と
    「ダイアモンド」が交互に表示される

 

MakeCodeエディターでプログラミング

MakeCodeエディターの画面を開いて
実際にプログラミングしてみましょう。

MakeCodeエディターの基本的な使い方は
こちらの記事をご覧ください。

 

プログラム

プログラムの内容は下の画像のようになります。

明るさセンサーを使ったプログラム

変数ブロック

「LEDの明るさ」という
LED画面の表示の明るさを
保管しておく変数を作ります。

変数のカテゴリで「変数を追加する」ボタンを
クリックして作ってください。

変数の値を変える「変数~を~にする」ブロックも
変数のカテゴリにあります。

変数とは、
データを一時的に覚えておくための入れ物のことです。
プログラムで人間が分かるように名前を付けます。

 

明るさブロック

「明るさ」ブロックは
LED画面に当たる光の明るさを取得し、
0(暗い)~255(明るい)の範囲で返します。

「明るさ」ブロックは、
入力カテゴリにあります。

暗くなる(=明るさの値が小さい)ほど
画面の表示を明るくしたいので、
画面の明るさの最大値255から
明るさブロックで取得した
まわりの明るさを引いた値を
変数「LEDの明るさ」に設定します。

計算カテゴリに引き算するブロックがあります。

LEDの明るさを設定するブロック

「明るさを設定する」ブロックは、
LEDの明るさを変更することができます。

真っ暗だと0、
明るくなるほど値が大きくなり
最大値は255(一番明るい)です。

直接数値を指定することもできますし、
今回のように変数などを指定することもできます。

「明るさを設定する」ブロックは、
LEDカテゴリにあります。

もし~ならブロック

「もし~なら」ブロックと
「○○>□□」ブロックなど
値をくらべるブロックは論理のカテゴリに、
「アイコンを表示」ブロックは基本のカテゴリにあります。

もし「LEDの明るさ」が200未満なら、
 アイコン「小さいダイアモンド」を表示
でなければ、
 アイコン「小さいダイアモンド」を表示した後
 アイコン「ダイアモンド」を表示

まわりが明るい時は小さいダイアモンド、
暗い時は小さいダイアモンドとダイアモンドが
交互に表示されます。

今の明るさの値を知るには

「ボタンAが押されたとき」
「明るさ」が表示される命令も作っておくと
現在の「明るさ」が分かるようになります。

明るさの値を表示するプログラム

お部屋の明るさを調べて
判定条件の値(200)を
好きな数値(0~255)にしてみましょう。

「ボタンAが押されたとき」は入力のカテゴリ、
「数を表示」は基本のカテゴリにあります。

シミュレーターで確認

プログラムが完成したら
シミュレーターで思った通りに動くかテストしましょう。

「明るさ」を使っていると、
マイクロビットの左上にコントローラーが出てくるので
丸の中をドラッグして明るさの値を変えてみてください。

シミュレーターで確認

 

実機でテストしてみよう

シミュレーターで確認できたら
マイクロビットに転送して実際に動かしてみましょう。

 

まとめ

入力になる「まわりの明るさ」
出力なるLEDの「表示の明るさ」
ちょっとややこしくなってしまいました。
ゴメンナサイ。

入力と出力を意識しながら
プログラミングしてみてください。

明るさセンサーを使った
ちょっとレベルアップした作品もあるので
よかったらチャレンジしてみてください。

 

 

 

タイトルとURLをコピーしました