以前レビューした「F503i」には光センサーが搭載されており、周囲の明るさを感知することができます。
- 【小学8年生|F503i】光センサーの使い方【光感知】
光センサーはF503iの周囲が明るいかどうかを感知するセンサーです。
光センサーを使えば、部屋が暗くなったらLEDを明るくするようなプログラムを作れますよ。
【小学8年生|F503i】光センサーの使い方【光感知】
F503iには光を感知(光感知)する光センサーがあります。
光センサーを使ってできること
光センサーを使うと下記のようなことができます。
- 光を感知したらLEDをつける
- 部屋が暗くなるとアラームを鳴らす
上記のとおりです。ぜひ、使い方をマスターしましょう!
光センサーの仕様
そもそも光センサーではどういう情報を取得できるのかというと下記の通りです。
- 0:光を感知しない(明るくない)
- 1:光を感知(明るい)
このセンサーでは光を感知するかしないかのどちらかしかわかりません。つまり、ちょっと明るいとか、かなり明るいみたいな明るさの情報はわかりません。
センサー値の取得
右端の「光感知」をタップすると接続しているF503iの光センサーの値が表示されます。
センサー値の表示
ログ機能を使うと取得したセンサーの値をアプリの画面に表示することができます。
プログラムはこんな感じです。「◯をログに出力」ブロックの命令が実行されると左下のlog画面にログが表示されます。
「光感知」の使い方例① ~waitを使う場合~
光センサーの値が暗さ(0)を感知したら動き出すプログラム例です。
光センサーが明るさを感知している間は何もせず、暗さを感知したらLEDを3つとも点灯させます。
実行結果は下記のとおりです。
プログラムのポイントはwait命令を使うことです。wait命令は条件式を満たすまで何もせず、条件式を満たすと続きの処理を実行します。
そして、光センサーで取得できる値は0か1なので、
とすると、光センサーが光を感知しない場合に続きの処理(function1)を実行します。
「光感知」の使い方例② ~ifを使う場合~
次は光センサーの値に応じて動作が変わるプログラム例です。
光センサーが光を感知したらLEDを3つとも点灯させ、光を感知しなくなったらLEDを3つとも消灯させます。
実行結果は下記のとおりです。
プログラムのポイントはifの条件式です。光センサーで取得できる値は0か1なので、
とすると、光センサーが光を感知した場合に◯側の処理(function1)を実行します。
ちなみに、数の代わりに「ON/OFF」も使えます。
実は、アプリの内部的には
- OFF = 0
- ON = 1
なんです。なので、わかりやすい方を使用してください。
「光感知」の使い方例③ ~whileを使う場合~
最後はセンサーの値をチェックし続けるプログラム例です。
使い方例②のプログラムだとプログラムを実行するとすぐに終わってしまうので、繰り返し動作するようにします。
そして実行結果は下記のとおりです。
ポイントはwhileの条件式です。whileは条件式を満たす間は処理を繰り返す命令なので、条件式を
とすると常に条件式を満たし、必ずこのwhileの中身は実行されます。このように無限に処理が繰り返されることを無限ループといいます。
まとめ
本記事のおさらいです。
- 光センサーの値は「0:光を感知しない、1:光を感知する」の2値
- センサー値は右端のセンサー名をタップすると表示される
- ログ機能を使ってもセンサー値を表示できる
- センサー値を活用するにはwait文とif文がある
- while文の条件式を1=1などにすると無限ループになる
上記のとおりです。
他の使い方
他の使い方は下記の記事にまとめています。
それでは、F503iを楽しんでください(^_^)/~