Search Code

Korištenje LDR-a s Arduinom i kontrolnim prekidačem za osvjetljavanje Arduina

Korištenje LDR-a s Arduinom i kontrolnim prekidačem za osvjetljavanje Arduina

U ovom tutorijalu istražićemo kako koristiti otpornik zavistan od svetlosti (LDR) sa Arduinom za kontrolu svetla na osnovu nivoa ambijentalne svetlosti. LDR menja svoju otpornost u zavisnosti od intenziteta svetlosti; tako da se može koristiti za detekciju da li je u okruženju svetlo ili mrak. Kada je svetlost ispod određenog praga, uključićemo izlaznu pin da aktiviramo svetlo.

LDR Illustration and symbol

Primarni sastojci koje ćete trebati uključuju Arduino ploču, otpornik od 10k ohma, LDR i nekoliko skakača. LDR će biti povezan u konfiguraciji razdjelnika napona s otpornikom kako bi se očitala analogna napona, koja će se mijenjati na osnovu intenziteta svjetlosti. Ovu naponsku vrijednost ćemo koristiti za kontrolu LED-a ili drugih izlaznih uređaja.

Za vizuelnu demonstraciju postavke i koda, obavezno pogledajte prateći video (u videu na 0:10).

Objašnjena oprema

Svjetlosno zavistan otpornik (LDR) je vrsta otpornika čija otpornost opada s povećanjem intenziteta incidentne svjetlosti. Obično se koristi u aplikacijama gdje je potrebno pratiti nivoe svjetlosti. U našoj postavci, LDR će se koristiti za detekciju ambijentalnih nivoa svjetlosti i slati odgovarajući analogni napon Arduino.

Arduino će očitati ovaj napon putem jedne od svojih analognh pinova i odlučiti hoće li uključiti ili isključiti povezanu svjetlost na osnovu definiranog praga. 10k ohmski otpornik se koristi u konfiguraciji razdjelnika napona s LDR-om kako bi se stvorio stabilan izlazni napon koji Arduino može očitati.

Tehnički podaci

ProizvođačGenerički
Broj dijelaLDR
Otpornost (svjetlost)100 - 500 Ω
Otpornost (tamna)10 kΩ - 1 MΩ
Radna napetost3.3 V - 5 V
Vrijeme odgovora20 ms (tip.)
PakovanjeProbušni otvor

  • Osigurajte odgovarajuće nivoe napona; ne prelazite 5V.
  • Koristite otpornik s povlačenjem za stabilizaciju očitavanja.
  • Odaberite odgovarajuću vrijednost otpornika (10kΩ) za razdjelnik napona.
  • Razmotrite korištenje kondenzatora za filtriranje šuma ako je potrebno.
  • Držite LDR dalje od direktnih izvora svjetlosti prilikom testiranja.

Uputstva za povezivanje

Wiring LDR with Arduino
Wiring LDR with Arduino

Da biste postavili krug, počnite povezivanjem jedne terminale LDR-a na 3.3V napajanje na Arduinu. Drugi terminal LDR-a će se povezati na jedan kraj otpornika od 10k ohma. Drugi kraj otpornika treba biti povezan na masu.

Zatim, uspostavite vezu između spoja LDR-a i otpornika na analogni ulazni pin, kao što jeA0Ova veza će omogućiti Arduinu da očita napon. Pobrinite se da povežete masu Arduina sa zajedničkom masom vašeg kola kako biste osigurali pravilno funkcionisanje.

Primjeri koda i vodič

Sljedeći kod inicijalizira serijsku komunikaciju i čita analognu vrijednost sa LDR-a. Vrijednost se zatim pretvara u napon i ispisuje na serijskom monitoru.

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

U ovom kodu, varijablaLDRvaluepohranjuje sirovo analogno očitanje sa LDR-a. Napon se izračunava na osnovu maksimalne analogne vrijednosti (1023) i referentnog napona (5V).

Zatim provjeravamo je li ovaj napon ispod praga (3V u ovom slučaju) kako bismo kontrolisali izlaznu pin.

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

Ovde, ako je mereni napon ispod 3 volta, postavljamo izlaznu pin (10) na HIGH, uključujući svetlo; u suprotnom, postavlja se na LOW, isključujući ga. Kontinuirano proveravanje stanja svetla omogućava kontrolu u realnom vremenu na osnovu nivoa ambijentalne svetlosti.

Demonstracija / Šta očekivati

Nakon završetka povezivanja i učitavanja vašeg koda, trebali biste vidjeti kako se očitavanja napona na serijskom monitoru mijenjaju dok varirate intenzitet svjetlosti na LDR-u. Ako pokrijete LDR, napon bi trebao porasti, a kada je izložen svjetlosti, trebao bi opasti. Ovo ponašanje će direktno utjecati na izlaznu pin, koja kontrolira svjetlo.

Budite oprezni s uobičajenim zamkama, kao što su lebdeći ulazi ili pogrešni nivoi napona, koji mogu dovesti do pogrešnih očitavanja (u videu u 12:30).

Video vremenski oznaci

  • 00:00Uvod u LDR
  • 01:30Postavka hardvera
  • 03:45Objašnjenje koda
  • 06:00Pokretanje koda
  • 09:15Savjeti za rješavanje problema

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++
/*
 * Originalni izvor: https://www.arduino.cc/en/Tutorial/ReadAnalogVoltage
 * 
 * Ovaj kod se koristi sa video tutorijalom za RoboJax.com
 * Objavljeno 31. augusta 2017. iz Ajaxa, ON, Kanada.
 * Napisao/uredio A.B.S
 */
/void setup()

{

  Serial.begin(9600); // Serijski namještanje
  pinMode(10, OUTPUT);
}



void loop(){

  int LDRvalue = analogRead(A0);
 // Pretvorite analogno očitanje (koje ide od 0 - 1023) u napon (0 - 5V):
  float voltage = LDRvalue * (5.0 / 1023.0);
 // Odštampajte vrijednost koju ste pročitali:
  Serial.print("Voltage ="); // ispisuje tekst "Voltage ="
  Serial.print(voltage); // ispisuje stvarni napon

 // provjerite da li je napon manji od 3, a zatim postavite pin 10 na high ili ON
  if(voltage < 3 ){
    digitalWrite(10, HIGH);
  }else{
    digitalWrite(10, LOW); // ili ga držite isključenim kada je napon veći od 3
  }
  Serial.println();
  delay(300);

}

Resources & references

No resources yet.

Files📁

Other files