自動明るさ調整フィルター
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自動モードで、正しく変換しましたか?
 - 自動のとき、周辺の明るさによって画面の明るさが適切に変わりましたか?
 - 手動のとき、可変抵抗値を調整することにより、画面の明るさが十分に制御できましたか?
どうですか
面白く作ってみましたか![]()
実際、私たちがスマートフォンの明るさを調節する原理も理解できましたね。
現在、ほとんどはスライダーを活用した手動調節モードを活用していますが、
今後、皆さんが応用してみた例題のように
より様々で便利な明るさ調節フィルターが開発されるかも知れないです。![]()






