Arduino Coding පටන්ගමු
යාලුවනේ, අද ලිපිය arduino එකේ programming පැත්ත ගැනයි ලියවෙන්නෙ. Programming කිව්වම ගොඩක් අයට එච්චරම දිරවන්නෙ නෑ, සමහර අය programming පටන්ගන්න උත්සහ කරන්නත් අකමැතියි. සමහරු වැඩේ පටන්ගෙන ටික දවසකින් අත් හැරලා දානවා අමාරු නිසා.
ඒත් උනන්දුව සහ මේකෙන් කරන්න පුලුවන් වැඩ ගැන ආසාවක් තියෙන අය programming අතහරින්නෙ නෑ, දවසෙන් දවස වැරදි නිවැරදි කරමින්, අලුත් දේවල් ඉගෙනගනිමින් ඉදිරියටම යනවා.
ඔයාලට ඔය photo එකෙන් පෙන්නලා තියෙන්නෙ arduino එකට upload කරන්න පුලුවන් basic ම code එක. මේකට කියන්නෙ bare minimum sketch කියලා. මේකෙන් arduino එකේ කිසිම ක්රියාවලියක් වෙන්නෙ නෑ. ප්රදානම වශ්යයෙන් අපි මේකෙන් ඉගෙනගන්න යන්නෙ මොකක්ද arduino එකේ basic coding structure එක ගැනයි.
ඔයාලට ඔය photo එකේ පේන්න තියනවා "setup()" සහ "loop()" කියලා ප්රදාන කොටස් දෙකක්. මේවට programming වලදී කියන්නෙ functions කියලා. ඒ කොටස් වල () මේ වරහන් භාවිතා කරන්නෙ අපිට අවශ්ය parameters ඒ කොටස් ඇතුලට pass කරන්න. අනිත් {} වරහන් තුල තමයි ඒ ඒ කොටසට අයත් code ලියන්නෙ. {} මේ වරහන් තුල තියන ඉඩ හරියට ඒ ඒ function වල මායිම වගේ. programming වලදි මේකට කියන්නෙ scope එක කියලා. ඒ වගේම තමයි ඔයාලට පේනවා ඇති setup සහ loop කියන function වලට ඉදිරියෙන් "void" කියලා මෙව්ව එකක් තියනවා :) ඒකට කියන්නෙ return type එක කියලා. return type එකෙන් කියවෙන්නෙ ඒ ඒ function එක වැඩ කරද්දි මොන වර්ගයේ output එකක්ද ඒ function එකෙක් පිටතට ලබා දෙන්නෙ කියලා. 😐 තේරුනේ නෑ නේද?
මේක තේරුම් ගන්න නම් variable ගැන මූලික දැනුමක් අවශ්ය වෙනවා. යාලුවනේ, variable එකක් කියන්නෙ අපි programming වලදි යම් යම් අගයන් (value) තාවකාලිකව ගබඩා කරන්න භාවිතා කරන දෙයක්. සිංහලෙන් කියන්නෙ "විචල්යයක්" කියලා. මේ variable එකක අගය ඕනම වෙලාවක වෙනස් කරන්න පුලුවන්. මේ variable වර්ග ප්රදාන වශ්යයෙන් කොටස් කිහිපයක් තියනවා.
int - integer වර්ගයේ (ඒ කියන්නෙ පූර්ණ සංඛ්යා) ගබඩා කරගන්න පුලුවන් මේ variable වල (උදා: 0, 1, 450, 25)
float - දශම ගනන් සහිත සංඛ්යාවක් ගබඩා කරන්න පුලුවන් මේවගේ (1.5, 37.45, 0.6)
char - අකුරු හෝ ඉලක්කම් ගබඩා කිරීම ('a', 'g', '0', '1', '*')
string - වචන හෝ වක්ය ගබඩා කිරීම ("hello", "arduino wada kaali", "welcome to arduino programming...")
boolean - true හෝ false ගබඩා කිරීම
මීට අමතරව long, double, word වගේ variable types තියනවා.
උදාහරණයක් විදියට අපිට 25 කියන සංඛ්යාව variable එකකට දාන්න ඕනෙ නම් අපි ඒකට තෝරාගන්නෙ int කියන variable type එක. ඊට පස්සෙ අපි මේකට නමක් දාගන්න ඕනෙ. ඒක තමන්ට කැමති නමක් වෙන්න පුලුවන් ඒත් පහත නීති රීති වලට අනුකූලව වෙන්න ඕනෙ...
* කලින් කියපු variable type වල නම්, function වල නම් භාවිතා කරන්න බෑ
*තනි වචනයක් විදියට ලියන්න ඕනෙ, (නමේ වචන අතරෙ හිස්තැන් තියන්න බෑ)
ඉතින් මේ නීති වලට අනුව අපිට මේකට "my_number" , "val", "val1", "myNumber1" ඔය වගේ නමක් ගන්න පුලුවන්.
දැන් බලමු කලින් කියපු 25 කියන අගය "my_number" කියන int වර්ගයේ variable එකට දාගන්නෙ කොහොමද කියලා. මෙන්න මෙහෙම
int my_number = 25;
මෙහෙම variable එකකට අගයක් ආදේශ කරන එකට programming වලදි කියන්නෙ variable එකකට value එකක් "assign" කරනවා කියලා.
නැවතත් අපි මුල කොටසට යමු. අපි කතා කර කර හිටියෙ "void" කියන keyword එක ගැන. මම කලින් කිව්ව විදියට function එකක මුලින්ම ලියන return type එකෙන් කරන්නෙ යම් කිසි දෙයක් පිටතට ලබා දෙන එක කියලා. ඉතින් මේ return type එක වෙනුවට int කියන variable type එක දාන්න පුලුවන් ඒ function එක පූර්ණ සංඛ්යාවක් පිටතට දෙනවා නම්. boolean දාන්න පුලුවන් true හෝ false return කරනවා නම්. මේ කිසිම දෙයක් return කරන්නෙ නැත්නම් තමයි function එකක return type එක විදියට "void" කියන keyword එක දාන්නෙ. දැන් මම හිතනවා ඔයාලට තේරෙන්න ඇති function එකක return type එක මොකක්ද කියලා. ඒ වගේම variable ගැනත් යම් කිසි අවබෝධයක් ලැබෙන්න ඇති.
දැන් අපි අර setup සහ loop ගැන තව දුරටත් ඉගෙනගමු.
Arduino code එකක් වැඩ කරනකොට මුලින්ම execute වෙන්නෙ setup function එක. ඒකෙන් පස්සෙ වැඩ කරන්නෙ loop function එක. විශේශම දේ තමයි loop function එක වැඩ කරලා නවතින්නෙ නෑ. ඒක දිගින් දිගටම loop එකක් විදියට execute වෙනවා arduino එකට විදුලිය සපයා තිබෙන තාක්කල්. අපිට මේක නැවතත් මුල ඉදලා run කරගන්න ඕනෙ නම් කරන්න තියෙන්නෙ arduino එකේ තියන reset button එක press කිරීම. එතකොට වෙන්නෙ කලින් කියපු විදියට setup එක වරක්run වෙලා loop එක දිගින් දිගටම run වෙන එක.
ඔයාල දැන් කල්පනා කරනවා ඇති setup සහ loop කියලා ප්රදාන කොටස් දෙකක් ඇයි කියලා. setup එක එක වරක් විතරක් run වෙන නිසා අපිට පුලුවන් arduino එකේ pins නම් කරන code වගේ දේවල් setup එක ඇතුලට දාන්න.
මේ විදියට,
void setup(){
pinMode(2, OUTPUT);
}
loop එකට දාන්නෙ අපිට දිගින් දිගටම කරගන්න ඕනෙ දේවල් වලට අදාල code.
මම හිතන්නෙ ලිපිය මෙතනින් ඉවර කලා නම් හොදයි කියලා.
ඊට කලින් ඔය photo එකේ ඔයාලට පේන්න තියෙනවා ඇති "//" මේ වගේ (forward slash) දෙකක් දාලා ඊට පිටුපසින් යම් යම් දේවල් ලියලා තියනවා. මේවට කියන්නෙ comments කියලා. code එකේ ඒ ඒ තැන් වලින් කෙරෙන්නෙ මොන වගේ දෙයක් ද කියලා බලන කෙනාට තේරුම් ගන්න පහසු වෙන්න තමයි මේ වගේ comments දාන්නෙ. මේ comments වලින් code එකට බලපෑමක් වෙන්නෙ නෑ. මේ වගේ single line comments වගේම මේ විදියට line කිහිපයකින් multi line comments උනත් දාන්න පුලුවන්
/* this is
a multi line
comment */
මේකෙදි comment එක පටන් ගන්න line එකේ මුල "/*" (forward slash & star) සහ ඉවර කරන line එකේ අග "*/" (star & forward slash) දාන්න ඕනෙ.
එහෙනම් අදට ලිපිය ඉවරයි. දිගටම එකතු වෙලා ඉන්න අපේ blog එකත් එක්ක.
Arduino ගැන මතු වෙන ගැටලු සාකච්ඡා කිරීමට සහ උදව් ලබාගැනීම්ට එක්වන්න අපගේ facebook group එකට https://m.facebook.com/groups/199796198036679
සුබ දවසක්.
Comments
Post a Comment