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

このシステムは複数の条件に対応しています。フォトレジスタのおかげで、昼夜の光強度を検出し、よりインテリジェントで省エネなシステムを実現できます。
フォトレジスタが周囲の明るさが設定値より低いことを検出すると、LEDが点灯します。逆に、周囲の光強度が設定値より高い場合、フォトレジスタは異なる信号を送信してLEDを消灯させます。
4.2.1 フロー図

4.2.2 フォトレジスタ
説明:
フォトレジスタは、光センサーとも呼ばれ、光信号を電気信号(電圧、電流、抵抗)に変換します。
動作原理:
フォトレジスタを直列接続で回路に配置し、両極に適切な電圧を加えます。光がない場合、抵抗は無限大になり、回路はほぼ開状態になります。しかし、光がある場合、抵抗は減少し、電流は増加します。光強度が十分な場合、短絡に相当します。
次に、ESP32開発ボードでプログラミングによってフォトレジスタの値を読み取ります。

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

パラメータ:
電圧: 3~5V
電流: 0.2mA
電力: 1mW
スペクトルピーク値: 540nm
明抵抗 (10lux): 5~10KR
暗抵抗: 0.5MR
配線図:
フォトレジスタをio34に接続します。
注意: 黄色をS(Signal)に、赤をV(Power)に、黒をGNDに接続します。逆接続しないでください!

テストコード:
シリアルポートを初期化します。

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

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

完全なコード:

テスト結果:
シリアルモニターを開きます。
フォトレジスタによって検出される光が明るいほど、値は大きくなります。

4.2.3 光制御システム
配線図:
フォトレジスタをio34に、LEDをio27に接続します。
注意: 黄色をS(Signal)に、赤をV(Power)に、黒をGNDに接続します。逆接続しないでください!

テストコード:
コードフロー:

決定:
フォトレジスタの値 >= 800の場合、LEDは消灯します。
フォトレジスタの値 =< 800の場合、LEDは点灯します。

完全なコード:

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

この種のシステムは様々な条件に適用できます。フォトレジスタのおかげで、昼夜の光強度を検出し、エネルギーを節約し、システム全体をインテリジェント化できます。
4.2.2 FAQ
Q: フォトレジスタの値が0になりません。
A: 実際の生活では、部屋のすべての電気を消してもわずかな光が存在するため、フォトレジスタの値は0に近づくだけで、0にはなりません。
Q: コードをアップロードした後、部屋が暗くてもLEDが点灯しません。
A: フォトレジスタの決定値を増やしてください。この例では800に設定していますが、1000またはそれ以上の値に調整することができます。
