Arduino Programming ඉගෙන ගනිමු – Part 1 : මූලික ව්‍යුහය (Basic Structure)

You are here:
  • KB Home
  • Arduino
  • Arduino Programming ඉගෙන ගනිමු – Part 1 : මූලික ව්‍යුහය (Basic Structure)
Estimated reading time: 1 min

Arduino වලින් වැඩ කරද්දි අපි අනිවාර්යයෙන්ම දැනගෙන ඉන්න ඕන දෙයක් තමා Arduino Programming Language එක. ගොඩක් අය කරන්නෙ මේක ගැන අවබෝදයක් නැතුව code එක copy paste කරන එක. එහෙම කලාම code එකේ error එකක් ආවත් හොයාගන්න අමාරුයි. ඔයාලට මේ පාඩමේදි Arduino Programming Language එක මුල සිට ඉගෙන ගන්න පුලුවන්.

මූලික ව්‍යුහය (Basic Structure)

Arduino බොහෝ දුරට C/C++ වලට සමානයි. නමුත් ඊට වඩා සරලයි. මේකෙ ප්‍රධාන කොටස් දෙකක් තියෙනව.

setup()

මේ කොටස තමා ඔයාලගෙ program එක run වෙද්දි මුලින්ම වැඩ කරන්නෙ. හැබැයි මේ කොටස run වෙන්නෙ එක පාරයි. ඒ හින්ද මේකෙ අපි ලියන්නෙ program එකේ අනික් කොටස් වලට ඕන දේවල් initialize කරන එක. Serial Port එක open කරන එක, variable assign කරන එක, port define කරන එක වගේ දේවල්. මේව ගැන පස්සෙ වෙනම ඉගෙනගමු.

loop()

සාමාන්‍යයෙන් අපි Arduino වලින් කරන Project වල වෙන්නෙ එකම දේ එක දිගට කරන එක. ඒක වැඩ කරන්නෙ loop එකක් විදියට. ඉතින් මේ වැඩ ටික ලියන්න තියෙන්නෙ මේ loop() කියන function එක ඇතුලෙ.

Functions

setup() සහ loop() කියන්නෙ Arduino වල තියෙන ප්‍රධාන function දෙක. මීට අමතරව අපිට අපේ අවස්තාව අනුව තව function හදාගන්න පුලුවන්.

උදාහරණයක් විදියට අපි LED එකක් blink වෙන එක බලමු. අපිට මේක loop() function එකේ ලියනව වගේම වෙනම function එකකත් ලියන්න පුලුවන්. මෙහෙම function යොදා ගත්තම ගොඩක් සංකීර්ණ code සරලව ලියන්න පුලුවන්.

අපි ලියාගත්තු function එක අපිට කොයි වෙලාවක හරි call කරන්න ඕනෙනම් functionName(); කියන විධානයෙන් ලබා ගන්න පුලුවන්. මෙ example එකේදි නම් ledBlink(); විදියට type කරන්න ඕනෙ.

දැන් අපි මේ function එකේ කොටස් වෙන වෙනම හඳුන ගමු. function එකක මූලික ව්‍යුහය මේ වගේ.

type functionName(parameters){
        statements
}

type එකෙන් කියන්නෙ මේ function එක return කරන දේ. void කියන්නෙ මුකුත් return කරන්නෙ නෑ කියන එක. මේකට අපිට variable types පාවිච්චි කරන්න පුලුවන්. උදාහරනයක් විදියට අපේ program එකේ මොකක් හරි calculation එකක් කරනවනම්, ඒ calculation එකේ උත්තරය අපිට function එක call කරල ගන්න පුලුවන්.

parameters : මේ කොටසෙදි අපිට පුලුවන් අපිට function එක ඇතුලෙ වෙන දෙවල් වලට ඕන වෙන values pass කරන්න. කලින් උදාහරනෙම අපිට මේ විදියට ලියන්න පුලුවන් parameters pass කරල.මේ හැම function එකක්ම ‘{‘ එකකින් පටන් අරගෙන ‘}‘ එකකින් ඉවර වෙන්න ඕනෙ. ඒ වගේම return කරන type එක function type එකට සමාන වෙන්නත් ඔනෙ.

දැන් අපි මේ function වල පොඩි යෙදීමක් බලමු. LED bulb 3ක් ක්රම 2,3කට පත්තු කරන්න ඕන වුනා කියල හිතන්න. සාමාන්‍ය විදියටනම් ඒක ලියන විදියයි, function පාවිච්චි කරල ලියන විදියයි මේ.

ඉතින් මේ විදියට function පාවිච්චි කලාම අපේ code එක ගොඩක් සරල වෙනව වගේම error එකකදි වුනත් පහසුවෙන් හඳුනාගන්න පුලුවන්.

Symbols

Arduino වලදි අපි පාවිච්චි කරන symbols සහ ඒවායේ යෙදීම අපි දැන් බලමු.

1. Curly Brackets {}
අපි Curly Brackets පාවිච්චි කරන්නෙ function එකක සීමාව ලකුනු කරන්න. ඒ කියන්නෙ පටන් ගන්න තැනයි, ඉවර වෙන තැනයි පෙන්නන්න. මේකෙදි බලන ප්‍රධාන නීතිය වෙන්නෙ opening brackets ‘{‘ ගාන closing brackets ‘}’ ගානට සමාන වෙන්න ඔනෙ. අපිට ගොඩක් වෙලාවට හම්බවෙන error එකක් තමයි මේව සමාන නොවීම. Arduino IDE එකෙන් මේක check කරගන්න පුලුවන් ලේසියෙන්ම. කරන්න තියෙන්නෙ cursor එක opening bracket එක ගාවට ගේන එක. එතකොට නිකන්ම ඒකෙ closing bracket එක highlight වෙයි.

2. Semicolon ‘;’
මේක අපි පාවිච්චි කරන්නෙ statement එකක අවසානය ලකුනු කරන්න. මේක හරියට යෙදුවෙ නැත්තන් error එකක් එනව.

3. Line Comment ‘//…’
අපි පුරුද්දක් විදියට code එකේ comment දාගන්න ඕනෙ. වෙන දවසක ආයෙ code එක බලද්දි ඉක්මනින් අපිට තෙරුම් ගන්න පුලුවන් එතකොට. එක line එකක් විතරක් comment කරනවනම් අපිට ‘//’ ලකුන පාවිච්චි කරන්න පුලුවන්.

4. Block Comment ‘/*…*/’
අපිට අවශ්‍ය නම් line කීපයක් comment කරගන්න, මේ block comment සලකුන යොදාගන්න පුලුවන්. comment එක පටන් ගන්න තැනට /* දාල, ඉවර වෙන තැනට */ දැම්මම අපිට block comment එකක් දාගන්න පුලුවන්.

5. Hash ‘#’
Arduino වලදි # ලකුණ යෙදෙන අවස්ථා 2ක් තියෙනව. පිට තියෙන library එකක් program එකට දාගන්න ඕනෙනම් #include කියල යොදාගන්න පුලුවන්.

#include <Servo.h>

මේකෙදි semicolon ‘;’ එකක් යොදාගන්නෙ නෑ.

අනිත් යෙදීම වෙන්නෙ #define කියන එක. මේක පාවිච්චි කරන්නෙ pin එකකට අපිට ලේසි නමක් දාගන්න.

#define ledPin 5

මේකෙදිත් ‘;’ එකක් දාන්නෙ නෑ. ඒ වගේම ‘=’ ලකුනක් යොදාගන්නෙත් නෑ. අපි pin define කරන තව විදියක් ‘int ledPin=5′ කියන එක. මේකෙදි වෙන්නෙ board එකේ ledPin කියන variable එකට වෙනම memory යක් වෙන් කරනව. ඒත් #define යෙදුවම memory යක් පාවිච්චි වෙන්නෙ ඈ. compile වෙන්න කලින් code එකේ තියෙන හැම ledPin කියන තැනකටම 5 කියල ආදේශ වෙනව.

මේ පාඩමෙන් ඔයාලට Arduino වලින් programming කරද්දි අවශ්‍යය වෙන මූලික කරුනු දැනගන්න ඇති කියල හිතනව. ඊලඟ කොටස් වලදි Control Structures, Arithmetic Operators, Comparison Operators, Boolean Operators, Compound Operators වගේම Variables සහ special Functions ගැනත් කියල දෙන්නම්.

මේ පාඩමෙන් මොනව හරි ප්‍රශ්න තියෙනවනම් comment කරන්න. ඉදිරි පාඩම් වලදි නැවත හම්බෙමු. සුබ දවසක්.

මීලග පාඩමට..>> 

Tags:
Was this article helpful?
Dislike 0
Views: 1161

Leave a Reply

Your email address will not be published. Required fields are marked *