《電子技術(shù)應用》
您所在的位置:首頁 > 電子元件 > 其他 > 教程:制作一個帶有Arduino的LDR的光傳感器

教程:制作一個帶有Arduino的LDR的光傳感器

2022-11-23
來源:circuitdigest
關(guān)鍵詞: LDR Arduino 光傳感器

  我們都希望我們的家用電器根據(jù)某些條件自動控制,這稱為家庭自動化。今天我們要控制外面基于黑暗的光,,當外面黑暗時燈會自動打開,,當它變亮時關(guān)閉。為此,我們需要一個光傳感器來檢測光線狀況,并需要一些電路來控制光傳感器。這就像黑暗和明亮探測器電路,,但這次我們使用Arduino來更好地控制光線。

  在這個電路中,,我們正在制作一個使用帶有Arduino的LDR的光傳感器,,根據(jù)房間或外部區(qū)域的光線條件控制燈泡/ CFL。

  所需材料

  Arduino UNO

  LDR (光相關(guān)電阻)

  電阻器 (100k-1;330ohm-1)

  指示燈 - 1

  繼電器模塊 - 5v

  燈泡/節(jié)能燈

  連接線

  面包板

  電路圖

poYBAGN3PqyANeGIAABxa2SlDOo730.png

  LDR

  LDR 是光相關(guān)電阻器,。LDR由半導體材料制成,,使其具有光敏特性。有很多類型,,但有一種材料很受歡迎,,那就是硫化鎘(CdS)。這些LDR或光敏電阻器的工作原理是“光導率”?,F(xiàn)在這個原理說的是,,每當光落在LDR表面(在這種情況下)時,元件的電導就會增加,,或者換句話說,,當光落在LDR表面時,LDR的電阻就會下降,。LDR電阻降低的這一特性之所以得以實現(xiàn),,是因為它是表面使用的半導體材料的特性,。

99.JPG

  我們之前使用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 控制繼電器

98.JPG

  我們可以控制家庭燈或任何電氣設備,,而不是根據(jù)亮度和暗度控制LED。我們所要做的就是連接繼電器模塊并設置參數(shù)以根據(jù)光的強度打開和關(guān)閉任何交流電器,。如果該值低于 700,,這意味著它為暗,則繼電器運行并且燈亮起,。如果該值大于 700(表示其白天或明亮),,則繼電器將不運行,指示燈保持熄滅,。 在此處了解有關(guān)繼電器以及如何將交流設備連接到繼電器的更多信息,。

97.JPG

  #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<< 

mmexport1621241704608.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。