Saturday, January 12, 2013

නෙළුම් විල

නෙළුම් විල


ලේනෝ ලේනෝ මේ දත අරගෙන ...

Posted: 11 Jan 2013 08:12 PM PST



අපේ පොඩි දෝනිගේ කිරිදත් දෙකක් දත් දොස්තර ලවා ගලවා දමන්නට සිදුවිය . ඒ දත් වලට පිටුපසින් අලුත් දත් මෝදු වන්නට වූ බැවිනි .

සෙලවෙමින් තිබුණ උඩු ඇන්දේ දත් දෙකක්ම වැටි ඈගේ දඟකාර මුහුණට අහිංසක සුරතල් බවක් ලැබී ඇත .

එයින් එකක් වැටුනේ සියලාගේ ගෙදරදීය . දත ලේනාට දෙන්නයි නොයෙක් උපදෙස් ලැබුනද මගේ දත දමා යන්නට බැරි යයි කියමින් එය රැගෙන ආවාය .

අනෙක් දත ඊයේ පාසලේදී වැටුන බැවින් හෙදිය ප්ලාස්ටික් බෑගයක දමා  දී තිබිණි .. ඇයටත් කුඩා මිතුරු මිතුරියන්ටත් මේ වයසේදී දතක් වැටීම යනු එක විදිහට වීර කමකි . වැඩිපුර දත් වැටීම යම් ලෙසකින් අන් අයට වඩා ''ලොකු '' බව පෙන්වන ලක්ෂණයක් ලෙස සිතන බවත් පෙනේ .

'ලේනෝ ලේනෝ මේ දත අරගෙන කැකුළු දතක් මට දියෝ දියෝ ''

අප වැටුණු කිරි දත් වහලයට විසිකර දැමුයේ ඒ ගීතයද ගයමින් බව මතකය . අදත් අපේ රටේ  දරුවන් එසේ කරනවා ඇතැයි මම සිතමි .

බටහිර රටවලින් පැමිණි ළමෝ  නම්  කොට්ටය යට තබන දත, දත් සුරංගනාවිය රැගෙන  මුදල් ත්‍යාගයක් තබා යන බව සිතා සිටිති .

වෙන වෙන සුරංගනාවන් සිටින බව ඉත සිතින් පිළිගත් මගේ පොඩ්ඩන්ට  මේ දතේ සුරංගනාව ගැන නම් එතරම් පිළිගැනීමක් නැත .

කොරියන් මිතුරියක් කිවේ ඔවුන්ද දත් ලේනාට දෙන බවය . ඒ අසා අනෙක් රටවල් කෙසේ කරන්නේදැයි සොයා බලනට ආසාවක් ඇති විය .

ජපානයේ සහ කොරියාවේ අප මෙන්ම ලේනාට විසී කිරීම හෝ නිකන්ම වහලයට විසි කිරීම සිදුවේ . උඩු ඇන්දේ දත් බිම් මට්ටමින් විසි කරන අතර යටි ඇන්දේ දත් වහලයට උඩින් විසි කෙරෙත් .

එහි තේරුම උඩු ඇන්දේ දත් පහලට කෙලින් වැඩිම සහ යටි ඇන්දේ දත් උඩු අතට වැඩිම වේ .

වියට්නාමයේදී සියලුම දත් වහලයට උඩින් විසි කෙරේ .

ඇමරිකාව ඇතුළු බොහෝ රටවල ''ටුත් ෆෙයරි '' හෙවත් දන්ත සුරංගනාවගේ සංකල්පය බිහි වී ඇත්තේ ප්‍රංශ අභාශයෙනි . එහිදී මියෙකු සුරංගනාවක් වූ බවට කියවේ .


කම්බෝජියාවේදී උඩු ඇන්දේ දත් වළලනු ලබයි . යටි ඇන්දේ දත් වහලයට විසි කෙරේ .

තුර්කි දෙමාපියෝ  තම දරුවාගේ මතු දියුණුව උදෙසා අදාළ ස්ථාන වල දත් වළලති .

උදාහරණයක් ලෙස තම දරුවා දොස්තර කෙනෙකු කිරීමට අවශ්‍ය නම් දත රෝහල් බිමක වැළලීම සිදුවේ .

හොඳ වෙලාවට අපට ඒ පුරුද්ද පැමිණ නැත්තේ .

මොන්ගෝලියාවේ ළමෝ  දත බල්ලන්ට කෑමට දෙති . බල්ලා ශක්තිමත් සතෙක් ලෙස සැලකීම එයට හේතුව වේ .

නයිජීරියාවේ කිරි දත් ඒමේදී තෑගී පිරිනමන අතර වැටුණු කිරි දත් අට්ටාලයේ සඟවයි . මියන්ට නොකන ලෙස ගීතයක්ද ගයමින් .

ඇතැම් රටවල වැටුණු දත් රන් ආලේප කොටඅබරණ සාදයි . ඇතැම් විට වටිනා වස්තුවක් මෙන් සුරකියි .

බොහෝ විට ලේනා සහ මියා දත් වල භාරකරුවන් ලෙස සලකන්නේ ඔවුන්ගේ ශක්තිමත් දත් නිසා බවයි මගේ හැඟීම .

එමෙන්ම සුළු සුළු සිද්ධීන් සමග ඈත එපිට සංස්කෘතීන් වල එක සමාන ලක්ෂණ ගැන සොයා බැලීම අපුරු කටයුත්තකි .

එකම මුලයකින් ඇරඹි ලෝක ගෝලය පුරා විසිර ගිය මානවයා ජිවිතයේ බොහෝ අවස්ථාවන්වලදී එකම ලෙස සිතීම අපුරු නොවේද .....



ප..ලි.

වැඩිමනක් කියවීමට අවශ්‍ය අයට ...

http://suite101.com/article/the-tooth-fairy-and-other-legends-a52923

http://www.netlaputa.ne.jp/~tokyo3/e/teeth_e.html




Friday, January 04, 2013

නෙළුම් විල

නෙළුම් විල


වරද නුඹෙයි උන්ගේ නොවේ

Posted: 03 Jan 2013 11:41 PM PST



ගේ දොර ලස්සනට තියන්
උයන් පිහන් ළමයි බලන්
රස්සාවක් කලත් ඉතින්
ඉක්මනටම ගෙදර ඇවිත්

පාරේ තොටේ ගියත් දුවේ
යනව නෙමේ කොටට ඇඳන්

වැඩිය ඉගෙන ගන්නෙ
 මොටද
හයට කලින් ගෙදර වරෙන්

හෙට බැන්දත් කොල්ල එක්ක
බයිස්කෝප් නොබල ඉඳින්

අතවරයට ලක් වුනොතින්
වරද නුඹෙයි
''උන්ගෙ නොවෙයි ''


දුෂණය වී අමානුෂික වද වේදනා විඳ මියගිය අසරණ යුවතිය ..ඔබ ගැන ලියන්නට වචන කොපමණ තිබුනත් මදිය . ඔබ පලමුවෙනියාද අන්තිමයාද නොවෙන එක එයටත් වඩා අවාසනාවකි . රත්මලානේදී සිඟිත්තන් දෙදෙනා සමග ගිනිබත් වූ තරුණ මව . පසුගිය ටිකේම ඔවැනි කතන්දර තමා අසන්නට ලැබුනේ .
ඒ අතරේ තලෙබාන්ලා ඉන්නේ ඇෆ්ගනිස්තානයේ පමණකි කියා අපට සැනසෙන්නට හැකිද . එක්තරා ආචාරියෙක් සිංහල ගැහැණු ළමයිනුත් බුර්කාව ඇන්දොත් හොඳ යයි කියා තිබිණි . එනපොට හොඳටෝම හොඳ නැත .
අරාබි වසන්තයේදී කරට කර සිටි විදි බැසි කාන්තාවෝ අද වන විට විදි වලින් අතුරු දන්ව ඇති බව කියවන්නට ලැබිණි . එම සඟරාවේම අපේ පාර්ලිමේන්තුවේදී එක කාන්තා මන්ත්රිවරියකට පිරිමි ඇමැත්තෙක් කල අපහාසයක් ගැනද ලියවී තිබිණි . දේශපාලන දැක්ම කෙසේ වුවත් මන්ත්‍රීවරියක් නම් අතිරේක අපහාස හිමිවේ .

එක බිත්තරයක් තිබුනත් එය තම්බා හතරට කපා දුන්නා මිස කොල්ලන්ට පමණක් බත් පත අස්සේ හංගා කන්නට නොදුන් අපේ අම්මා කාන්තා විමුක්තියේ පලවෙනි පාඩම කියාදුන්නාය .

කොතරම් කරදරකාරී සමාජයක් වුවත් අපේ පරම්පරාව අපේ අම්මලාගේ පරපුරට වඩා කාන්තා නිදහස අත්විඳි පරපුරකි . කාන්තා පාසලක වුව පිරිමි පාසල් සමග උරෙන් උර ගැටී සමිති සමාගම් වලදී ,,කළා උළෙල විද්‍යා දිනයන්හිදී අප කටයුතු කළෙමු . දහම් පාසලේ ගැහැණු පිරිමි බේදයක් නැතුව උගත්තෙමු . අපේ පාසල ඉතාම ජන විවිධත්වයකින් යුක්තවිය . සිංහල , බොදු . කතෝලික , මුස්ලිම් දෙමළ කෙල්ලන් අපුරුවට එක ගොඩේ සෙල්ලම් කළෙමු . මුස්ලිම් ගැහැණු ළමුන් ගවුමත් කලිසමත් ඔලුව උඩින් දැමු සුදු රෙදි කඩක් [ වැඩිවිය පැමිණි පසුව ] ඇන්ද අතර මැලේ මුස්ලිම් ළමුන් සාමාන්‍ය නිල ඇඳුම පමණි . . ඔලුව වසාගෙන ආ රෙදි කඩ අර ළමයින්ට මතක් වෙන්නේ ගෙදර යද්දීය . අද වන විට ඒ බොහෝ මිතුරියන් එක්කෝ පිටරටවලට සංක්‍රමණය වෙලාය . නැත්නම් යම් යම් රැකියාවල නිරත වේ ..

සමාජයක් යායුත්තේ ඉදිරියටය . පසුපසට නොවේ . යම් යම් කාරණා නිසා අප සමාජය ආපස්සට යන බව මට නම් සිතේ . දියුණුව ඇත්තේ රටක ගොඩනැගිලි වල උස මත වත් ටෙලි ෆෝන් කම්පියුටර ගණන මතමත් නොවේ .

මගේ මිම්මට අනුව නම් ගැහැණු පිරිමි එකසේ සිතන සමාජයක් දියුණුය කියාය . එනම් විමුක්තිය පතා විදි වල කෑමොර දීම නොවේ . දෙගොල්ලන්ම දෙපාර්ශවය  දෙස ගරුත්වයෙන් බැලීමය .

මගේ වෙනත් රටවල මිතුරියන් නිතරම අසන ප්‍රශ්නයක් තිබේ . ඒ වියට්නාමයට වඩා ලංකාව දියුණුද කියාය .
කවදාවත් මට හරි හැටි පිළිතුරක් දෙන්නට බැරිවිය .

ඕනෑම ඇඳුමක් ඇඳගෙන ඕනෑම රාත්‍රියක ගැහැණු ළමයෙක්ට මගතොට යාමේ නිදහස අතින් නම් වියට්නාමය අපට වඩා සැහෙන දියුණුය . අප හෙළුවෙන් පාරේ යා යුතුය කියා නොවේ මා කියන්නේ . තැනට ඔබින පරිදි විලි වසා ගැනීම අවශ්‍ය බව මමද අදහමි .

එහෙත් එය තම තමාගේ කැමැත්ත මතය .

කොයි සමාජයේත් යම් යම් තලෙබන්ලා සිටිති .

සමාජයේ කුඩාම නියැදියක් වන සයිබරය තුලද එසේමය . ගැහැණු  බ්ලොග් ලියද්දි විශේෂයෙන් පරිස්සන් වෙන්න ඕනා වේ .

පොඩි කොනක් අල්ලාගෙන පහර ගසන්නටද . හැකි නම් බ්ලොග් ලිවිල්ල එපා කරවන්නටද මේ තලෙබාන්ලා පසුබට නොවේ .
එසේ එලවා දමන ලද එක අයෙක් ගැන අද පවා විහිලු තහළු කර අමන වින්දනයක් ලබති . මලාලට වෙඩි තැබූ තලෙබාන්ලා සහ මොවුන් අතර වෙනස් කමක් මට නම් නොපෙනේ .

කොහේ හෝ දමන කමෙන්ටුවකින් කෑල්ලක් හෝ කොපි කර පොදු නාන ලින් ළඟ කුණු අපුල්ලන්නට මොවුන් හරිම කැමතිය .

ගුවන් යානයක යාම සුපිරි වැඩකි . අප හැමෝටම ජිවිතයේ විවිධ කඳු පල්ලම් හමුවේ . දුක් කරදර මෙන්ම සතුටු අවස්ථාද තිබේ . ඒවායින් අප ලියනුයේ අපට කැමති දේ පමණකි . මා මගේ දුක් කරදර ලියන්නට අකමැතිය . ලෝකයට ඇති තරම් පරශ්න තිබේ අපේ ප්‍රශ්න අවශ්‍ය නැත . එපමණකින් මේ තලෙබාන්ලා සිතන්නේ අප අමුතුම සතුන් ලෙසය .

අප ගුවන් ගමන් යන්නේ අපේ අධ්‍යාපනය නිසා ලැබුන රැකියාවන් නිසා මිස කාගෙන්වත් හොරකම් කර නොවේ . අප කජු කිරි අවධිය පසුකොට ආ බැවින් අප සමග සිටි හිත මිතුරන්ද අද වන විට විවිධාකාරයේ තනතුරු වල සිටිති. මගේ පාසල් මිතුරු  මිතුරියන් අතර නීති වේදීන් දොස්තරලා , ගුරුවරුන් පත්තර කලාවේදීන් ..මෙන්ම ගෘහනියන්ද සිටිති . එය මගේ වරදක් නොවේ . ඔවුන් ගැන යමක් කි පමණින් මා අමුතු සතෙක් වේද .

පිරිමි බ්ලොග් කරුවන් අතරද නෙක අපවාදයන්ට ගොදුරු වුවන් සිටිති,. . මා මේ කියන්නේ වෙසෙසින් කාන්තා පරපුර ගැනය .
මොවුන් අප අතරම හොඳ මුහුණ පෙන්වමින් සිටින අය විය හැක . කනගාටුව එයයි .

සතුට වන්නේ මේ අතලොස්සක් තලෙබාන්ලා අතර වැඩිමනක් හොඳ මහත්වරුන් සිටිනු දැකීමය .

ගැහැණු ළමයිනි
ලියන්නට නම් බ්ලොග් එකක්
අරන් එන්න කබර හමක්
යකඩෙන් සැදු සිතක් එක්ක


ප.ලි.

කාටහරි මා ලියන දේවල් ගැන ප්‍රශ්නයක් ඇත්නම් මෙතනම ඒ ගැන කතා කරන්න තමයි මේ ලිපිය ලිව්වේ .

ආයේ අනුන්ගේ තැන්වල කතන්දර නොකියා . කමෙන්ට් මොඩරේට් කරන්නේ ඒ කියන දේවල් සභ්‍ය ලෙස පමණක් කීමට ඉඩ දීමටයි .

කරුණාකර මගේ සුහද සගයින් මේ ගැන කලබල නොවන්න . හුඟ දවසක ඉඳන් කවුරු හරි කෙනෙක් කතන්දර බ්ලොග් එකේ එක එක ඇනුම් පද කියා තිබුන . කතන්දරට පුද්ගලිකව කිවත් ඔහුට ඒවා පාලනය කිරීමට අපහසු නිසා ඒ තැනැත්තාට මා කාරුණිකව කියනව මෙතන කියන්න මා ගැන ඔබට ඇති අරෝව මොකක්ද කියල .

ඒ වගේම දැනුවත්ව කිසිවෙකුට වරදක් කර නැතත් මගෙන් නොදැනුවත්ව යමෙක්ට වරදක් වුනි නම් ඒ ගැන සමාවද ඉල්ලන බව කියන්න ඕන .

Wednesday, January 02, 2013

නෙළුම් විල

නෙළුම් විල


හරිම බරැති වචන තුනක්

Posted: 01 Jan 2013 06:56 AM PST

''ලංකාවට ගිහින් ආමි  . ''
ලෙහෙසි පහසු වචන තුනේ වාක්‍යයකි


දුවල පැනල එකතු කරපු
සුට්කේස් පහේ තියෙන
කිලෝ අනු නමයට නම් වඩා වැඩියි
පොඩ්ඩක් හරි ..

අකුරු තුනේ බර කිරුවොත්

එල්ලා ඇති බරට බරේ
 හමු වන්නට දුන් පොරොන්දු

එක වචනෙක අමුණා ඇත
අම්මලාගේ කඳුළු බින්දු

තුත්තිරි වාගේ ඇලවී
ගලවා ගනු බැරුව ගිහින්

''අනේ අපිව අරන් යන්න ''
යයි කිය කිය

පරණ පාරවල යනකොට
වැටිල තිබුන පරණ මතක



''ලංකාවට ගිහින් ආමි ''

හරිම බරැති වචන තුනකි



Monday, December 31, 2012

සිංහලෙන් අන්තර්ජාලයට පිවිසෙන්න අදියගෙ බ්ලොග් එක

සිංහලෙන් අන්තර්ජාලයට පිවිසෙන්න අදියගෙ බ්ලොග් එක


Arduino Tutorials #5 - Knight Rider & For Loop

Posted: 30 Dec 2012 10:46 PM PST

මීට කලින් පළවුනු ලිපි...

#1 - Introduction
#2 - Config & IDE
#3 - Blink!
#4 - Basic Electronics

දැන් මේ වෙනකොට ඔයගොල්ලෝ හැමෝම සාර්ථකව තමන්ගේ ප්‍රථම ප්‍රෝග්‍රෑම් එක එහෙම ලියලා ඉන්නවා කියලා මම හිතනවා. අද මේ Tutorial එකෙන් මම බලාපොරොත්තු වෙන්නේ for loop එක හඳුන්වා දීම හා ඒ හරහා නයිට් රයිඩර් පරිපථයක් නිර්මාණය කිරීමයි. වැඩිය කතා නැතුව අපි කෙළින්ම වැඩට බහිමු.

Project #2 - Knight Rider Circuit!

   #Hardware

මේක project එක කළින් එකෙන් වෙනස් වෙන ප්‍රධානම හේතුව තමයි මේකට එළියෙන් පරිපථයක් නිර්මාණය කිරීමට අවශ්‍ය වීම. මෙතනදී නම් අපට LED 7ක් සහ ඒ LED වලට 220ohm ප්‍රතිරෝධක 7ක් අවශ්‍ය වෙනවා. මේ LED ටික අපි Arduino Board එකේ Digital I/O 2 සිට 8 දක්වා pins වලට සවි කරන්න ඕන. මෙතනදී අපි හදන පරිපථය පේන්නේ මෙහෙමයි.


Breadboard View

මේ තියෙන්නේ ඒකට අදාල Schematic එක.

Schematic View


මේ ටික සවිකරාම ඇත්ත ලෝකයේදී පේන්නේ මෙන්න මේ විදියට...




   #Software

දැන් අපි ප්‍රෝග්‍රෑම් එක ලියන්න පටන්ගමු. ඉස්සෙල්ලාම අපි මේ පරිපථයේ නිවෙන පත්තුවෙන වේගය define කරන්න ඕන. ඒ නිසා ඉස්සෙල්ලාම ඒ වේගය Int එකක් විදියට Define කරන්න.

int Speed = 100;

ඊළඟට අපි අපේ LED තියෙන පින්ස් හතම Outputs විදියට නම් කරන්න ඕන. ඒ සඳහා ක්‍රම දෙකක් තියෙනවා. පළවෙනි ක්‍රමය නම් නිකම්ම ඔක්කොම පින්ස් ටික මේ වගේ වෙන වෙනම Outputs විදියට නම් කරන එකයි.

pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
.      .        . ;
.      .        . ;
pinMode(8, OUTPUT);

ඒවුනාට මේ වගේ දෙයක් කරන්න අපිට for loop එක භාවිතා කරන්න පුලුවන්. for loop එක කියන්නේ Arduino language වල තියෙන තවත් Control Structure එකක්. මේ loop එක භාවිතා කරන්නේ එකම ප්‍රකාශනයක් ( Statement එකක් ) නැවත නැවතත් Repeat කරන්න. for loop එකේ සැකැස්ම මෙහෙමයි.


------------------------------------------------------------------


Image Courtesy arduino.cc

දැන් මේ loop එක වැඩකරන්නේ මෙහෙමයි.

ඔය initialize කියල තියෙන කොටස (int x = 0; කියන කොටස) ක්‍රියාත්මක වෙන්නේ හරියටම එක පාරයි. ඒ loop එක ආරම්භයේදී විතරයි.

ඊටපස්සේ ඕකේ test කියල තියෙන කොටස මඟින් අපි දෙන condition එක පරීක්ෂා කෙරෙනවා (මෙතනදී නම් condition එක වෙන්නේ x < 100)

ඒ Condition එක True නම් (මෙතනදී නම් x, 100ට වඩා අඩු නම්) loop එකේ Statement block එක ක්‍රියාත්මක වෙනවා (මෙතනදී නම් println(x); කියන කොටස, එකෙන් x = 0 කියලා print වෙනවා).

ඒක ක්‍රියාත්මක වෙලා අවසාන වුනාට පස්සේ increment or decrement වෙලා අපි define කරපු variable එකේ අගය වෙනස් වෙනවා (මෙතනදී නම් x වල අගය 0වේ සිට 1ට වැඩි වෙනවා).

ඊට පස්සේ නැවතත් test එක වෙලා Statement Block එකට යනවා (දැන් ආපහු පාරක් initialize වෙන්නේ නෑ ) නමුත් දැන් තියෙන වෙනස නම් x වල අගය 1ක් වීමයි. (ඒ නිසා print වෙන්නේ x = 1 කියලයි).

මේක මේ විදියට දිගින් දිගටම condition එක false වෙනකන් (මෙතනදී නම් x වල අගය 99ට වැඩි වෙනකම්) ක්‍රියාත්මක වෙනවා. ඊට පස්සේ loop එක අවසාන වෙලා ඊළඟ function එකට යනවා.


-------------------------------------------------------------

දැන් අපි ඕක ගැන වැඩිය හිතන්නේ නැතුව අපි දැන් for loop එක භාවිතා කරලා 2 සිට 8 දක්වා Digital Pins outputs බවට පත් කර ගමු. ඒක කරන්නේ මෙහෙමයි.


void setup() {
  for(int ledPins = 2; ledPins < 9; ledPins++) {
    pinMode(ledPins, OUTPUT);
  }
}

දැන් Programme එකේ ප්‍රධාන කොටස වෙන LED නිවීම හා දැල්වීම කරන්න ඕනේ. අපිට මේ ටික කරගන්න for loop දෙකක් අවශ්‍ය වෙනවා. මේ loops දෙක ක්‍රියාත්මක වෙන්නේ මෙහෙමයි.




පළවෙනි loop එකෙන් LED 1 සිට 6 දක්වා දැල්වෙනවා. දෙවැනි loop එකෙන් LED 7 සිට 2 දක්වා අනිත් පැත්තට දැල්වෙනවා. මේ ටික නැවත නැවතත් Repeat වෙනකොට අපිට ඕන කරන effect එක ලබාගන්න පුලුවන්. මේ සඳහා අවශ්‍ය කරන loops දෙකේ කේත සටහන් මෙහෙමයි.


void loop() {
  
  for(int ledPins = 2; ledPins < 8; ledPins++) {
    digitalWrite(ledPins, HIGH);
    delay(Speed);
    digitalWrite(ledPins, LOW);
  }
  
  for(int ledPins = 8; ledPins > 2; ledPins--) {
    digitalWrite(ledPins, HIGH);
    delay(Speed);
    digitalWrite(ledPins, LOW);
  }
}

ඔය කේත ටික හැමෝටම දැන් තේරුම්ගන්න පුලුවන් ඇති කියලා මම හිතනවා. කලින් ප්‍රෝග්‍රෑම් එකට වඩා මේකේ තියෙන එකම වෙනස අපි digitalWrite function එක ඇතුලට කෙලින්ම pin number එක දාන්නේ නැතුව ඒ සඳහා for loop එක ඇතුලේ define කරපු variable එක යොදාගෙන තිබීම විතරයි.මේ දැක්වෙන්නේ අපේ සම්පූර්ණ ප්‍රෝග්‍රෑම් එක..


int Speed = 100;

void setup() {
  for(int ledPins = 2; ledPins < 9; ledPins++) {
    pinMode(ledPins, OUTPUT);
  }
}

void loop() {
  
  for(int ledPins = 2; ledPins < 8; ledPins++) {
    digitalWrite(ledPins, HIGH);
    delay(Speed);
    digitalWrite(ledPins, LOW);
  }
  
  for(int ledPins = 8; ledPins > 2; ledPins--) {
    digitalWrite(ledPins, HIGH);
    delay(Speed);
    digitalWrite(ledPins, LOW);
  }
}

දැන් ඉතින් දෙයියනේ කියලා Arduino බෝඩ් එක කොම්පීතරේට හයි කරලා හරියට කෝඩ් එක ටයිප් කරලා Upload button එක ඔබන්න. මේ තියෙන්නේ මම හදපු Circuit එකේ වීඩීයෝ එකක්. මගේ කැමරාවේ පොඩි අව්ලක් නිසා Audio රෙකෝඩ් වෙන්නේ නෑ :'(  :'( ඒ වුනාට ඉතින් බලන්න පුලුවන්... 



එහෙනම් කස්ටියටම ගුඩ්බායි... අදට පෝස්ට් එක ඉවරයි. ඕනම ජාතියක අව්ලක් ගියොත් යටින් කොමෙන්ට් එකක් දාලා අහන්න..

Arduino Tutorials #4 - Basic Electronics

Posted: 30 Dec 2012 08:52 AM PST

ඉස්සෙල්ලාම Arduino සම්බන්ධ පරණ ලිපි කියෙව්වේ නැත්නම් ඒ ටික කියවල එන්න..

#1 - Introduction
#2 - Config and IDE
#3 - Blink!

අපි දැනට Arduino හරහා අපේ පළවෙනි Project එක සාර්ථකව නිමා කරලයි තියෙන්නේ :) මීට වඩා සංකීර්ණ පරිපථවලට යන්න කලින් අපි මූලික ඉලෙක්ට්‍රොනික උපකරණ ගැන දැනගෙන ඉන්න ඕනේ. ඒ නිසා අපි මේ ලිපියෙන් දැනට බහුලව භාවිතා වෙන ඉලෙක්ට්‍රොනික උපකරණ කීපයක් ගැන ඉගෙනගෙන ඉමු. ඉස්සෙල්ලාම බලමු කොහොමද Breadboard එකක් පාවිච්චි කරන්නේ කියලා...

Breadboards

මේ තියෙන්නේ අපිට බහුලවම හමුවෙන ජාතියේ Breadboard එකක්.


A Normal Breadboard

මේ හැම Breadboard එකකම Power Lines සහ අපේ උපකරණ සවිකරන්න වෙනමම කොටස් තියෙනවා. Breadboard එකක් ඇතුලෙ තියෙන Connectionsමේ විදියයි


Breadboard එකක සාමාන්‍ය පෙනුම

Breadboard එක ඇතුලේ connections...

Inside a Breadboard

ඔය කොළපාට ඉරිවලින් පෙන්වන්නේ Breadboard එක ඇතුල සම්බන්ධ වෙන විදියයි. මේවා වලින් දෙපැත්තේ තියෙන දිග Connections දෙක අපි සාමාන්‍යයෙන් යොදාගන්නේ Power Lines විදියටයි. මේක වැඩකරන විදිය අපි ඉදිරියට Projects කරනකොට තවදුරටත් ප්‍රායෝගිකව බලාගන්න පුලුවන් වෙයි. :)

Resistors (ප්‍රතිරෝධක)


සාමාන්‍ය Axial-Lead type ප්‍රතිරෝධකයක්

Resistor එකක් කියන්නේ පරිපථයක් තුල ධාරාව ගලා යෑමට බාධාවක් ඇති කරන උපාංගයක්. අපි හදන ( හෝ දකින ) සෑම පරිපථයකම වගේ අනිවාර්රයෙන්ම ප්‍රතිරෝධක අඩංගු වෙනවා. ප්‍රතිරෝධකවල අගය මනින්නේ Ohm (Ω)  කියන ඒකකය යොදාගෙනයි. සාමාන්‍යයෙන් අපි භාවිත කරන ප්‍රතිරෝධක වල අගය 1Ω සිට 1MΩ දක්වා පමණ වෙනවා. ( 1000Ω = 1KΩ , 1000KΩ = 1MΩ ) ප්‍රතිරෝධක වල අගය සටහන් කරලා තියෙන්නේ විශේශ වර්ණ කේත ක්‍රමයකට අනුවයි. මේ ක්‍රමයට අනුව 0-9 දක්වා අගයන්ට වර්ණ ලබා දී තියෙනවා. මේ ක්‍රමයට අනුව ප්‍රතිරෝධකයක වර්ණ වළලු 4ක් තියෙනවා ( 5ක් තියෙන ප්‍රතිරෝධකත් තියෙනවා. නමුත් ඒවා අපිට වැදගත් වෙන්නේ නෑ ) මේ වළලු වලින් ප්‍රථම හා දෙවන වළලු වල අගය කෙලින්ම ගන්න පුලුවන්. නමුත් 3න් වන වර්ණ වළල්ලේ අගය වෙනුවට අපි එම අගයට අදාල ගුණාකාරයෙන් පළමු අගය වැඩි කරන්න ඕන. හතර වෙනි වළල්ලෙන් පෙන්වන්නේ Tolerance එකයි. ඒ කියන්න රෙසිස්ටරයේ දක්වා ඇති අගය වෙනස් වීමේ ප්‍රතිශතයයි. අපි උදාහරණ කීපයක් අරගෙන බලමු. ඉස්සෙල්ලාම පහත දැක්වෙන වර්ණ වගුව බලන්න.



උදා :- මේ පහළ දැක්වෙන රෙසිස්ටරය බලන්න. 






පළවෙනි වළල්ලේ අගය = 5 ( Green )
දෙවැනි වළල්ලේ අගය = 6 ( Blue )
තුන්වැනි වළල්ලේ අගය = 1 (Brown )
සිවුවැනි වළල්ලේ අගය = ± 5% ( Gold )

සම්පූර්ණ අගය = 56 x 10^1= 560Ω ± 5%

( මෙහිදී පළවෙනි වළල්ලේ අගය හා දෙවැනි වළල්ලේ අගය කෙළින්ම එක ළඟ ලිවිය යුතුයි. ඉන්පසු 3න් වැනි වළල්ලට අදාල ගුණාකාරයෙන් එම අගය ගුණ කළ යුතුයි. )

උදා 2 :- මේ ප්‍රතිරෝධකයේ අගය ගණනය කරමු.




පළවෙනි වළල්ලේ අගය = 4 ( Yellow )
දෙවැනි වළල්ලේ අගය = 7 ( Violet )
තුන්වැනි වළල්ලේ අගය = 3 ( Orange )
සිවුවැනි වළල්ලේ අගය = ± 5% ( Gold )

සම්පූර්ණ අගය = 47 x 10^3= 47000Ω = 47KΩ ± 5%

රෙසිස්ටරයක සම්මත පරිපථ සංකේතය විදියට පහත දැක්වෙන සංකේත දෙකම භාවිතා කරන්න පුලුවන්.




Transistors (ට්‍රාන්සිස්ටර)


විවිධ වර්ගවල ට්‍රාන්සිස්ටර
අපිට විවිධ පරිපථ සාදද්දී තවත් නැතුවම බැරි දෙයක් තමයි ට්‍රාන්සිස්ටර කියන්නේ. ට්‍රාන්සිස්ටරයකට ස්විචයක් විදියට හෝ ධාරා වර්ධකයක් ලෙස ක්‍රියා කරන්න පුලුවන්. අපි මේවායේ ප්‍රායෝගික භාවිත ගැන ඉදිරියට කථා කරමු. ඕනම ට්‍රාන්සිස්ටර්යක අපිට Pins තුනක් දැකගන්න පුලුවන්. මේ Pins නම් කරන්නේ පාදම ( Base - B ), විමෝචකය ( Emitter - E ) හා සංග්‍රාහකය ( Collector - C ) කියලයි. මේවාරින් අපි පාදමට ලබාදෙන ධාරාවක් හරහා සංග්‍රාහකය සහ විමෝචකය අතර ගලා යන විදුලිය පාලනය කරන්න පුලුවන්. අපි පාවිච්චි කරන ට්‍රාන්සිස්ටර NPN හා PNP ලෙස ප්‍රධාන කොටස් දෙකකට වර්ග කරන්න පුලුවන්. මේ වර්ග දෙක අතර තියෙන එකම් වෙනස නම් NPN ට්‍රාන්සිස්ටර වල ධාරාව ගලා යන්නේ C සිට E වෙතටයි. නමුත් PNP ට්‍රාන්සිස්ටරයක ධාරාව ගලා යන්නේ E සිට C වෙතටයි. මම මේවා ගැන මෙතනදී වැඩිය කථා කරන්න යන්නේ නෑ..

TO-92 ප්‍රමාණයේ ට්‍රාන්සිස්ටරවල Pin සැකැස්ම හා අදාල පරිපථ සංකේත
`
Capacitors (ධාරිත්‍රක)


විවිධ වර්ගවල ධාරිත්‍රක
ධාරිත්‍රක භාවිතා වෙන්නේ පරිපථයක තාවකාලිකව විදුලිය රඳවා තබාගැනීමටයි. අපිට සරලවම ධාරිත්‍රයකයක් Rechargable Battery එකක් විදියට හඳුන්වන්න පුලුවන්. එකම වෙනස වෙන්නේ මේකේ ධාරිතාවය සාපේක්ෂව ඉතාම අඩු වීමයි. ( ඔයගොල්ලෝ අනිවාර්රයෙන්ම දැකලා ඇති ඔය Phone Chargers එහෙම ප්‍රධාන විදුලියෙන් විසන්ධි කරපු ගමන්ම ඒකේ තියෙන LED එක නිවෙන්නේ නැති බව. ඒ LED එක ටික වෙලාවක් දිගටම දැල්වෙනවා. එහෙම වෙන්නේ ඒ එක ඇතුලේ තියෙන ධාරිත්‍රක වල Charge එක නිසයි ) ධාරිත්‍රක ප්‍රායෝගික භාවිතයේදී බැටරියක් වගේම ධාරාවන් සුමටනය කීරීමටත් භාවිතා වෙනවා. මේවායේ ප්‍රායෝගික භාවිතයන් අපි ඉදිරියට විමසා බලමු. පහල දැක්වෙන්නේ Capacitors වල සම්මත පරිපථ සංකේතයි.



Diodes

Diode එකක් කියන්නේ මූලිකවම එක පැත්තකට පමණක් ධාරාව ගලා යෑමට ඉඩදෙන ඉලෙක්ට්‍රොනික උපාංගයක්.  LED කියන්නෙත් Diodes වර්ගයක්ම තමයි. Diodes භාවිතා කරලා AC --> DC බවට පත්කිරීම වගේ දේවල් කරන්න පුලුවන්. මේ තියෙන්නේ Diodes වලට අදාල පරිපථ සංකේතය.



Relays (පිළියවන)


Relays!

Relays භාවිතා කරලා අපිට කුඩා ධාරාවක් මඟින් ඉතා විශාල ධාරාවක් පාලනය කරන්න පුලුවන්. ට්‍රාන්සිස්ටර වලට වඩා මේවායේ තියෙන විශේශත්වය වෙන්නේ Relays මඟින් අපේ පරිපථය Load එකෙන් ඒකලිත (Isolate) කිරීමයි. ඒ කියන්නේ අපිට Microcontroller එක මඟින් සාමාන්‍ය 230V AC බල්බයක් දැල්වීමට අවශ්‍ය වුනොත් Relay එකක් භාවිත කරන්න පුලුවන්. එතකොට අපේ පරිපථය හා බල්බය එකිනෙකින් සම්පූර්ණයෙන්ම වෙන්වෙනවා. එතකොට බල්බයට යන විශාල ධාරාව නිසා අපේ Microcontroller එකට හානිවීම වැලැක්වෙනවා. මේවා භාවිතයත් අපි ඉදිරියේදී කරමු.


A Circuit to Drive an AC Device using a Microcontroller

අද පෝස්ට් එකෙන් මම කථාකරන්න බලාපොරොත්තු වෙන්නේ මේ උපාංග ටික ගැන විතරයි. මේවාට අමතරව අපිට ඉලෙක්ට්‍රොනික ලෝකයේදී හමුවන උපාංග ඉතා විශාල ප්‍රමාණයක් තියෙනවා. අපි ඉතින් ඒවා ගැන අදාල තැන්වලදී කථාකරමු...ඕනම ප්‍රශ්නයක් තියෙනවනම් යටින් කමෙන්ට් කරලා අහන්න පුලුවන්...

එහෙනම් අපි කැපුනා! ඊළඟ පෝස්ට් එකෙන් නයිට් රයිඩර් පරිපථය හදමු.. :D

Friday, December 28, 2012

සිංහලෙන් අන්තර්ජාලයට පිවිසෙන්න අදියගෙ බ්ලොග් එක

සිංහලෙන් අන්තර්ජාලයට පිවිසෙන්න අදියගෙ බ්ලොග් එක


Arduino Tutorials #3 - Blink!

Posted: 27 Dec 2012 07:58 PM PST


කලින් ලිපි තාම කියෙව්වේ නැද්ද?

Arduino Tutorials #1 - Introduction
Arduino Tutorials #2 - Config and IDE

වෙල්කම් බැක්! දැන් එහෙනම් අපි Arduino Software එක ගැන ටිකක් දැනගෙන ඉමු.

Arduino Software එක ප්‍රධාන කොටස් දෙකකින් සමන්විතයි. ඒ Arduino IDE ( Integrated Development Environment ) එක සහ ප්‍රධානම Core Libraries වලින්.මේ දෙකෙන් අපි ප්‍රෝග්‍රෑම් ලියන්න භාවිතා කරන්නේ Arduino IDE එකයි. ( Libraries වලින් කරන්න පුලුවන් දේවල් ගැන අපි ඉදිරි පෝස්ට් වලින් කතාකරමු. ) මේ IDE එක ලියලා තියෙන්නේ ජාවා යොදාගෙන. ඒ වගේමයි මේ IDE එක ප්‍රධාන වශයෙන්ම පදනම් වෙලා තියෙන්නේ Processing කියන Development Environment එක මතයි. මේකේ වැදගත්ම කොටස වෙන Arduino Language වෙන එක පදනම් වෙන්නේ අපි හැමෝම දන්න C සහ C# Languages දෙක මතයි. මේ Software එකේ හැම කොටසක්ම විවෘත මෘදුකාංග විදියට තමයි තියෙන්නේ.

ඔය තියෙන දේවල් එකක්වත් අපිට Projects කරන්න කිසිම විදියකට වුවමනා වෙන්නේ නෑ. ඒ වුනාට ඉතින් හැමදේකම වටපිටාව දැනගෙන ඉන්න එක හොඳයිනේ ;)
දැන් එහෙනම්,

Project #1 - Blink!

මේ ප්‍රොජෙක්ට් එක බොහොම සරලයි. අපි මේකෙදී කරන්න බලාපොරොත්තු වෙන්නේ Arduino Board එකේ Inbuilt තියෙන LED එක නිවි නිවී පත්තුවෙන්න සකස් කිරීමයි. මේ Inbuilt LED එක කිව්වේ L LED එක. ඔයගොල්ලො කලින් පෝස්ට් එක කියෙව්වනම් මේ L LED එක සවිවෙලා තියෙන්නේ Digital Pin 13 වලට කියලා මතක ඇති.. මේ Project එකේදී අපට වෙන කිසිම දෙයක් Arduino Board එකට එලියෙන් සවිකරන්න වුවමනා වෙන්නේ නෑ. Board එක තිබුනාම ඇති.


L LED UNO
L LED of Arduino UNO

ඕනම Arduino programme එකක අනිවාර්‍රයෙන්ම තියෙන Structures දෙකක් තියෙනවා. ඒ තමයි "void setup ()" සහ "void loop ()" කියන Structures දෙක. අපි ලියන ප්‍රෝග්‍රෑම් එක දාන්න ඕන මේ "setup" සහ "loop" කියන කොටස් දෙක ඇතුලටයි. මේ දෙකෙන් "setup" කියන එක අපි Programme එක ස්ටාර්ට් කරාම එක පාරක් වැඩකරලා ඊළඟට "loop" කියන එකට යනවා. "loop" එක හැමදිස්සෙම ආපහු ආපහු වැඩ කරකර තමයි තියෙන්නේ. ඒ නිසා ඔයගොල්ලන්ට තේරෙනවා ඇති අපට ප්‍රෝග්‍රෑම් එකේ එකපාරක් විතරක් වෙන්න ඕන දෙවල් ටික "setup" එක ඇතුලට දාලා ඊළඟට repeat වෙන්න ඕන දෙවල් ටික "loop" එක ඇතුලට දාන්න ඕන බව..  තේරුනේ නැත්නම් දිගටම කියවගෙන යන්න...තේරුනත් දිගටම යන්න :P


අපි දැන් අපේ ප්‍රෝග්‍රෑම් එකේ වෙන්න ඕන දෙවල්. ඒ කියන්නේ pseudo code එකක් වගේ එකක් ලියමු.( ඒ කියන්නේ අපේ ප්‍රෝග්‍රෑම් එකේ ව්‍යූහය ) දැන් අපිට අපේ Pin 13 එකේ තියෙන LED එක Blink කරන්න නම් පහල තියෙන දේවල් කරන්න ඕන.

1) LED එක සවිකර ඇති Pin එක Pin 13 බව Arduino එකට පැවසීම.
2) එම Pin එක Output එකක් බවට පත් කිරීම.
3) LED එක දැල්වීම.
4) ටික වේලාවක් බලාසිටීම.
5) LED එක නීවීම.
6) ටික වේලාවක් බලාසිටීම.
7) නැවතත් අංක 3 වෙත යෑම.

ඔය පියවරවල් ටික බැලුවාම ඔයගොල්ලන්ට බොහොම පහසුවෙන් අවබෝධ කර ගන්න පුලුවන් දෙයක් තමයි ඔතන තියෙන පියවර 1 හා 2 එක පාරක් වැඩකරාම ඇති බව. නමුත් පියවරවල් 3 සිට 7 දක්වා නැවත නැවතත් Repeat වෙන්න ඕන. ඒ නිසා අපි ඔය පියවරවල් වලින් 1 සහ 2 දානවා එක "setup" ඇතුලට. අනිත් ටික (3 සිට 7 දක්වා) දානවා "loop" එක ඇතුලට.

දැන් අපි ලියන්න පටන්ගමු. ඉස්සෙල්ලම කරන්න ඕන අපේ ledpin එක මොකද්ද කියලා define කරන එකයි. ඒ සඳහා මම මෙහෙම ලියනවා.

int ledpin = 13;

ඔය line එකෙන් කෙරෙන්නේ Pin 13 කියන එක Int එකක් විදියට define කරන එකයි. ඊට පස්සේ අපිට හැමතැනම Pin 13 වෙනුවට ledpin කියලා කියන්න පුලුවන්. ( මෙතනදී ledpin කියලාම කියන්න අවශ්‍ය වෙන්නේ නෑ. ඔයගොල්ලන්ට කැමති නමක් දෙන්න පුලුවන්. නමුත් ඒ pin එකට අදාල නමක් දැම්මාම ඒක බොහොම පහසුවක් වෙනවා.) මේවගේ define කරන ඒවා අපි "setup" හා "loop" කියන දෙකටම කලින් කරන්න ඕන.

දැන් ledpin එක output එකක් කරන එක අපි "setup" එක ඇතුලෙ කරන්න ඕන. ඒක මෙහෙම කරන්න පුලුවන්.


void setup() {                
  pinMode(ledpin, OUTPUT);  
}

දැන් අපේ "loop" එක ආරම්භ කරන්න ඕන. ඒ සඳහා අවශ්‍ය සම්පූර්ණ කේත සටහනම මෙහෙමයි.

void loop() {
  digitalWrite(ledpin, HIGH);
  delay(1000);
  digitalWrite(ledpin, LOW);
  delay(1000);
}
ඔතන තියෙන "digitalWrite" කියන function එකෙන් කෙරෙන්නේ අපේ outputs විදියට define කරලා තියෙන digital pins, on හරි off හරි කරන එකයි. ( HIGH කියන්නේ on කියන එකයි. LOW කියන්නේ off වලටයි )


ඒවගේම අපි "delay" කියන function එක භාවිතා කරන්නේ අපේ programme එක වැඩකිරීම යම්කිසි වේලාවකට නවත්වා තැබීමටයි. මෙතනදී නම් LED එක ඔන් කළාට පස්සේ ආපහු LED එක off වෙන්න කලින් තත්පරයක කාලයක් LED එක on තත්වයේම තබාගැනීම delay එක මඟින් මෙතනදී සිදුකරනවා. ( delay function එකෙදී අපි delay time එක ලබාදෙන්න ඕන මිලිතත්පර වලිනුයි.  එක තත්පරයකට මිලිතත්පර 1000ක් තියෙනවා. | | 1 second = 1000 milliseconds )



ඉතා වැදගත්! :- Arduino Language එක Case Sensitive. ඒ කියන්නේ කැපිටල් සහ සිම්පල් අකුරු හරි විදියට තියෙන්න ඕන. ඒ හින්දා මම මෙතනදී දෙන කෝඩ් එක ඒ තියෙන විදියටම ලියන්න. කැපිටල් සිම්පල් මාරු කරන්න එපා. 

උදා : - Digitalwrite() - මේක වැරදියි.
           DigitalWrite() - මේකත් වැරදියි. 
           digitalWrite()- මේ විදිය විතරයි හරි.



මෙතනදී අපි අපේ "loop" එක ඇතුලේ තියෙන කෝඩ් එක repeat  වෙන්න කියලා කියන්න අවශ්‍ය වෙන්නෙ නෑ. "loop" එක ඇතුලේ තියෙන දේවල් ටික ක්‍රියාත්මක (execute) වෙලා ඉවරවුනාට පස්සේ ආපහු එයාම "loop" එකේ ආරම්භයට යනවා.

මේ තියෙන්නේ අපේ සම්පූර්ණ ප්‍රෝග්‍රෑම් එක!

int ledpin = 13;

void setup() {
  pinMode(ledpin, OUTPUT);
}

void loop() {
  digitalWrite(ledpin, HIGH);
  delay(1000);
  digitalWrite(ledpin, LOW);
  delay(1000);
}


දැන් අපේ ප්‍රෝග්‍රෑම් එක සම්පූර්ණයි! දැන් ඉතින් Arduino IDE එකේ තියෙන Upload Button එක ඔබලා ප්‍රෝග්‍රෑම් එක බෝඩ් එකට upload කරන්න. 


Upload Button Position
Upload Button
වැඩේ සාර්ථකව කළානම් L LED එක නිවී නිවී පත්තු වෙන්න ඕන. මේ වීඩියෝ එක බලන්න.







එහෙනම් අදට පෝස්ට් එක ඉවරයි. අපි ඊළඟ පෝස්ට් එකෙන් නයිට් රයිඩර් පරිපථයක් හදන විදිය හා Analog Inputs/Controls ගැන ඉගෙනගමු, ඒ දෙකම එකට යොදාගෙන ප්‍රොජෙක්ට් එකකුත් කරමු!. මෙතෙක් කරපු දේවල් මොනව හරි ප්‍රශ්නයක් තියෙනවනම් යටින් කමෙන්ට් කරන්න.. :))

Thursday, December 27, 2012

සිංහලෙන් අන්තර්ජාලයට පිවිසෙන්න අදියගෙ බ්ලොග් එක

සිංහලෙන් අන්තර්ජාලයට පිවිසෙන්න අදියගෙ බ්ලොග් එක


Arduino Tutorials #2 - Arduino Config & IDE

Posted: 26 Dec 2012 10:40 PM PST

මම හිතනවා මේ වෙනකොට හැමෝම අපේ පළවෙනි ලිපිය කියවලා තව ගූග්ල් දෙයියාගෙනුත් අහලා Arduino ගැන යම් තරමක අවබෝධයක් සහ ඒකෙන් කරන්න පුලුවන් දේවල් ගැනත් දැනගෙන ඇති කියලා. අද එහෙනම් අපි ඉස් ඉසෙල්ලම Arduino Board එකක කොටස් අඳුරගෙන අපේ පළවෙනි ප්‍රෝග්‍රෑම් එක ලියමු!


ඔය පහළින් තියෙන්නේ Arduino UNO බෝඩ් එකක් කොටස්..




1) USB සම්බන්ධතාවය
2) DC Power Jack
3) ATMega 328P මයික්‍රෝප්‍රොසෙසරය
4) Communications Chip එක
5) 16Mhz ක්ලොක් ( Crystal ) එක
6) Reset Button
7) Power LED

8) TX/RX LEDs
Arduino එකේ Serial data communication ගැන බලාගන්න පුලුවන් මේ LED වලින්. Serial හරහා Arduino එකට ඩේටා එවනකොට මෙතන තියෙන RX LED එක බ්ලින්ක් වෙනවා. ඒවගේම Serial හරහා Arduino එක විසින් ඩේටා එවනකොට TX LED එක බ්ලින්ක් වෙනවා.

9) L LED
මේ LED එක Digital Pin 13 එකට අභ්‍යන්තර ප්‍රතිරෝධකයක් හරහා සම්බන්ධ වෙනවා.

10) Power Pins
මේ pins, Arduino එකට විදුලිය සපයන්න වගේම කරන්ට් එක එලියට ගන්නත් භාවිතා කරන්න පුලුවන්.

11) Analog Input Pins
Arduino එකට Analog Inputs ගන්න මේ Pins පාවිච්චි කරනවා.

12) TX/RX Pins

13) Digital I/O pins
ගොඩක් වෙලාවට Outputs ගන්න මේ පින් පාවිච්චි කරනවා. ඒ වගේම මේවාට Inputs වුනත් සවි කරන්න පුලුවන්.

14) AREF ( Analog Reference ) and GND

15) ICSP (In-Circuit Serial Programming ) for ATMega 328P

16) ICSP for USB

මෙතන තියෙන දේවල් වැඩිය තේරුනේ නැති වුනාට එච්චර කලබල වෙන්න දෙයක් නෑ. අපි ඉස්සරහට ප්‍රොජෙක්ස් කරගෙන යනකොට මේවා ප්‍රායෝගිකව පාවිච්චි කරනකොට ඒවා ලේසියෙන්ම තේරුම්ගන්න පුලුවන්. :)

නියමයි! දැන් අපි කෙලින්ම ප්‍රෝග්‍රැමින් වලට බහිමු. Arduino ප්‍රෝග්‍රෑම් කරන්න නම් ඔයාලගේ පරිගණකයේ Arduino Software එක තියෙන්න ඕන. මේක වින්ඩෝස්, ලිනක්ස් සහ මැක් යන OS තුනටම සහයෝගය දක්වනවා. ඒවගේම මේ Arduino Software එක ස්ථාපනය කිරීමක් අවශ්‍ය වෙන්නේ නෑ. දැනට තියෙන අලුත්ම සංස්කරණය වෙන්නේ Arduino 1.0.3 එකයි. ඒක මෙතනින් බාගන්න.

සටහන :- Arduino Software එක දුවන්නේ Java මත නිසා ඔයාලට Java Runtime Environment එකත් පරිගණකයේ තිබීම අවශ්‍ය වෙනවා. දැනටමත් ඔයගොල්ලෝ Java දාලා නැත්නම් මෙතනින් Java Download කරගන්න.

ඊටපස්සේ ඩවුන්ලොඩ් වුනු zip ෆයිල් එක වෙනම ෆෝල්ඩයරක් ඇතුලට Extract කරගන්න. ඊට පස්සේ ඒක ඇතුලේ තියෙන "Arduino.exe" ප්‍රෝග්‍රෑම් එක රන් කරන්න. දැන් ඔයගොල්ලෝ ප්‍රෝග්‍රෑම් කරන්න සූදානම්!


Run "arduino.exe"


Arduino Software එක ලෝඩ් වෙනවා!


දැන් අපි ඉස්සෙල්ලම කරන්න ඕන අපේ Arduino බෝඩ් එක පරිගණකයට සම්බන්ධ කරන එකයි. එහෙම සම්බන්ධ කරාට පස්සේ අපේ Board එක පරිගණකයට සම්බන්ධ කරල තියෙන පෝට් එක සහ අපේ Board එකේ වර්ගය Arduino Software එකට කීයන්න ඕන. මේ පෝට් එක Device Manager හරහා දැනගන්න පුලුවන්. ඒ සඳහා පහත දැක්වෙන පියවරවල් අනුගමනය කරන්න.


සටහන :- Arduino USB වුනාට ඒක වැඩකරන්නේ Serial Emulation යොදාගෙන. ඒ කියන්නේ අපි මේක USB හරහා සම්බන්ධ කරාට පරිගණකය හිතන්නේ මේක හයිකරලා තියෙන්නේ Serial Port එකක් හරහා කියලයි. ඒ නිසා අපේ Board එකට අංකයක් තියෙනවා මේ වගේ ( COM1 ).


  1. Arduino Board එක පරිගණකයට සවිකර තිබියදී Device Manager එකට යන්න. එකේ Ports කියන Section එක යටතේ ඔයගොල්ලන්ගේ බෝඩ් එකේ නමත් එක්ක ඒකට අදාල පෝට් එක බලාගන්න පුලුවන් වෙයි.
  2. Arduino Software එකේ Tools >> Serial Port වලට ගිහින් ඔයගොල්ලන්ගේ Arduino Board එකට අදාල පෝට් එක select කරන්න. ඒ සමඟම Tools >> Board හරහා ඔබගේ Board එකේ වර්ගයද තෝරා දෙන්න.



Device Manager එකට යන විදිය

අදාල Serial පෝට් එක (මෙතනදී නම් COM6)
Selecting the Correct Port
Selecting Your Board Type

ඔබ ඉහත පියවරවල් ටික නිවැරදිව සම්පූර්ණ කර ගත්තා නම් දැන් ඔබ Arduino Board එක නිවැරදිව Configure කර ගෙන අවසානයි. දැන් ඉතින් තියෙන්නේ Project එකක් කරන්න තමයි. මම මුලින් හිතුවෙ ඒකත් මේ පෝස්ට් එකත් එක්කම දාන්නයි. නමුත් දැන් ඒකට ටිකක් ඉඩ වැඩිය යන නිසා ප්‍රෝග්‍රෑමින් ඊළඟ පෝස්ට් එකෙන්ම දාන්නම්. මේ වන තෙක් මොකක් හරි ප්‍රශ්නයක් ආවානම් යටින් කොමෙන්ටුවක් දාන්න. එහෙනම් අපි ගියා!