fbpx
Arduino Lesson 9: Proximity Sensor
proximity sensor
Arduino පාඩම 9

අසල සංවේදකය (Proximity Sensor)

අසර සංවේදකය මගින් දුර සෙවීම

Components Required

Magicbit
Buy

හැඳින්වීම

මෙම පාඩමේදි අසල සංවේදකය මගින් දුර සෙවීම ඉගෙන ගනිමු. අප TCRT5000 සංවේදකය යොදාගෙන සෙවීමේදී විශේෂ මූලධර්මය යොදා ගනී. එය Pulse Time of Flight (ස්පන්දන පියාසර කාලය) වේ.

පාඩමේ අරමුණ

  • තරංග පරාවර්තන සිද්ධාන්තය ඉගෙන ගැනීම.
  • ස්පන්දන පියාසර කාලය – Pulse Time of Flight මූලධර්මය ඉගෙනගැනීම.
  • භෞතික පරාමිතීන් ඇනලොග් විද්‍යුත් සංඥාවකට හැරවීම.

සිද්ධාන්තය

අසර සංවේදකයක් මගින් භෞතික ස්පර්ශයකින් තොරව අවට ඇති වස්තු හඳුනා ගැනීමේ හැකියාව ඇත. මෙම සංවේදක මගින් විද්‍යුත් චුම්බක ක්ෂේත්‍ර (Electromagnetic Radiation) හෝ කිරණ කදම්බ නිකුත් කරයි. මෙම කදම්බ භෞතික වස්තූන් මත පරාවර්තනය වී නැවත පැමිණේ. මෙහිදී ආලෝකයේ වේගය(299 792 458 m / s) අප දන්නා අතර එම නිසා තරංග කදම්බය යැවීම සහ නැවත ලැබීමට ගත වූ කාලය(මෙහිදී ගත වූ සම්පූර්ණ කාලය දෙකෙන් බෙදිය යුතුයි එමඟින් වස්තුව සඳහා ඇති දුර ලැබේ) මගින් එම තරංගය ගමන් කළ දුර සෙවිය හැක. මෙම මූලධර්මය; ස්පන්දන පියාසර කාලය/තරංග පියාසර කාලය(Pulse Time of Flight(ToF)/Signal Reflection Theory) වැනි නම් වලින් හඳුන්වයි.

මෙහි අප ලබාගන්නා තරංග පියාසර කාලය වෙනත් ඒකක වලට පරිවර්තනය කළ හැක. නිදසුන්, ගතවූ කාලය මත ගමන් කළ දුර mm cm හෝ වෙනත් ඕනෑම දුර මනින ඒකකයකින් ලබාගත හැක.

  • දුර = කාලය * වේගය

Note: මෙම ක්‍රමවේදය භාවිතා කළ හැක්කේ ආලෝකය පරාවර්තනය කරන වස්තූන් හඳුනා ගැනීම සඳහා පමණි. එම නිසා සමහර වීදුරු පෘෂ්ඨයන්/ජලය හඳුනා ගැනීමට නොහැකිය, මේ සඳහා අතිධ්වනික අසර සංවේදක(Ultrasonic Proximity Seonsors) භාවිතාවේ.

ලක්ෂණ:

  • ආදාන වෝල්ටීයතාව 3.3V ~ 5V
  • සංවේදක දුර ප්‍රමාණය 1 mm ~ 25 mm

ක්‍රමවේදය

  1. පළමු පියවර වශයෙන්, අප අසල සංවේදකය Magicbit පුවරුවට සම්බන්ධ කර ගත යුතුයි. ඒ සඳහා, ඔබට Magicbit core Board හි සිව්-පැති සම්බන්ධක වලින් එක් පැත්තක සම්බන්ධකය භාවිතා කළ හැකිය. තවද, ඔබට සම්බන්ධතාවයේ දිග දිගු කිරීමට අවශ්ය නම්, ඔබට Jumper Wires භාවිතා කළ හැකිය.
  2. මෙම පාඩමේදී, සමීප/අසර සංවේදකය Magicbit හර පුවරුවේ ඉහළ වම් සම්බන්ධකයට සම්බන්ධ කර ඇත.
  3. ඉන්පසු ඔබේ පරිගණකයට Magicbit සම්බන්ධ කර කේතය upload කරන්න. අනුක්‍රමික මොනිටරයක්(serial monitor) ​​භාවිතයෙන් ඔබට ප්‍රතිදාන ලබා ගත හැක.

Code

 

const int IRpin = 32;

void setup() {
  Serial.begin(9600);
  pinMode (IRpin, INPUT);
}
void loop() {
  Serial.println(analogRead(IRpin));
  delay(100);
}

 

Outputs: Serial monitor

https://github.com/HarshaWeerasinghe/MagicBit_Sensors/blob/master/resources/TCRT5000/surface_black.png?raw=true

Figure 1: Serial output when faced a black surface

https://github.com/HarshaWeerasinghe/MagicBit_Sensors/blob/master/resources/TCRT5000/surface_white.png?raw=true

Figure 2: Serial output when faced with a white surface

පැහැදිලි කිරීම

Const int: input pin නිර්ණය කිරීම.

Serial.begin(9600): Baud Rate අගය ලබා දීම.

analogRead: වින්‍යාසගත දත්ත පින් එකේ දත්ත ආදානය කියවීම.

Related Posts
Leave a Reply