Wa Koodu

Lilo LDR pẹlu Arduino ati ẹrọ iṣakoso lati tan ina Arduino kan.

Lilo LDR pẹlu Arduino ati ẹrọ iṣakoso lati tan ina Arduino kan.

Nínú ẹ̀kọ́ yìí, a óò ṣàwárí bí a ṣe lè lo Resistor Tó Gbára lé Ìmọ́lẹ̀ (LDR) pẹ̀lú Arduino láti ṣàkóso ìmọ́lẹ̀ kan nípa àwọn ìpele ìmọ́lẹ̀ àyíká. LDR yìí máa ń yí iye resistance rẹ̀ padà nípa bí ìmọ́lẹ̀ ṣe pọ̀ tó; nítorí náà, a lè lò ó láti mọ̀ bóyá ó mọ́lẹ̀ tàbí ó ṣú ní àyíká kan. Nígbà tí ìmọ́lẹ̀ bá kéré ju ìwọ̀n kan lọ, a óò tan pin ìjàde kan láti mú ìmọ́lẹ̀ ṣiṣẹ́.

LDR Illustration and symbol

Àwọn èròjà pàtàkì tí o óò nílò ní Arduino board kan, resistor 10k ohm, LDR náà, àti àwọn jumper wires. A óò so LDR náà nínú ìtòlẹ́sẹẹsẹ voltage divider pẹ̀lú resistor náà láti ka voltage analog, èyí tí yóò yí padà nípa ìmọ́lẹ̀. A óò lo voltage yìí láti ṣàkóso LED kan tàbí àwọn ẹ̀rọ ìjàde mìíràn.

Fún ìfihàn ojú-ojú ti ìtòlẹ́sẹẹsẹ àti kóòdù náà, rí i pé o wo fídíò tó bá a lọ (nínú fídíò ní 0:10).

Ohun Èlò Tí A Ṣàlàyé

Resistor Tó Gbára lé Ìmọ́lẹ̀ (LDR) jẹ́ resistor kan tí resistance rẹ̀ máa ń dín kù nígbà tí ìmọ́lẹ̀ tó ń kọlù ún bá pọ̀ sí i. A sábà máa ń lò ó nínú àwọn ohun èlò níbi tí wọ́n ti nílò láti mọ ìpele ìmọ́lẹ̀. Nínú ìtòlẹ́sẹẹsẹ wa, a óò lo LDR náà láti mọ àwọn ìpele ìmọ́lẹ̀ àyíká, yóò sì rán voltage analog tó bá a mu sí Arduino.

Arduino yóò ka voltage yìí nípasẹ̀ ọ̀kan nínú àwọn pin analog rẹ̀, yóò sì pinnu bóyá yóò tan tàbí pa ìmọ́lẹ̀ tó so mọ́ ọn nípa ìwọ̀n kan tí a ṣètò. A lo resistor 10k ohm náà nínú ìtòlẹ́sẹẹsẹ voltage divider pẹ̀lú LDR láti ṣẹ̀dá voltage ìjàde tó dúró ṣinṣin tí Arduino lè kà.

Àwọn Àlàyé Datasheet

Olùṣe Generic
Nọ́mbà apá LDR
Resistance (ìmọ́lẹ̀) 100 - 500 Ω
Resistance (òkùnkùn) 10 kΩ - 1 MΩ
Voltage iṣẹ́ 3.3 V - 5 V
Àkókò ìdáhùn 20 ms (typ.)
Àpótí Through-hole

 

  • Rí i pé àwọn voltage tó tọ́; má ṣe kọjá 5V.
  • Lo resistor pull-down kan láti mú àwọn ìkàwé dúró ṣinṣin.
  • Yan iye resistor tó bọ́gbọ́n mu (10kΩ) fún voltage divider náà.
  • Rò nípa lílo capacitor kan fún ìmúkúrò ariwo bí ó bá pọn dandan.
  • Jẹ́ kí LDR náà jìnnà sí àwọn orísun ìmọ́lẹ̀ tààrà nígbà ìdánwò.

Àwọn Ìtọ́ni Wíà

Wiring LDR with Arduino
Wiring LDR with Arduino

Láti ṣètò Circuit náà, bẹ̀rẹ̀ nípa sísopọ̀ òpin ọ̀kan ti LDR sí ìpèsè 3.3V lórí Arduino. Òpin kejì ti LDR yóò sopọ̀ mọ́ òpin ọ̀kan ti resistor 10k ohm. Òpin kejì ti resistor náà yóò sopọ̀ mọ́ ilẹ̀.

Lẹ́yìn náà, ṣẹ̀dá ìsopọ̀ kan láàárín ibi tí LDR àti resistor ti pàdé sí pin input analog kan, bíi A0. Ìsopọ̀ yìí yóò jẹ́ kí Arduino kà voltage náà. Rí i pé o sopọ̀ ilẹ̀ Arduino sí ilẹ̀ àpapọ̀ ti Circuit rẹ láti rí i pé ó ṣiṣẹ́ dáradára.

Àwọn Àpẹẹrẹ Kóòdù & Ìtọ́sọ́nà

Kóòdù tó tẹ̀le yìí bẹ̀rẹ̀ ìbánisọ̀rọ̀ serial, ó sì ka iye analog láti LDR. A óò yí iye náà padà sí voltage, a óò sì tẹ́ ẹ jáde sí àbójútó serial.

int LDRvalue = analogRead(A0); // Ka iye analog láti LDR
float voltage = LDRvalue * (5.0 / 1023.0); // Yí i padà sí voltage
Serial.print("Voltage ="); // Tẹ àmì ìdámọ̀ jáde
Serial.print(voltage); // Tẹ voltage gangan jáde

Nínú kóòdù yìí, àwọn oniyipada LDRvalue máa ń fi ìkàwé analog àìráwọ́ tí a kà láti LDR pamọ́. A ṣe ìṣirò voltage náà nípa ìwọ̀n analog tó pọ̀ jù (1023) àti ìtọ́kasí voltage (5V).

Lẹ́yìn náà, a ṣàyẹ̀wò bóyá voltage yìí kéré ju ìwọ̀n kan lọ (3V nínú ọ̀ràn yìí) láti ṣàkóso pin ìjàde kan.

if(voltage < 3 ){ 
  digitalWrite(10, HIGH); // Tan ìmọ́lẹ̀ náà
}else{
  digitalWrite(10, LOW); // Pa ìmọ́lẹ̀ náà
}

Níhìn-ín, bí voltage tí a wọn bá kéré ju 3 volts lọ, a ṣeto pin ìjàde (10) sí HIGH, tí a óò fi tan ìmọ́lẹ̀ náà; bí bẹ́ẹ̀ kọ́, a ṣetó ọ sí LOW, tí a óò fi pa á. Ṣíṣàyẹ̀wò ipo ìmọ́lẹ̀ nígbà gbogbo jẹ́ kí ìṣàkóso ní àkókò gidi ṣiṣẹ́ nípa àwọn ìpele ìmọ́lẹ̀ àyíká.

Ìfihàn / Ohun Tí O Lè Retí

Nígbà tí o bá parí wíà náà, tí o sì gbé kóòdù rẹ sí orí ẹ̀rọ, o yẹ kí o rí àwọn ìkàwé voltage lórí àbójútó serial tí wọ́n ń yí padà bí o ṣe ń yí ìmọ́lẹ̀ padà lórí LDR. Bí o bá bo LDR náà mọ́lẹ̀, voltage yóò pọ̀ sí i, nígbà tí a bá sì fàyè sí ìmọ́lẹ̀, yóò dín kù. Ìwà yìí yóò ní ipa tààrà lórí pin ìjàde, èyí tí ń ṣàkóso ìmọ́lẹ̀ náà.

Ṣọ́ra fún àwọn ìdìpọ̀ tí a sábà máa ń rí, bíi inputs tí ń fòfò tàbí àwọn ìpele voltage tí kò tọ́, èyí tí lè yọrí sí àwọn ìkàwé tí kò tọ́ (nínú fídíò ní 12:30).

Àwọn Àsìkò Fídíò

  • 00:00 Ìfihàn sí LDR
  • 01:30 Ìtòlẹ́sẹẹsẹ ohun èlò
  • 03:45 Ìtọ́sọ́nà kóòdù
  • 06:00 Ṣíṣe kóòdù náà
  • 09:15 Àwọn ìsọ́nilọ́yẹ̀ ìmúkúrò ìṣòro

Aworan

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
Ede: 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);

}

Orisun & itọkasi

Ko si awọn orisun sibẹsibẹ.

Fáìlìs📁

Awọn faili miiran