Arduino පාඩම 4 - Variable භාවිතා කරන හැටි.

2:40 PM

මෙවර Arduino ලිපියෙන් මම ඉදිරිපත් කරන්නේ Arduino වලදී Variable භාවිතා කරන ආකාරය හා variable යොදාගෙන pin declaration කරන ආකාරයයි. Arduino වලින් දක්ෂ විදිහට ප්‍රොග්‍රෑම් කරන්න ආස ඕනෑම කෙනෙක් අනිවාර්යයෙන් ඉගෙන ගන්න ඕන දෙයක් තමයි Variable කියන්නේ. Variable යොදාගෙන වැඩසටහන් පහසුවෙන් ලියා ගන්න පුළුවන් ඒ වගේම අනවශ්‍ය විදිහට Variable යොදාගත්තොත් එය වැඩසටහන මන්දගාමී වීමට බලපාන්න පුලුවන්. ඒ නිසා ප්‍රොග්‍රෑම් කරන ඕනෑම කෙනෙක් Variable ගැන ඉගෙන ගන්නම ඕනේ. මේ ගැන ඉගෙන ගන්න කලින් අපි Variable එකක් කියන්නේ මොකක්ද කියලා හදුනාගනිමු.

පසුගිය පාඩම් සියල්ල  මෙතනින් බලන්න.

Variable එකක්  කියන්නේ මොකක්ද ?

අපි Arduino වලදී Variable ගැන කතාකලත් Variable කියන්නේ ඉලෙක්ට්‍රොනික් වලට සම්බන්ධ දෙයක් නෙමෙයි. නමුත් ඒක Arduino වලට සම්බන්ධ වෙන්නේ කෝඩ් ලිවීමේදී යි. සරලවම Variable කියන්නේ මොකක්ද කියලා කිව්වොත් Arduino ප්‍රෝග්‍රෑම් එකක් ධාවනය වන විට Arduino තුල තියෙන RAM එකෙන් කොටසක් ඒ සඳහා යොදා ගන්නවා. Variable එකක් කියන්නේ ප්‍රෝග්‍රෑම් එකට පිටින් ගිහින් Arduino තුල තියෙන RAM එක තුල තාවකාලිකව දත්ත තැන්පත් කරන ක්‍රමවේදයක්. Variable සෑම පරිගණක භාෂාවකම භාවිතා උනත් භාෂාවෙන් භාෂාවට ඒවා නම් කරන හැටි තරමක් වෙනස්. Arduino තුලදී භාවිතා වෙන්නේ C++ භාෂාව නිසා මේ ලිපියෙන් මම ඉදිරිපත් කරන්නේ C++ භාෂාවේ තියෙන Arduino වලට අදාල Variable පමණයි.


Variable වර්ග.

Variable තුලදී යොදාගත හැකි අගය පරාසය, දත්ත වර්ගය, අනුලක්ෂණ හෙවත් characters ප්‍රමාණය හා RAM එකෙන් අත් කරගන්නා ඉඩ ප්‍රමාණය අනුව Variable වර්ග කිහිපයක් තියෙනවා. පහල රූපයේ දැක්වෙන්නේ Variable පිළිබඳ විස්තරයි.



Variable භාවිතයේදී සැලකිලිමත් විය යුතු කරුනු.

  • Variable තුල ගබඩා කිරීමට බලාපොරොත්තුවෙන දත්ත වර්ගය හා ප්‍රමාණය අනුව Data type  එක තෝරා ගත යුතුය.
  • සෑම විටම RAM එක අඩුවෙන් භාවිතා වන Data type එකක් තෝරාගත යුතුයි. එවිට ප්‍රෝග්‍රෑම් එක සුමටව ධාවනය කල හැක.
  • සෑමවිටම අඩු Variable ගණනකින් ප්‍රෝග්‍රෑම් එක ලිවීමට වගබලා ගත යුතුය.
  • එකම ප්‍රොජෙක්ට් එකතුල එකම නමින් වේරියබල් දෙකක් සැකසිය නොහැක.
  • වේරියබල් එකෙහි නම ආරම්භ කළ යුත්තේ අකුරකිනි, අවශ්‍ය නම නෙමේ මැද කොටස සදහා ඉලක්කම් භාවිතා කලහැක.
  • වේරියබල් එකක වචන දෙකක් අතර හිස් ඉඩක් නොතැබිය යුතුය. එසේ අවශ්‍ය නම් ඒවෙනුවට අන්ඩර්ස්කෝ ලකුණ ( _ ) භාවිතා කලහැක.
  • වේරියබල් එක සදහා නමක් ලබා දීමේදී %, &, !, #, $ යන සලකුණු භාවිතා කළ නොහැක.
  •  වේරියබල් එකක නමක් සදහා භාවිතා කලහැකි උපරිම අකුරු ගණන 255 කි.
  •  ගණිත කර්ම සදහා boolean, String, array වැනි data types භාවිතා කල නොහැක.
  • දශමස්ථාන සහිත අගයන් භාවිතා කරන විට ඒ සඳහා float, double වැනි data types භාවිතා කල යුතුය.



Variable නම් කිරීම.

ඕනෑම Variable එකක් නම් කීරීමේ පොදු  අකෘතිය පහත පරිදි වේ.

[ඩේටා ටයිප් එක] [Variable එකෙහි නම];

උදාහරණ :

int Age;
boolean pass;
String MyName;
double resault;

Variable තුලට Data input කිරීම.

ඕනෑම Variable එකක් තුලට අවස්ථා දෙකකදී Data input කිරීම සිදුකල හැක. එනම් Variable එක සාදන අවස්ථාවේදී හා වෙනත් අවස්ථාවකදී. මේ සඳහා උදාහරණ ලෙස ඉහත සැකසූ Variable තුලට දත්ත  ඇතුලත් කරන ආකාරය බලමු.

සාදන අවස්ථාවේදී-----

int Age = 27;
boolean pass = true;
String MyName = "Arduino";
double resault = 85.78;

වෙනත් අවස්ථාවකදී------


Age = 27;
pass = true;
MyName = "Arduino";
resault = 85.78;

Data Read කිරීම.

මේ සදහා ඉහත සාදාගත් MyName නම් Variable එකතුල ඇති දත්තය Serial monitor එකතුල ප්‍රින්ට් කරන ආකරයේ වැඩසටහනක් සාදමු.
String MyName;

void setup() {
Serial.begin(9600);
MyName = "Arduino";
}

void loop() {
Serial.println(MyName);
}
මෙහිදී Arduino යන්න ප්‍රින්ට් කිරීමට MyName නම් Variable එක yodhaagena යොදාගෙන ඇත.

Arduino pin declaration (පින් නම් කිරීම).

Arduino තුලදී pin declaration කිරීම ප්‍රධාන වශයෙන් ක්‍රම 3 ක් තියෙනවා, එනම් Direct declaration, Variable declaration හා #define tag වශයෙනුයි.

Direct declaration

මෙහිදී කෙලින්ම පින් එකෙහි අංකය යොදා ගෙන නම් කිරිම සිදුකරයි. අනෙක් ආකාර දෙකට සාපේක්ෂව මෙහි ඇති අවාසිය වන්නේ වැඩි වාරගණනක් එකම පින් අංකය විවිධ තැන් වල යෙදී  ඇති විට යම් හෙයකින් පින් අංකයේ වෙනසක් සිදු කිරීමට අවශ්‍ය වුවහොත් එම සෑම තැනක්ම එකින් එක වෙනස්  කල යුතු වීමයි.
උදාහරණයක් ලෙස LED blink ප්‍රෝග්‍රෑම් එකක් සලකමු.
void setup() {.
  pinMode(13, OUTPUT);
}
void loop() {
  digitalWrite(13, HIGH);  
  delay(1000);              
  digitalWrite(13, LOW);    
  delay(1000);              
}
මෙහි 13 වෙනි පින් එක වෙනුවට 12 පින් එක භාවිතා කල යුතුයැයි සිතන්න. එවිට 13 ලෙස යෙදී ඇති සෑම තැනක්ම 12 ලෙස වෙන් වෙන්ව ලිවිය  යුතුය. මෙය කරදර කාරී වැඩකි.

#define tag

මෙහිදී සිදුකරනුයේ පින් අංකය වෙනුවට වෙනත් නමක් යොදාගෙන එම නම පින් අංකය යෙදිය යුතු ස්ථානවලට ආදේශ කිරීමයි. නමුත් මෙහි  ඇති අවාසිය වන්නේ define  tag එක යොදන අවස්ථාවේදී පින් අංකය හදුන්වා දිය යුතූ අතර වෙනත් ස්ථානයකදී පින් අංකය වෙනස් කල නොහැකි වීමයි.
මේ සඳහා ඉහත උදාහරණයම සලකමු

#define ledpin 13
void setup() {
  pinMode(ledpin, OUTPUT);
}
void loop() {
  digitalWrite(ledpin, HIGH);  
  delay(1000);              
  digitalWrite(ledpin, LOW);    
  delay(1000);              
}
මෙහි 13 වෙනි පින් එක වෙනුවට 12 පින් එක භාවිතා කල යුතුයැයි සිතන්න. එවිට කලයුත්තේ  #define ledpin 13 වෙනුවට #define ledpin 12 ලෙස ලිවීමයි.

Variable declaration

මෙහිදීද  සිදුකරනුයේ පින් අංකය වෙනුවට වෙනත් නමක් යොදාගෙන එම නම පින් අංකය යෙදිය යුතු ස්ථානවලට ආදේශ කිරීමයි. නමුත් මෙහිදී #define tag හි මෙන් නොව Variable එක  declaration කරන අවස්ථාවේදී මෙන්ම වෙනත් අවස්ථාවකදීද පින් අංකය වෙනස් කිරීමට හැකි වීමයි.
මේ සඳහාද  ඉහත උදාහරණයම සලකමු

char ledpin;
void setup() {
ledpin=13;
  pinMode(ledpin, OUTPUT);
}
void loop() {
  digitalWrite(ledpin, HIGH);  
  delay(1000);              
  digitalWrite(ledpin, LOW);    
  delay(1000);              
}

මෙහි 13 වෙනි පින් එක වෙනුවට 12 පින් එක භාවිතා කල යුතුයැයි සිතන්න. එවිට කලයුත්තේ  ledpin=13; වෙනුවට ledpin=12; ලෙස ලිවීමයි. මෙයද පහසු ආකාරයකි.
නැවතත් මෙවැනිම ලිපියකින් මුනගැහෙමු. 




Share this

Related Posts

Previous
Next Post »

5 comments

Write comments
January 25, 2017 at 6:29 PM delete

Warahan danna oni kohomada kiyala pehedili karla denna

Reply
avatar
rum
March 30, 2018 at 8:24 AM delete

Wede nam niyamai...oyage uthsahaya agaya karanawa yaluwa

Reply
avatar
saman
January 8, 2019 at 3:59 PM delete

If we write code as one line like this "void setup() { pinMode(ledpin, OUTPUT);}"
is it wrong? can you explain please.

Reply
avatar
April 22, 2019 at 1:05 PM delete

not wrong. but you have to define 'ledpin'

Reply
avatar

ඔයාලගේ අදහස් උදහස් තමයි අපිව දිරිගන්වන්නෙ෴ EmoticonEmoticon