3.3.2 Light Intensity Detector

3.3.2.1 Overview

Img

光度検出器(照度計、Luxメーターとも呼ばれる)は、表面に当たる光の総量(すなわち照度)を測定するための専用機器です。主に光電効果に基づいて動作します。

このプロジェクトでは、光センサーが検出した明るさをOLEDにリアルタイムで表示し、ある値を超えるとボード上のスピーカーが警報を鳴らして注意を促します。

光度検出器は、屋外や道路照明、屋内照明の設計・受け入れ、写真・映像制作、建築や健康管理など、「光」を定量化する必要があるほとんどすべての場面で広く使用されています。

Img

3.3.2.2 Component Knowledge

Img

Microbit Light Sensor

Img

micro:bit ボード自体にはフォトレジスタが搭載されていないため、LEDマトリクスがこの役割を担います。光信号は入力に変換され、電圧の減衰時間がサンプリングされるため、検出される明るさは相対値となります。(Note: 明るさはシリアルポートへ出力され、相対値です。)

Microbit Speaker

Img

Micro: Bit ボードには組み込みのスピーカーがあり、プログラムから音を出すことが容易です。くすくす笑いや挨拶、あくびの音から各種のトーン、音階、ビートまで鳴らすことができます。例えば「喜びの歌」を演奏することも可能です。

Img

3.3.2.3 Required Components

Img

Img

Img

micro:bit V2 main board ×1

micro:bit shield ×1

OLED display ×1

Img

Img

Img

micro USB cable ×1

4 pin wire ×1

battery holder ×1

Img

単三電池(自己準備) ×6

3.3.2.4 Wiring Diagram

⚠️ 配線時はワイヤーの色にご注意ください。

OLED display

wire color

micro:bit shield pin

micro:bit board pin

GND

G

G

VCC

V2

V

SDA

20

P20

SCL

19

P19

Img

3.3.2.5 Code Flow

Img

3.3.2.6 Test Code

⚠️ 「if()…else if()…」の条件におけるしきい値は、実際の状況に応じて変更できます。

Complete code:

Img

Img

Brief explanation:

① OLEDのピクセルを初期化し、OLEDをクリアします。

Img

② OLEDの1行に明るさの値を表示します。

Img

③ 判定文: if()…else if()…else…

検出された明るさが100以上のとき、5×5 LEDマトリクスは Img を表示し、スピーカーはアラーム音1を鳴らします。

Img

検出された明るさが0〜100の間の場合、5×5 LEDマトリクスは Img を表示し、スピーカーはアラーム音2を鳴らします。

Img

それ以外の場合、5×5 LEDマトリクスは何も表示せず、スピーカーは鳴りません。

Img

④ Delay 1000ms(1s)。

Img

3.3.2.7 Test Result

Img

配線を行い、micro USBケーブルで電源を入れた後、十分な電源供給を確保するために外部電源(単三電池6本)を接続してください。

Windows 10 Appでは、ダウンロードをクリックするだけです。ブラウザ版では、“.hex”ファイルをmicro:bitボードに送ってください。

テストコードをmicro:bitボードにアップロードすると、OLEDに光センサーが検出した明るさの値がリアルタイムで表示されます。

検出された明るさが100より大きいとき、5×5 LEDマトリクスは Img を表示し、スピーカーは高レベルの警告としてアラーム音1を鳴らします。検出された明るさが0〜100の間の場合、5×5 LEDマトリクスは Img を表示し、スピーカーは低レベルの警告としてアラーム音2を鳴らします。それ以外の場合、5×5 LEDマトリクスは何も表示せず、スピーカーは鳴りません。

Img

⚠️ 注意: 実験で使用するブロックはこのキットに含まれていません。

(ヒント: 結果が表示されない場合は、micro:bit ボードのリセットボタンを押してください。)

Img