4.2 プロジェクト:光制御システム

このプロジェクトでは、フォトレジスタとLEDを使って光制御システムを構築します。これは、エネルギーを節約し、効率も向上させるインテリジェントな光調整システムです。

img

このシステムは複数の条件に対応しています。フォトレジスタのおかげで、昼夜の光強度を検出し、よりインテリジェントで省エネなシステムを実現できます。

フォトレジスタが周囲の明るさが設定値より低いことを検出すると、LEDが点灯します。逆に、周囲の光強度が設定値より高い場合、フォトレジスタは異なる信号を送信してLEDを消灯させます。


4.2.1 フロー図

image-20230607175802112


4.2.2 フォトレジスタ

説明:

フォトレジスタは、光センサーとも呼ばれ、光信号を電気信号(電圧、電流、抵抗)に変換します。

動作原理:

フォトレジスタを直列接続で回路に配置し、両極に適切な電圧を加えます。光がない場合、抵抗は無限大になり、回路はほぼ開状態になります。しかし、光がある場合、抵抗は減少し、電流は増加します。光強度が十分な場合、短絡に相当します。

次に、ESP32開発ボードでプログラミングによってフォトレジスタの値を読み取ります。

img


回路図:

光がフォトレジスタに当たると、光が強いほど抵抗は小さくなり、より大きなVCC電圧が抵抗を通過します。

img

パラメータ:

  • 電圧: 3~5V

  • 電流: 0.2mA

  • 電力: 1mW

  • スペクトルピーク値: 540nm

  • 明抵抗 (10lux): 5~10KR

  • 暗抵抗: 0.5MR


配線図:

フォトレジスタをio34に接続します。

注意: 黄色をS(Signal)に、赤をV(Power)に、黒をGNDに接続します。逆接続しないでください!

img


テストコード:

  • シリアルポートを初期化します。

img

  • グローバル変数「item」をフォトレジスタの値として定義します。

img

  • item」を読み取った値に設定し、シリアルモニターに表示します。

img

完全なコード:

img


テスト結果:

シリアルモニターを開きます。

フォトレジスタによって検出される光が明るいほど、値は大きくなります。

img


4.2.3 光制御システム

配線図:

フォトレジスタをio34に、LEDをio27に接続します。

注意: 黄色をS(Signal)に、赤をV(Power)に、黒をGNDに接続します。逆接続しないでください!

img


テストコード:

コードフロー:

img

  • 決定:

    • フォトレジスタの値 >= 800の場合、LEDは消灯します。

    • フォトレジスタの値 =< 800の場合、LEDは点灯します。

img

完全なコード:

img

テスト結果:

フォトレジスタの値が800より大きい場合(昼間)、LEDは消灯します。しかし、値が800未満の場合、LEDは自動的に点灯します。

img


この種のシステムは様々な条件に適用できます。フォトレジスタのおかげで、昼夜の光強度を検出し、エネルギーを節約し、システム全体をインテリジェント化できます。


4.2.2 FAQ

Q: フォトレジスタの値が0になりません。

A: 実際の生活では、部屋のすべての電気を消してもわずかな光が存在するため、フォトレジスタの値は0に近づくだけで、0にはなりません。


Q: コードをアップロードした後、部屋が暗くてもLEDが点灯しません。

A: フォトレジスタの決定値を増やしてください。この例では800に設定していますが、1000またはそれ以上の値に調整することができます。

img