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

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

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

  我們都希望我們的家用電器根據(jù)某些條件自動控制,這稱為家庭自動化。今天我們要控制外面基于黑暗的光,當(dāng)外面黑暗時燈會自動打開,當(dāng)它變亮?xí)r關(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由半導(dǎo)體材料制成,使其具有光敏特性。有很多類型,但有一種材料很受歡迎,那就是硫化鎘(CdS)。這些LDR或光敏電阻器的工作原理是“光導(dǎo)率”?,F(xiàn)在這個原理說的是,每當(dāng)光落在LDR表面(在這種情況下)時,元件的電導(dǎo)就會增加,或者換句話說,當(dāng)光落在LDR表面時,LDR的電阻就會下降。LDR電阻降低的這一特性之所以得以實現(xiàn),是因為它是表面使用的半導(dǎo)體材料的特性。

99.JPG

  我們之前使用LDR制作了許多電路,這些電路使用LDR根據(jù)需要使燈光自動化。

  使用Arduino的LDR控制LED的工作

  根據(jù)電路圖,我們使用LDR和100k電阻制作了分壓器電路。分壓器輸出饋送到 Arduino 的模擬引腳。模擬引腳感測電壓并為Arduino提供一些模擬值。模擬值根據(jù)LDR的電阻而變化。因此,當(dāng)光落在LDR上時,它的電阻會降低,因此電壓值會增加。

  光強度 ↓ - 電阻↑ - 模擬引腳電壓↓ -燈亮起

  根據(jù)Arduino代碼,如果模擬值低于700,我們認為它是黑暗的并且燈打開。如果該值高于 700,我們認為它是明亮的,并且燈關(guān)閉。

  代碼說明:

  在這里,我們定義了繼電器、LED 和 LDR 的引腳。

  #define relay 10

  int LED = 9;

  int LDR = A0;

  將 LED 和繼電器設(shè)置為輸出引腳,將 LDR 設(shè)置為輸入引腳。

  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

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

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ù)應(yīng)用-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)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。