Search Code

Користење на LDR со Arduino и контролен прекинувач за осветлување на Arduino

Користење на LDR со Arduino и контролен прекинувач за осветлување на Arduino

Во ова упатство, ќе истражиме како да користиме светлосен зависен отпорник (LDR) со Arduino за да контролираме светло врз основа на нивоата на амбиентално светло. LDR-от ја менува својата отпорност во зависност од интензитетот на светлината; така, може да се користи за да се открие дали е светло или темно во околината. Кога светлината е под одреден праг, ќе вклучиме излезен пин за да активираме светло.

LDR Illustration and symbol

Основните компоненти што ќе ви бидат потребни вклучуваат Arduino плоча, 10k ома отпорник, LDR и неколку жици за поврзување. LDR ќе биде поврзан во конфигурација на делител на напон со отпорникот за да се чита аналогниот напон, кој ќе се менува во зависност од интензитетот на светлината. Овој напон ќе го користиме за контрола на LED или други излезни уреди.

За визуелна демонстрација на поставувањето и кодот, бидете сигурни да го проверите поврзаниот видео (во видеото на 0:10).

Објаснување на хардверот

Светлосензитивниот отпорник (LDR) е тип на отпорник чие отпорување се намалува со зголемување на интензитетот на инцидентната светлина. Често се користи во апликации каде што треба да се следат нивоата на светлина. Во нашата конфигурација, LDR ќе се користи за детектирање на амбиенталните нивоа на светлина и ќе испраќа соодветно аналогно напон на Arduino.

Ардуино ќе ја чита оваа напон преку еден од своите аналогни пинови и ќе одлучи дали да ја вклучи или исклучи поврзаната светлина врз основа на дефиниран праг. Резисторот од 10k ома се користи во конфигурацијата на делител на напон со LDR за да создаде стабилен напонски излез што Ардуино може да го чита.

Технички лист детали

ПроизводителОпштo
Број на деловиLDR
Отпор (светлина)100 - 500 Ω
Отпор (темен)10 кΩ - 1 МΩ
Работна напон3.3 V - 5 V
Време на одговор20 мс (тип.)
ПакетПроходен отвор

  • Осигурајте соодветни нивоа на напон; не надминувајте 5V.
  • Користете отпорник со повлекување за да ги стабилизирате мерењата.
  • Изберете соодветна вредност на отпорникот (10kΩ) за делителот на напон.
  • Размислете за користење на кондензатор за филтрирање на шумот ако е потребно.
  • Држете го LDR подалеку од директни светлосни извори при тестирање.

Инструкции за поврзување

Wiring LDR with Arduino
Wiring LDR with Arduino

За да се постави кругот, започнете со поврзување на еден терминал на LDR до напојувањето од 3.3V на Arduino. Другиот терминал на LDR ќе се поврзе со еден крај на отпорникот од 10k ома. Другиот крај на отпорникот треба да биде поврзан со земјата.

Следно, создадете врска помеѓу спојот на LDR и отпорникот до аналоген влезен пин, како што еA0Оваа врска ќе му овозможи на Arduino да ја чита напонската разлика. Осигурајте се да го поврзете земјиштето на Arduino со заедничкото земјиште на вашиот круг за да се осигура правилно функционирање.

Примери на код и водичка

Следниот коден фрагмент ја иницира серијалната комуникација и чита аналогна вредност од LDR. Вредноста потоа се конвертира во напон и се печати на серијалниот монитор.

int LDRvalue = analogRead(A0); // Read the analog value from LDR
float voltage = LDRvalue * (5.0 / 1023.0); // Convert to voltage
Serial.print("Voltage ="); // Print label
Serial.print(voltage); // Print actual voltage

Во овој код, променливатаLDRvalueчува чистото аналогно читање од LDR. Напонот се пресметува врз основа на максималната аналогна вредност (1023) и референтниот напон (5V).

Следно, проверуваме дали оваа напонска вредност е под праг (3V во овој случај) за да контролираме излезен пин.

if(voltage < 3 ){ 
  digitalWrite(10, HIGH); // Turn on the light
}else{
  digitalWrite(10, LOW); // Turn off the light
}

Тука, ако измереното напонение е под 3 волти, го поставуваме излезниот пин (10) на ВИСОКО, вклучувајќи ја светлината; во спротивно, се поставува на НИСКО, исклучувајќи ја. Постојаното проверување на условите на светлината овозможува контрола во реално време врз основа на нивоата на амбиентна светлина.

Демонстрација / Што да очекувате

По завршувањето на поврзувањето и преносот на вашиот код, треба да видите како мерењата на напон на серијалниот монитор се менуваат кога ја менувате интензитетот на светлината на LDR. Ако го покриете LDR, напонот треба да се зголеми, а кога е изложен на светлина, треба да се намали. Овое однесување директно ќе влијае на излезниот пин, кој ја контролира светлината.

Внимавајте на вообичаените замки, како што се лебдење на влезовите или неправилни нивоа на напон, кои можат да доведат до погрешни мерења (во видеото на 12:30).

Временски ознаки на видеото

  • 00:00Вовед во LDR
  • 01:30Хардверска конфигурација
  • 03:45Објаснување на кодот
  • 06:00Извршување на кодот
  • 09:15Совети за решавање на проблеми

Images

Wiring LDR with Arduino
Wiring LDR with Arduino
An LDR
An LDR
LDR Illustration and symbol
LDR Illustration and symbol
14-Using an LDR with an Arduino and a control switch for a light
Language: C++
//Original source:  https://www.arduino.cc/en/Tutorial/ReadAnalogVoltage

// This code is used with a video tutorial for RoboJax.com
// Published on August 31, 2017 from Ajax, ON, Canada.
// Written/Edited by A.B.S

/void setup()

{

  Serial.begin(9600);          //  setup serial
  pinMode(10, OUTPUT);
}



void loop(){

  int LDRvalue = analogRead(A0);
  // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
  float voltage = LDRvalue * (5.0 / 1023.0);
  // print out the value you read:
  Serial.print("Voltage =");// prints the text "Voltage ="
  Serial.print(voltage);// prints the actual voltage
  
  // check if voltage is less than 3, then set pin 10 to high or ON
  if(voltage < 3 ){
    digitalWrite(10, HIGH); 
  }else{
    digitalWrite(10, LOW); // or keep it OFF when voltage is larger than 3
  }
  Serial.println();
  delay(300);

}

Resources & references

No resources yet.

Files📁

Other files