自動明るさ調整フィルター
Auto Brightness Filter
スマートフォンを使う時を考えてみてください。
明るい場所では画面が暗いと全く見えず、
暗い場所では画面を明るくすると、目が悪くなりますよね。
明るさを毎回調節するのは面倒なことですが、
今回は自動的に明るさを調節できる例題を作ってみましょう。
自動明るさ調節フィルター
(*今の例題は、コブルを活用してスクラッチ画面を制御する連携コンテンツです)
用意する物
PC、コブルボード、光センサー
1.ボードに入出力デバイスをつなげる
コブルボードに3ピン連結線を利用して、光センサーを接続してください。
2.PCにコブルボードを接続
「コブルスクラッチ」プログラムを実行した後、
USBケーブルを利用して、PCにコブルボードを接続してください。
3.スプライトを追加1:スマートフォンの画像
ドラマチックな演出のために下記のような「スマートフォン」スプライトを入れて活用してみましょう。
個性的に活用したいスマートフォンの画像をダウンロードしてください。
以後スクラッチプログラムからダウンロードした画像を追加してください。
丸く表示がされている部分(スプライトファイルのアップロード)を
通じてファイルをアップロードしていただければOKです。
4.スプライトを追加2:明るさの調整フィルター
スマートフォンの画面大きさに合わせて長方形状のフィルターを描いてください。
そのフィルターを下のように暗いグレーor黒で塗ってください。
(以降、このフィルターの半透明効果を利用して、スマートフォンの明るさを調整する予定です)
5.コーディング1:自動明るさ調整
(明るさ調整フィルタースプライト)
光センサーが認知する「明るさ」によってその明るさを調整します。
1.スマートフォンと明るさ調節フィルターの最初の位置を調整します。
2.「明るさ」変数を作成し、その初期値を100に設定します。
3.幽霊効果の値を「明るさ」変数の値に設定します。
初期値は「画像効果を無くす」を入れて
以前のすべての画像効果が無くなるようにセッティングします。
4.光センサーの値によって「明るさ」の値を調整します。
光センサーの値が0〜300を間ですので、約2.5程度の数を割った値にします。
また、必ずしもこの値は、「0〜100の間の自然数」である必要がありますので、その値を四捨五入します。
コーディング1完成ショットです。
6.コーディング2:手動明るさ調節
(明るさ調整フィルタースプライト)
また、手動で明るさを調節できるようにコーディングしてみましょう。
手動で明るさを調整することができる方法は大きく2種類。
1)コブルボード内に内蔵されている「可変抵抗」を活用
2)変数スライダーを利用して、直接調節
上記の二つの方法があります。
一応1を中心に活用する方法をご紹介します。
1.「方法」という名前の変数を作成し、
その初期値を「自動」に設定します。
2.スペースキーを押すと、
現在の方法が自動であるとき、手動に、
手動であるとき、自動に変換されます。
3.光センサーの値に基よって明るさを違うようにするコーディングは
方法が「自動」の場合、変更します。
4.手動の場合は、その「明るさ」を可変抵抗の値によって調整します。
特に可変抵抗は、0〜1023であるため、明るさを0〜100に調整しなければならので、
「割る10」のコーディング値を入れて、
その値を自然数になるように「四捨五入」します。
5.明るさが100よりも大きい場合には、
その明るさの値を100に設定します。
このコーディング値は、自動/手動どっちも活用して良いです。
他にもLEDを活用して、その明るさの程度を確認できるようにアップグレードするか、
変数スライダー機能を活用して明るさを調整することができます。
7.明るさの調整フィルター操作
コーディングがすべて終わりましたので、明るさの調整フィルターが正常に動作しているかを確認してみてください。
- 手動vs自動モードで、正しく変換しましたか?
- 自動のとき、周辺の明るさによって画面の明るさが適切に変わりましたか?
- 手動のとき、可変抵抗値を調整することにより、画面の明るさが十分に制御できましたか?
どうですか面白く作ってみましたか
実際、私たちがスマートフォンの明るさを調節する原理も理解できましたね。
現在、ほとんどはスライダーを活用した手動調節モードを活用していますが、
今後、皆さんが応用してみた例題のように
より様々で便利な明るさ調節フィルターが開発されるかも知れないです。