Arduino programming ගැන කතා කරන විට එය ප්රධාන වශයෙන් කොටස් දෙකකින් යුතූ වෙනවා එනම් Circuit Design හා Programming ලෙසයි. Circuit Design ගැන සදහන් කරන්නට මත්තෙන් Arduino board එකෙහි කොටස් පිළිබඳව මනා අවබෝධයක් තිබීම වැදගත් වෙනවා. එමනිස Arduino code ලිවීමට ප්රථම Arduino හි කොටස් හදුනා ගනිමු.
Arduino Hardware parts
පහත රූපයේ දැක්වෙන්නේ Arduino UNO board එකක Hardware කොටස් ය.
USB Plug - Arduino එක පරිගනකය හා සම්බන්ධ කිරීමට හා Arduino වෙත විදුලිය සැපයීමට භාවිතා කරයි.
External Power - USB සම්බන්ධතා වයකින් විදුලිය සැපයීමට නොහැකි විට මෙය භාවිතා කල හැක. මෙහිදී ලබාදිය යුතු අවම වෝල්ටීයතාව 7 v වන අතර උපරිම වෝල්ටීයතාව 12 v වේ.
Ground Pin - විදුලි සැපයුමෙහි (-) අග්රය වේ.
Atmega 328 microcontroller - Arduio UNO board එකෙහි හදවත වේ. මෙහි 32KB Memory යකින් යුතුවන අතර 16 MHz වේගයකින් යුතු වනවා. UNO board එකෙහි ඇත්තේ Atmega 328 microcontroller එක වූවත් Arduino මාදිලියෙන් මාදිලියට මෙහි ඇති microcontroller වෙන වනවා.
Serial Programmer - වෙනත් Arduino board එකක් හෝ වෙනත් microcontroller එකක් programme කිරීමට යොදාගැනීමට හැක.
Pins - ඕනෑම Arduino board එකක් තුල ප්රධාන වශයෙන් Pin වර්ග 2 ක් තිබෙනවා, එනම් Analog හා Digital Pin ලෙසයි.
මෙහි Analog pin භාවිත වන්නේ VR එකක value එකක් වැනි ප්රතිසමව විචලනය වන දත්තයක් Arduino වෙත input කිරීම සදහායි. තවත් උදාහරණයකින් කියනවානම් ඕනෑම ඉලෙක්ට්රොනික පරිපථයකට හදුනා ගත හැක්කේ 1 හා 0 අවස්ථා පමණි. මෙහි 1 යන්නෙන් 5V යන්නත් 0 යන්නෙන් 0V යන්නත් නිරූපණය වනවා, නමුත් යම් හෙයකියින් 3v වැනි 0 ත් 5 ත් අතර අගයක් ලබාදීමට අවශ්ය නම් ඒ සදහා යොදා ගත යුත්තේ මෙම Analog pin ය.
මෙහි Digital Pin භාවිත වන්නේ දිවිමය ලෙස විචලනය වන දත්ත Input හා Output කිරීමටයි. උදාහරණයක් වශයෙන් LED එකක් නීවීම දැල්වීම වැනි Digital output සදහාද, බාහිර ස්විචයක් On/Off කිරීම වැනි Digital input හදුනාගැනීමට භාවිතා වන්නේ මෙම Digital Pin ය.
Digital Pin තුල ඇති තවත් කාණ්ඩයක් වන්නේ Digital PWM( pulse with modulation) pin ය. මෙම හැකිaයාව ඇති සෑම Pin එකක් ඉදිරියෙන්ම "~" සලකුණ යොදා තිබෙනවා. මෙහි ඇති විශේෂත්වය වන්නේ මෝටරයක වේගය පාලනය, බල්බයක එලිය අඩුවැඩි කිරීම වැනි කාර්යයන් සඳහා යොදා ගත හැකි වීමයි.
එසේම Arduino UNO Bord එකෙහි ඇති Analog pin 6 හා Digital Pin 14 ම Digital Output pin ලෙස භාවිතා කිරීමට හැක.
LED Blink කරමු.
Arduino Programming හි ඇති කරුණු අවබෝධ කරගැනීම සදහා LED Blink කිරීමට අදාල Arduino code ලියමු.මේ සදහා පළමුව Arduino bord එක USB cable එක මගින් පරිගණකය හා සම්බන්ධ කර අනතුරුව Arduino software එක Run කරන්න.
දැන් Arduino software හි File > New හරහා ගොස් නව ව්යාපෘතියක් අරඹන්න. එහිදි පහත පරිදි කෝඩ් කොටසක් දැක ගත හැක.
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
Arduino වැඩසටහනක් ක්රියාත්මක වීමට ඉහත මුලික කෝඩ් කොටස තිබීම අනිවාර්ය වේ.
ඉහත පළමු void setup() { හා } යන්නට මැදි වනසේ ලියන ඕනෑම කෝඩ් කොටසක් Arduino වෙත විදුලිය සැපයූ සැනින් එක් වරක් පමණක් ක්රියාත්මක වේ. නැතිනම් Reset button එක ඔබන වාරයක් පාසා නැවත ක්රියාත්මක වේ.
නමුත් මෙහි ඇති // put your setup code here, to run once: යන්න ක්රියාත්මක නොවන්නේ එය කමෙන්ට් එකක් බවට පත්කර ඇති නිසාවෙනි. කමෙන්ට් එකක් යනු වැඩසටහන තුලදී ලියූ කෝඩ් හදුනා ගැනීමට තබන සටහනකි. Arduino තුලදී ඕනෑම වාක්යයක් කමෙන්ට් එකක් බවට පත් කිරීම සදහා වාක්යයට ඉදිරියෙන් // ලකුණ යෙදිය යුතුය.
මෙහි void loop() { හා } යන්නට මැදි වනසේ ලියන ඕනෑම කෝඩ් කොටසක් Arduino වෙත විදුලිය සැපයූ සැනින් ක්රියාත්මක වේ. නමුත් මෙහි ඇති විශේෂත්වය වන්නේ Setup තුල ලියන කෝඩ් මෙන් නොව loop එක තුල ලියන කෝඩ් කොටසක් වරක් මුල සිට අගට ක්රියාත්මක වූ පසු විදුලිය සපයා තිබෙන තාක් නොන්වත්වාම කෝඩ් කොටස මුල සිට අගට ක්රියාත්මක වීමයි.
LED Blink කිරීමට අදාල circuit එක සැදීම.
මේ සඳහා කල යුත්තේ LED ගෙන එහි ධන අග්රය Arduino හි 13 වන Digital pin එකට සම්බන කිරීම හා එහි අනෙක් අග්රය Ground pin එකකට සම්බන කිරීම පමණි.කෝඩ් ලියන ආකාරය අවබෝධ කරගැනීමට LED Blink කිරීමට අදාල කෝඩ් එකක් ලියමු.
ඒ සඳහා ලබාගත් නව project එකෙහි පහත පරිදි කෝඩ් ලියන්න. (Arduino හී භාවිත වන්නේ C++ භාෂාවය, මෙය අක්ෂර සංවේදී පරිගනක භාෂාවකි. එබැවින් කෝඩ් ලිවීමේදී simple හා capital අකුරු මාරු කර නොයොදන්න)void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
මෙහිදී 3 වන පේළියේ ලියා තිබෙන කෝඩ් කොටසින් කෙරෙන්නේ LED Blink කිරීමට යොදාගන්නේ කුමන Pin එකද යන්නත් එය යොදා ගන්නෙ කුමන කාර්යයක් සදහාද යන්න හදුන්වා දීමයි. මෙහි pinMode(13, OUTPUT); යන්නෙන් කියවෙන්නේ 13 වන Digital pin එක Output එකක් ලෙස යොදා ගන්නා බවයි.
මෙහි 5 වන පේලියෙන් සිදු කෙරෙන්නේ 13 Pin එකෙහි voltage එක 5v සැකසීමයි. HIGH යන්නෙන් 5V ද LOW යන්නෙන් 0V ද කියවේ. මෙහි delya(1000); යන්න මගින් ඊට පහලින් ඇති කෝඩ් කොටස ක්රියාත්මක වීම තත්පර 1 ක් ප්රමාද කරයි. මෙහි delay යන්නෙහි 1000 ලෙස සදහන් කර ඇත්තේ මිලි තත්පර 1000 ක් යන්නයි. මිලි තත්පර 1 යනු තත්පරයෙන් 1000 න් පංගුවකි.
එනම් මෙහිදී තත්පර 1 ක් LED ය දල්වා තබන අතර තත්පර 1 ක් LED ය නිවා දමයි.
බොර්ඩ් එක වෙත Code upload කිරීම
මේසදහා සැකසුම් කිහිපයක් සිදුකල යුතුය.Tools > Bord හරහා ගොස් ඔබ යොදාගන්නා Board එක තෙරිය යුතුය.
Tools > Port හරහා ගොස් Arduino එක සවිකර එති com port එක තෙරිය යුතුය.
අනතුරුව Sketch > Upload හරහා ගොස් Code එක Upload කල යුතුය.
21 comments
Write commentsMata UNo R3 board ekak genna ganna hodama ebay seller kenek ge link eka denna pulluwnada.Price ekath adu wen ataramata hodai.
Replyමෙ ලිපියට බොහොම ස්තුතියි.
Replyhttp://www.ebay.com/itm/LeaningTech-ATmega328P-CH340G-UNO-R3-Board-USB-Cable-Compatible-with-Arduino-/252094250221?hash=item3ab1fcfced:g:JHIAAOSwA4dWJegk
Replyමන් ගාවත් තියෙන්නේ ඕක
කොළඹ කොටුවට එනවනම් කොටුවෙ unitech එකෙන් ගන්න එක ලාබයි.රුපියල් 925 යි වෙන්නෙ uno එක
Replyela mchn .. digatama liyapan :)
Replyවටිනා ලිපියක්..
Replyela...niyamai...digatama liyamu saho....
Replyබොහොම ස්තූතියි සහෝ. ඔයාලගෙ අදහස් තමයි මට ගොඩක් වටින්නේ!
Replyබොහොම ස්තූතියි සහෝ. ඔයාලගෙ අදහස් තමයි මට ගොඩක් වටින්නේ!
ReplySupiriy ayye ... Niyamai.... Digatama karagena yanna oya oya karana de.
Replythanks ayye godak watinawa
ReplyGreaT❤️
ReplyGreaT❤️
Replyමම මේ විෂයට ආධුනිකයි ඒ නිසා
Replyමේ ආඩුඊනෝ bord එකක් කීයකට වගේ ගන්න පුලුවන්ද?
ගන්න පුළුවන් කොහෙන්ද?
online market එකක අඩුවට තියෙනවානම් url එකක් දාන්නකෝ..
එල.
ReplyNiyamai digatama karan yan aiye
Replyhttps://www.duino.lk/index.php?_route_=Mother-Board/Uno
Replyසුපිරි වැඩක්
ReplyNiyamai machan
ReplyArdiuno board eke ground 3ක් තියෙන නිසා උපාංග 3ක් විතරද සම්බන්ද ජරන්න පුලුවන්??
Replyදිගටම ලියන්න සහෝ සුපිරි👍
Replyඔයාලගේ අදහස් උදහස් තමයි අපිව දිරිගන්වන්නෙ෴ EmoticonEmoticon