我們都希望我們的家用電器根據(jù)某些條件自動控制,這稱為家庭自動化。今天我們要控制外面基于黑暗的光,,當外面黑暗時燈會自動打開,,當它變亮時關(guān)閉。為此,我們需要一個光傳感器來檢測光線狀況,并需要一些電路來控制光傳感器。這就像黑暗和明亮探測器電路,,但這次我們使用Arduino來更好地控制光線。
在這個電路中,,我們正在制作一個使用帶有Arduino的LDR的光傳感器,,根據(jù)房間或外部區(qū)域的光線條件控制燈泡/ CFL。
所需材料
Arduino UNO
LDR (光相關(guān)電阻)
電阻器 (100k-1;330ohm-1)
指示燈 - 1
繼電器模塊 - 5v
燈泡/節(jié)能燈
連接線
面包板
電路圖
LDR
LDR 是光相關(guān)電阻器,。LDR由半導體材料制成,,使其具有光敏特性。有很多類型,,但有一種材料很受歡迎,,那就是硫化鎘(CdS)。這些LDR或光敏電阻器的工作原理是“光導率”?,F(xiàn)在這個原理說的是,,每當光落在LDR表面(在這種情況下)時,元件的電導就會增加,,或者換句話說,,當光落在LDR表面時,LDR的電阻就會下降,。LDR電阻降低的這一特性之所以得以實現(xiàn),,是因為它是表面使用的半導體材料的特性,。
我們之前使用LDR制作了許多電路,這些電路使用LDR根據(jù)需要使燈光自動化,。
使用Arduino的LDR控制LED的工作
根據(jù)電路圖,,我們使用LDR和100k電阻制作了分壓器電路。分壓器輸出饋送到 Arduino 的模擬引腳,。模擬引腳感測電壓并為Arduino提供一些模擬值。模擬值根據(jù)LDR的電阻而變化,。因此,,當光落在LDR上時,它的電阻會降低,,因此電壓值會增加,。
光強度 ↓ - 電阻↑ - 模擬引腳電壓↓ -燈亮起
根據(jù)Arduino代碼,如果模擬值低于700,,我們認為它是黑暗的并且燈打開,。如果該值高于 700,我們認為它是明亮的,,并且燈關(guān)閉,。
代碼說明:
在這里,我們定義了繼電器,、LED 和 LDR 的引腳,。
#define relay 10
int LED = 9;
int LDR = A0;
將 LED 和繼電器設置為輸出引腳,將 LDR 設置為輸入引腳,。
pinMode(LED, OUTPUT),;
pinMode(relay, OUTPUT);
pinMode(LDR, INPUT),;
通過 Arduino 的 A0 引腳讀取電壓模擬值,。該模擬電壓將根據(jù)LDR的電阻增加或減少。
int LDRValue = analogRead(LDR),;
給黑暗和明亮的條件,。如果該值小于 700,則表示顏色較暗,,LED 或指示燈亮起,。如果該值大于 700,則它很亮,,LED 或燈熄滅,。
if (LDRValue <=700)
{
digitalWrite(LED, HIGH);
digitalWrite(relay, HIGH),;
Serial.println(“It's Dark Outside; Lights status: ON”),;
}
else
{
digitalWrite(LED, LOW),;
digitalWrite(relay, LOW);
Serial.println(“It's Bright Outside; Lights status: OFF”),;
}
使用 LDR 和 Arduino 控制繼電器
我們可以控制家庭燈或任何電氣設備,,而不是根據(jù)亮度和暗度控制LED。我們所要做的就是連接繼電器模塊并設置參數(shù)以根據(jù)光的強度打開和關(guān)閉任何交流電器,。如果該值低于 700,,這意味著它為暗,則繼電器運行并且燈亮起,。如果該值大于 700(表示其白天或明亮),,則繼電器將不運行,指示燈保持熄滅,。 在此處了解有關(guān)繼電器以及如何將交流設備連接到繼電器的更多信息,。
#define relay 10
int LED = 9;
int LDR = A0;
void setup()
{
Serial.begin(9600);
pinMode(LED, OUTPUT),;
pinMode(relay, OUTPUT),;
pinMode(LDR, INPUT);
}
void loop() {
int LDRValue = analogRead(LDR),;
Serial.print(“sensor = ”),;
Serial.print(LDRValue);
if (LDRValue <=700)
{
digitalWrite(LED, HIGH),;
digitalWrite(relay, HIGH),;
Serial.println(“It's Dark Outside; Lights status: ON”);
}
else
{
digitalWrite(LED, LOW),;
digitalWrite(relay, LOW),;
Serial.println(“It's Bright Outside; Lights status: OFF”);
}
}
更多信息可以來這里獲取==>>電子技術(shù)應用-AET<<