私たちは皆、いくつかの条件に基づいて家電製品を自動的に制御することを望んでいます。これはホームオートメーションと呼ばれます。今日は、外の暗さに基づいてライトを制御します。ライトは、外が暗いと自動的にオンになり、明るくなるとオフになります。このためには、光の状態を検出するための光センサーと、光センサーを制御するためのいくつかの回路が必要です。暗光検出器回路に似ていますが、今回はArduinoを使用して光をより細かく制御しています。
この回路では、Arduinoを搭載したLDRを使用して、部屋または屋外エリアの光の状態に応じて電球/ CFLを制御する光センサーを作成しています。
必要な材料
- Arduino UNO
- LDR(光依存型レジスター)
- 抵抗器(100k-1; 330ohm-1)
- LED-1
- リレーモジュール-5v
- 電球/ CFL
- 接続線
- ブレッドボード
回路図
LDR
LDRは光依存抵抗器です。LDRは半導体材料でできており、感光性を備えています。多くの種類がありますが、1つの材料が人気があり、硫化カドミウム(CdS)です。これらのLDRまたはフォトレジスタは、「光伝導性」の原理に基づいて動作します。この原理が言うことは、光がLDRの表面に当たると(この場合)、要素のコンダクタンスが増加する、つまり、光がLDRの表面に当たるとLDRの抵抗が低下するということです。LDRの抵抗が減少するこの特性は、表面に使用される半導体材料の特性であるために達成されます。
以前は、LDRを使用して多くの回路を作成しました。これは、LDRを使用して要件に応じてライトを自動化します。
Arduinoを使用したLDR制御LEDの動作
回路図のとおり、LDRと100k抵抗を使用して分圧回路を作成しました。分圧器の出力は、Arduinoのアナログピンに供給されます。アナログピンは電圧を感知し、Arduinoにアナログ値を与えます。アナログ値はLDRの抵抗に応じて変化します。したがって、光がLDRに当たると、その抵抗が減少し、電圧値が増加します。
光の強さ↓-抵抗↑-アナログピンの電圧↓-光が点灯します
Arduinoコードによると、アナログ値が700を下回ると、それは暗いと見なされ、ライトがオンになります。値が700を超えると、明るいと見なされ、ライトがオフになります。
コードの説明:
完全なArduinoコードとデモンストレーションビデオは、このプロジェクトの最後に提供されています。
ここでは、リレー、LED、LDRのピンを定義しています。
#defineリレー10int LED = 9; int LDR = A0;
LEDとリレーを出力ピンとして、LDRを入力ピンとして設定します。
pinMode(LED、OUTPUT); pinMode(リレー、出力); pinMode(LDR、INPUT);
ArduinoのA0ピンを介して電圧アナログ値を読み取ります。このアナログ電圧は、LDRの抵抗に応じて増減します。
int LDRValue = analogRead(LDR);
暗くて明るいための条件を与える。値が700未満の場合、値は暗くなり、LEDまたはライトがオンになります。値が700より大きい場合、値は明るく、LEDまたはライトがオフになります。
if(LDRValue <= 700){digitalWrite(LED、HIGH); digitalWrite(リレー、HIGH); Serial.println( "外は暗い、ライトのステータス:オン"); } else {digitalWrite(LED、LOW); digitalWrite(relay、LOW); Serial.println( "外は明るい、ライトのステータス:オフ"); }
ArduinoでLDRを使用してリレーを制御する
明るさと暗さでLEDを制御する代わりに、家庭用照明や電気機器を制御することができます。リレーモジュールを接続し、光の強さに応じてACアプライアンスのオンとオフを切り替えるパラメータを設定するだけです。値が700を下回ると、つまり暗い場合、リレーが動作し、ライトがオンになります。値が700より大きい場合、つまりその日または明るい場合、リレーは動作せず、ライトはオフのままです。リレーの詳細については、こちらとACアプライアンスをリレーに接続する方法をご覧ください。
また、以下を確認してください。
- リレーとLDRを使用した自動街路灯コントローラー回路
- 自動階段ライト
- ラズベリーパイ非常灯