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
|
form Arduino web site
|
|
|
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 පිලිබදව ඔබේ
අදහස්, යෝජනා, චෝදනා තිබේනම් ඒවත් ඉදිරිපත් කරන්න. ඔබට සුබ දවසක්!









hoda wadak malli digatama karagena yanna..........lankaweth mewage adahas thiyana aya innawa dakkahama sathutui
ReplyDeleteThank you...
DeleteHugak pahadili... thnx
ReplyDeleteස්තූතියි ඔබේ අදහසට.
ReplyDelete#define ECHOPIN 3 කියලා දන්නේ නැතුව int ECHOPIN=3; වේනස්ද ?
ReplyDelete