0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何將光敏電阻連接到Arduino板并讀取電壓

科技觀察員 ? 來源:electroschematics ? 作者:electroschematics ? 2024-02-11 10:45 ? 次閱讀

在本快速入門指南中,您將學(xué)習(xí)如何將光敏電阻連接到Arduino板并讀取電壓。您將首先使用串行監(jiān)視器來了解光傳感器的行為方式,然后構(gòu)建一個電路,在天黑時自動打開燈。

當您學(xué)習(xí)Arduino時,這是一個很好的練習(xí)電路。代碼簡單明了,光傳感器連接也很簡單。

所需零件

Arduino Uno的

面包板(和一些面包板電線)

光敏電阻 – 也稱為光敏電阻 (LDR) *

電阻 10 kΩ

電線

將光傳感器連接到Arduino

要將光傳感器連接到Arduino,請將光傳感器與5V和GND之間的電阻串聯(lián)。然后將電阻器和光傳感器之間的中間點連接到Arduino上的模擬輸入引腳。

此設(shè)置適用于光敏電阻、光電二極管和光電晶體管。

使用光敏電阻的Arduino光傳感器電路示例

在面包板上連接Arduino光傳感器

以下是使用面包板和一些電纜將此電路連接到Arduino的方法:

Arduino光傳感器電路連接圖

Arduino光傳感器代碼

此Arduino代碼是讀取電壓tage 從光傳感器(連接到模擬引腳 A0)然后將模擬讀數(shù)值打印到串行監(jiān)視器的示例。

還有一些代碼會嘗試確定它是黑暗的、昏暗的、明亮的、明亮的還是非常明亮的。您必須調(diào)整閾值才能使其與您的傳感器一起使用。

模擬引腳將為您提供一個介于 0 和 1023 之間的值,其中 0 表示 0V,1023 表示可能的最大電壓(通常為 5V)。

與所有Arduino代碼一樣,您有兩個主要函數(shù)setup()和loop():

在 setup() 中,您需要配置串行端口,以便可以讀出值。

在 loop() 中,您需要讀取模擬輸入并在串行端口上打印此值。

void setup() {
  // Setup serial communication at baudrate 9600 for reading the light sensor
  Serial.begin(9600);
}

void loop() {
  // reads the input on analog pin A0
  int lightValue = analogRead(A0);

  // Print out the values to read in the Serial Monitor
  Serial.print("Analog reading (0-1023): ");
  Serial.print(lightValue);

  // Use the value to determine how dark it is 
  // (Try tweaking these to make it more accurate)
  if (lightValue < 10) {
    Serial.println(" - Dark");
  } else if (lightValue < 200) {
    Serial.println(" - Dim");
  } else if (lightValue < 500) {
    Serial.println(" - Light");
  } else if (lightValue < 800) {
    Serial.println(" - Bright");
  } else {
    Serial.println(" - Very bright");
  }

  delay(500);
}

代碼的工作原理

在setup()函數(shù)中,只有一行:這一行設(shè)置了Arduino的串行端口,以便可以將數(shù)據(jù)從Arduino發(fā)送到您的計算機中。Serial.begin(9600);

在 loop() 函數(shù)中,有四個部分:

int lightValue = analogRead(A0);:此行讀取模擬引腳 A0 上的模擬電壓。它返回一個介于 0 和 1023
之間的值,表示引腳上相對于參考電壓的電壓電平(大多數(shù) Arduino 板通常為 5V)。該值存儲在變量 中。lightValue

Serial.println(lightValue);:此行將 lightValue 的值打印到串行監(jiān)視器,以便您可以讀取它。

if (lightValue 《 10) {
。..這些線將使用預(yù)先確定的閾值來確定它是暗的、暗的、亮的、亮的還是非常亮的。您必須調(diào)整閾值以使其適用于您的傳感器。

delay(500);:此行在每次讀取和打印之間增加 500 毫秒的小延遲。此延遲可防止代碼運行過快。這樣可以更輕松地讀取串行監(jiān)視器上的讀數(shù)。

此代碼的最終結(jié)果是,它連續(xù)讀取引腳 A0 處的模擬電壓,將讀數(shù)(0 到 1023
之間的數(shù)字)和亮度值(暗、暗、亮、亮或非常亮)打印到串行監(jiān)視器,并在循環(huán)中重復(fù)該過程。

當您將手放在傳感器上時,它檢測到的光量會發(fā)生變化,您可以在串行監(jiān)視器中觀察變化的值。這是可視化數(shù)據(jù)并在事情未按預(yù)期工作時進行調(diào)試的有用方法。

使用串行監(jiān)視器

若要使用串行監(jiān)視器檢查上述代碼的結(jié)果,請按照下列步驟操作:

使用USB電纜將Arduino板連接到計算機。

使用Arduino IDE將提供的代碼上傳到Arduino板。

通過單擊放大鏡圖標或使用鍵盤快捷鍵 (Windows/Linux) 或 (Mac) 打開串行監(jiān)視器。Ctrl + Shift + MCmd +
Shift + M

將串行監(jiān)視器中的波特率設(shè)置為 9600(或與代碼中的函數(shù)中的值相同)。Serial.begin()

讀取串行監(jiān)視器中的輸出。

將手放在光傳感器上,查看讀數(shù)如何實時變化。

Arduino串口監(jiān)視器

示例:暗激活 LED

下面是一個示例電路,其中發(fā)光二極管 (LED) 在天黑時打開。如果您想控制戶外燈,您可以輕松地用更強大的 LED 替換
LED。您可以在我們的晶體管教程中了解有關(guān)如何做到這一點的更多信息。

以下是在試驗板上連接電路的方法:

Arduino光傳感器電路,在面包板上帶有LED輸出

// Definition of constants - values that will never change
const int LIGHT_SENSOR = A0;
const int LED          = 3;

// Definition of variables - values that can change
int analogValue;

void setup() {
  // Set the LED pin as an output
  pinMode(LED, OUTPUT);
}

void loop() {
  // read the input from the analog pin
  analogValue = analogRead(LIGHT_SENSOR);
  
  // Check if it's above a specific threshold and turn the LED on or off
  if(analogValue < 700)
    digitalWrite(LED, HIGH); // turn on LED
  else
    digitalWrite(LED, LOW);  // turn off LED
}

審核編輯:陳陳

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 光敏電阻
    +關(guān)注

    關(guān)注

    4

    文章

    287

    瀏覽量

    48769
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6453

    瀏覽量

    185927
收藏 人收藏

    評論

    相關(guān)推薦

    arduino讀取光敏電阻數(shù)值

    **arduino讀取光敏電阻數(shù)值**無奈的吐槽這幾天不知道咋回事,我總覺得有很多事情想干,卻不知道從哪里下手,每天一緊張就過去了,不得不感慨一下時間之快,果然時間就是最公平的,不論你身處何地,都會
    發(fā)表于 01-17 07:45

    如何將模塊連接到互聯(lián)網(wǎng)和Arduino?

    如何將模塊連接到互聯(lián)網(wǎng)和 Arduino
    發(fā)表于 06-12 06:12

    光敏電阻的特性和光敏電阻的應(yīng)用

    光敏電阻
    發(fā)表于 08-13 18:33 ?198次下載

    光敏電阻詳細介紹_光敏電阻規(guī)格型號

    光敏電阻是用硫化隔或硒化隔等半導(dǎo)體材料制成的特殊電阻器,其工作原理是基于內(nèi)光電效應(yīng)。光敏電阻器都制成薄片結(jié)構(gòu),以便吸收更多的光能。光敏電阻規(guī)格型號詳細如下所述
    發(fā)表于 01-26 11:42 ?2.5w次閱讀

    光敏電阻的種類

    光敏電阻器按制作材料不同,可分為多晶光敏電阻器和單晶光敏電阻器兩大類。按材料名稱還可分為硫化鎘( CdS)、硒化鎘(CdSe)、硫化鉛(PbS)、硒化鉛(PbSe)、銻化銦( InSb)光敏電
    的頭像 發(fā)表于 07-10 14:08 ?1.1w次閱讀

    光敏電阻特性

    光敏電阻兩端所加電壓和其內(nèi)部通過的電流的關(guān)系曲線,稱為光敏電阻的伏安特性。 一般光敏電阻如硫化鉛、硫化鉈的伏安特性曲線如圖9‐3所示。當光照一定時,其阻值與外加
    的頭像 發(fā)表于 07-10 14:23 ?4w次閱讀
    <b class='flag-5'>光敏電阻</b>特性

    光敏電阻的分類_光敏電阻首要特性

    按半導(dǎo)體資料分:本征型光敏電阻、摻雜型光敏電阻。后者功用安穩(wěn),特性較好,故如今大都選用它。
    的頭像 發(fā)表于 03-22 16:28 ?1.1w次閱讀

    使用Arduino實現(xiàn)光敏電阻實驗的例程免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用Arduino實現(xiàn)光敏電阻實驗的例程免費下載。
    發(fā)表于 12-03 16:30 ?18次下載

    光敏電阻數(shù)值arduino讀取

    **arduino讀取光敏電阻數(shù)值**無奈的吐槽這幾天不知道咋回事,我總覺得有很多事情想干,卻不知道從哪里下手,每天一緊張就過去了,不得不感慨一下時間之快,果然時間就是最公平的,不論你身處何地,都會
    發(fā)表于 01-17 11:47 ?1次下載
    <b class='flag-5'>光敏電阻</b>數(shù)值<b class='flag-5'>arduino</b><b class='flag-5'>讀取</b>

    使用MKR1000/ADAFRUIT模擬GPS讀取光敏電阻

    電子發(fā)燒友網(wǎng)站提供《使用MKR1000/ADAFRUIT模擬GPS讀取光敏電阻.zip》資料免費下載
    發(fā)表于 12-26 10:33 ?0次下載
    使用MKR1000/ADAFRUIT模擬GPS<b class='flag-5'>讀取</b><b class='flag-5'>光敏電阻</b>

    Snap:bit:光敏電阻連接到Micro:bit

    電子發(fā)燒友網(wǎng)站提供《Snap:bit:光敏電阻連接到Micro:bit.zip》資料免費下載
    發(fā)表于 06-19 10:15 ?0次下載
    Snap:bit:<b class='flag-5'>將</b><b class='flag-5'>光敏電阻</b><b class='flag-5'>連接到</b>Micro:bit

    Arduino光敏電阻示例KY-018

    電子發(fā)燒友網(wǎng)站提供《Arduino光敏電阻示例KY-018.zip》資料免費下載
    發(fā)表于 07-10 11:17 ?2次下載
    <b class='flag-5'>Arduino</b><b class='flag-5'>光敏電阻</b>示例KY-018

    如何將按鈕連接到Arduino

    在本快速入門指南中,您將學(xué)習(xí)如何將按鈕連接到Arduino根據(jù)按鈕是否被按下來讀取HIGH
    的頭像 發(fā)表于 02-11 10:52 ?2570次閱讀
    <b class='flag-5'>如何將</b>按鈕<b class='flag-5'>連接到</b><b class='flag-5'>Arduino</b><b class='flag-5'>板</b>

    如何將LED連接到Arduino使其閃爍

     在本快速入門指南中,您將學(xué)習(xí)如何將 LED 連接到 Arduino 使其閃爍。
    的頭像 發(fā)表于 02-11 10:53 ?1584次閱讀
    <b class='flag-5'>如何將</b>LED<b class='flag-5'>連接到</b><b class='flag-5'>Arduino</b><b class='flag-5'>板</b><b class='flag-5'>并</b>使其閃爍

    如何選擇光敏電阻型號 光敏電阻5506與5516的區(qū)別

    不同型號的光敏電阻在不同波長范圍內(nèi)的光照響應(yīng)特性可能會有差異,了解所需的光照響應(yīng)波長范圍,選擇對應(yīng)的光敏電阻型號。
    的頭像 發(fā)表于 01-30 15:17 ?5770次閱讀