Friday, July 24, 2015

Ultrasonic Sensor Module with Arduino (Part 2)



Ultrasonic Sensor Module with Arduino (Part 2)

අති ද්වනි තරංග සංවේදකය භාවිතය ( 2 - කොටස)

සුභ දවසක් යාලුවනේ...  අද ලිපියෙන් බලමු කොහොමද Ultrasonic sensor module එක යොදාගෙන නිර්මාණ කරන්නේ කියන එක ගැන.




අද ඔයාලට දැනගන්න පුළුවන් කොහොමද Ultrasonic sensor module එක පාවිච්චි කරලා ඉදිරියෙන් තියෙන බාධකයකට දුර මැනගන්නේ කියල.

මේ සදහා පහත උපාංග අවශ්‍ය වෙනවා. 





Part

Arduino Board (UNO)
with data cable


from eBay 

Ultrasonic Sensor Module


from eBay

Bread Board

from eBay

Jumper Wires


from eBay
Arduino Software



Your PC

from your home



හොදයි. දැන් එහෙනම් වැඩේ පටන්ගමු.

මුලින්ම කරන්න තියෙන්නේ Sensor එක Arduino එකට සම්බන්ද කරන්න. 


Sensor Pin
Arduino Pin
Vcc
Vcc
Trig (Trigger)
Digital Pin 2
Echo
Digital Pin 3
Gnd
Gnd



හරි. දැන් පරිපථය පහත විදියට සම්බන්ද වෙලා තියෙන්න ඕන.


දැන් මොකද්දකරන්න තියෙන්නේ? අපිට අවශ්‍ය මේකෙන් දුර මැනගන්න. එහෙනම් අපි ඒ සදහා code එකක් ලියල එක Arduino එකට Upload කරන්න ඕන.

Coding වැඩේ මේ විදිහට පටන් ගමු. Arduino Software එක open කරලා පහත code එක type කරන්න. Arduino Software නැති අය මෙතැනින් ගිහින් එක අරගන්න.



එහෙනම් මෙන්න code එක.

//code for testing Ultrasonic Module

#define ECHOPIN 3   //Pin to receive echo pulse

#define TRIGPIN 2   //Pin to receive trigger pulse



void setup()

{

  Serial.begin(9600);

  pinMode(ECHOPIN, INPUT);

  pinMode(TRIGPIN, OUTPUT);

}



void loop()

{

  // Start Randing -Generating a trigger of 10us burst

  digitalWrite(TRIGPIN, LOW);

  delayMicroseconds(2);

  digitalWrite(TRIGPIN, HIGH);

  delayMicroseconds(10);

  digitalWrite(TRIGPIN, LOW);

 

 

  //Distance Calculation

 

 

 

  float distance = pulseIn(ECHOPIN, HIGH);

  distance= distance/58;

  Serial.print(distance);

  Serial.println(" cm");

 

  delay(200);

}

පහත රූපයේ දැක්වෙන්නේ  ඔය code එක Arduino software එකේ දිස් වෙන ආකාරය.




හරි. දැන් බලමු කොහොමද ඔය code එක වැඩ කරන්නේ කියල. මෙතැනදී ඔයාට පේනවා ඇති සමහර කොටස් // ලකුණින් පටන්ගෙන තියෙනවා. මේ වගේ කොටස් code එක run වෙනකොට උපයෝගී වෙන්නේ නැහැ. ඒවා අපි ලියන්නේ code එක තේරුම් ගන්න පහසු වෙන්න.

code එකේ 3 සහ 4 වෙනි පේලි වලින් කරන්නේ Arduino එකේ digital pin no 3 සහ Arduino එකේ digital pin no 2, ECHOPIN ලෙස හා TRIGPIN ලෙස හදුන්වා දීම. මේ සදහා යොදාගන්නේ #define කියන Further syntax එක. #define භාවිතා කරන ආකාරය දැන් ඉගෙනගමු.

උදාහරණයක් විදියට හිතමු අපිට අවශ්‍ය වෙනවා Sensor Module  එකේ Echo Pin එක Arduino එකේ digital pin no 5 එකට සම්බන්ද කරන්න.

එතකොට code එකේදී Echo Pin එක define කරන්නේ මේ විදියට.

#define ECHOPIN 5



7 වන පේලියේ සිට 12 පේලිය දක්වා තියෙන්නේ void setup() කොටස. void setup() කොටස එක වරයි ක්‍රියාත්මක වෙන්නේ. 9 වන පේලියෙන් Serial Communication අරඹනවා. 10 සහ 11 පේලි වලින් කරන්නේ ECHOPIN සහ TRIGPIN යොදාගන්නේ INPUT ලෙසද නැත්නම් OUTPUT ලෙසද යන්න හදුන්වාදීමයි. මේ සදහා pinMode() කියන Function එක භාවිතා වෙනවා.



14 පේලියේ සිට 34 පේලිය දක්වා තිබෙන්නේ void loop() කොටස. මෙම කොටස Arduino එකට විදුලිය සපයා තිබෙන තෙක් දිගින් දිගටම තෙක් ක්‍රියාත්මක වෙනවා. code එකේ 17 වන පේලියේ සිට 21 දක්වා කොටස මගින් වෙන්නේ 10 Microsecond Pulse එකක් Ultrasonic Sensor Module එකේ Trigger Pin එකට ලබා දීමයි. Sensor Module එක ක්‍රියාත්මක වෙන්නේ ඔය Pulse එක ලැබුන විටයි. මේ සදහා digitalWrite() සහ delayMicroseconds() කියන Functions භාවිතා වෙනවා.

හරි. දැන් තියෙන්නේ code එකේ අන්තිම සහ වැදගත් ම කොටස. මේකෙදි අපේ අරමුණ වෙන්නේ යම්කිසි දුරක් මැනගනීමයි.

මේ සදහා float කියන Conversion එක භාවිතා කරනවා. pulseIn(ECHOPIN, HIGH) කොටස මගින් වෙන්නේ Echo Pin එක HIGH බවට පත් වූ කාලය ලබාගැනීමයි. එය distance සදහා ආදේශ වෙනවා. (28 පේලිය බලන්න)



නමුත් distance සදහා ලැබී අත්තේ කාලයකි. එම කාලයට අනුරූප දුර සෙන්ටිමීටර් වලින් මැනීම සදහා එම අගය 58න් බෙදනවා.(29 පේලිය)



30 සහ 31 පේලි වලින් කරන්නේ distance සදහා ලැබුණු අගය සහ එම අගයට පසු cm යන කොටස Serial Monitor හි print කිරීමයි.



මෙම code එක නැවත ක්‍රියාත්මක වීමට පෙර මිලිතත්පර 200 ක විරාමයක් තැබීම 33 පේලිය මගින් සිදු වේ.



දැන් තියෙන්නේ project එක test කරන්න.

Arduino එක Data Cable එක මගින් පරිගණකයට සම්බන්ද කරන්න.

Code එක verify කරලා Arduino එකට upload කරන්න.

දැන් Serial Monitor Open කරන්න.

මේ වනතෙක් වැඩ ටික නිවැරදිව කළා නම් පහත රූපයේ පරිදි Sensor එකේ සිට බාදකයට දුර දිස්විය යුතු වේ.




බාදකයේ පිහිටුම වෙනස් කර බලන්න. එවිට මෙම අගය වෙනස් වන බව ඔබට දැකිය හැක.



ගැටළුවක් තිබේනම් Comment එකක් මගින් ඉදිරිපත් කරන්න. ඒ වගේම Blog of Pahan පිලිබදව ඔබේ අදහස්, යෝජනා, චෝදනා තිබේනම් ඒවත් ඉදිරිපත් කරන්න. ඔබට සුබ දවසක්!

5 comments:

  1. hoda wadak malli digatama karagena yanna..........lankaweth mewage adahas thiyana aya innawa dakkahama sathutui

    ReplyDelete
  2. ස්තූතියි ඔබේ අදහසට.

    ReplyDelete
  3. #define ECHOPIN 3 කියලා දන්නේ නැතුව int ECHOPIN=3; වේනස්ද ?

    ReplyDelete