「 フォトレジスターで光の明るさを検出してみよう。」では、シールド経由でmicro:bitに接続したフォトレジスターで、周囲の光の強度(明暗)を測定し、1602LCD モジュールに測定値を500msごとに表示するプログラムをMakeCodeを使って作成します。
はじめに
「micro:bitとキットでマイコン制御」では、micro:bit V2(以下 micro:bit)と市販のセンサーキットの「KEYESTUDIO 37センサースターターキット micro:bit V2付」(以下 キット)を使ってマイコン制御の基本を実習します。
実習はkeyestudio.comが投稿しているwiki(KS0361(KS0365) keyestudio 37 in 1 Starter Kit for BBC micro:bit)を二次利用して行います。
ライセンス
図やソースコード(ブロック)等、すべての内容はCC BY-SA 4.0ライセンスに従います。
実習準備
実習に必要な機器とキットの部品を準備します。
機器
「micro:bitとキットでマイコン制御:micro:bitをMakeCodeで使ってみよう。」記事で書きましたmicro:bitと、MakeCodeをインストールしたWindows11搭載のパソコンを準備します。
部品
フォトレジスターモジュールを、Micro bit Sensor Shield V2(以下 シールド)にワイヤーで接続して使います。
▶️フォトレジスター モジュール
フォトレジスターは、光の強度で抵抗値が変化する電子部品で、硫化カドミウム=CdS を使うので、「CdSセル」と呼ばれています。
明るい光を受けると抵抗値が減少し、逆に暗いところでは抵抗値が増加します。
フォトレジスター モジュールは変化する抵抗値をアナログ電圧値に変換し、Sピンに接続されているシールドの信号ピンに出力します。
最終的に、アナログ/デジタル変換され「0~1023」の数値で読み取られます。

▶️ジャンパーワイヤー(メスーメス) 20cm
40本が一束になっていますので、接続する本数だけ分けて使います。

配線
配線のためのジャンパーワイヤーは、必要な本数を分けてください。
配線するときは、micro;bitのUSBケーブルを取り外して行ってください。
配線図
フォトレジスターモジュールと1602LCD モジュールをシールドにジャンパーワイヤーで接続します。
1602LCD モジュールの接続については、こちらを参考にしてください。

配線リスト
▶️フォトレジスター モジュール
フォトレジスターモジュール | シールド | 備 考 |
Gピン | G-2ピン | |
Vピン | V1-1ピン | |
Sピン | S-0ピン |
▶️1602LCD モジュール
1602LCD モジュール | シールド | 備 考 |
GNDピン | IIC-Gピン | |
VCCピン | IIC-V2ピン | |
SDAピン | IIC-20ピン | |
SCLピン | IIC-19ピン |
外付けバッテリー
キットに付属されている、バッテリーケース(Premium Battery Case 6-cell AA)に単三電池を6本装着して、シールドに接続し5Vの電圧を供給します。


シールドの電圧選択ジャンパーで、供給電圧を5Vに設定します。

プロジェクト
「 フォトレジスターで光の明るさを検出してみよう。」は、シールド経由でmicro:bitに接続したフォトレジスターで、周囲の光の強度(明暗)を測定し、1602LCD モジュールに測定値を500msごとに表示するプロジェクトです。
1602LCD モジュールのプロジェクトについては、こちらを参考にしてください。
プロジェクトの作成
配線したmicro:bitにUSBケーブルを取り付け、MakeCodeを起動します。
「新しいプロジェクト」をクリックして、プロジェクト(mb023-LightBrightness)を作成します。
プロジェクトはダウンロードしたKEYESTUDIO 37のマニュアルの「2.Makecode Tutorial - Makecode -Project 33_Light Brightness」を参考にしています。
プロジェクトの作成手順やブロックの配置方法については、こちらを参考にしてください。

プロジェクトをmicro:bitへ転送
作成したプロジェクトをmicro:bitに転送して、実行できるようにします。
転送方法はこちらを参考にしてください。
コピーが完了すると、プログラムが起動し、フォトレジスターが周囲の光の強度(明暗)を測定し、1602LCD モジュールに測定値が500msごとに表示されます。
まとめ
シールドに接続したフォトレジスターで、周囲の光の強度(明暗)を測定し、1602LCD モジュールに測定値を500msごとに表示するプロジェクトをMakeCodeを使って作成しました。