Arduino

search

Sunday, October 22, 2017

ARDUINO code ලිවීමට මූලික දැනුම.

මම කලින් දාපු ලිපි එහෙම කියවලා , පොඩියට code එකක් එහෙම ලියලා ඉන්න කෙනෙක් නම් ඔයා,,,,,,,,,

අනිවාම හිතන් ඇත්තේ ......... දැන් code ලියන විදිය ගැන දන්නවා කියලා, ඒක ටිකක් දුරට හරි,. ඒත් code ලියන විදිය නම් ඕන තැනකින් ඉගෙන ගන්න පුළුවන්. රු 6000 ඉඳන් කෝස් තියනවා. ඒවා පටන් ගන්නේ ඔය කලින් ලිපියේ දාලා තියන code එකෙන්. ඉවර වෙන්නේ eeprom , line follower robot  වගේ තැනකින්. ඒත් ඔයාට කවදාවත් තනියම මොකක්  හරි ක්‍රියාවලියක් පොදු ශ්‍රිතයකට හරවලා code එකක් නම් ලියාගන්න බැරි එක sure.

අද ඉඳන් දාන ලිපි පෙළ c , java , c# , c++ , micro c , vb , arduino ඔය කෝකටත් උවමනා වන විදියටයි පල කරන්නේ, මේ දාන ලිපි වල අරමුණ code ලියන හැටි කියලා දෙන එක නෙවෙයි , code ලියන්න හිතන හැටි ගැන කියලා දෙන එක. මම පහල පොඩි උදාහරණ දෙකක් දාලා ඒක ගැන පැහැදිලි කරන්නම්.

ඔයාට set වෙනවා සබන් හදන සමාගමක innovation එකක් කරන්න. වැඩේ මේකයි, සබන් පෙට්ටි ලොකු පෙට්ටි වල pack කරන්න කලින් සබන් පෙට්ටි ඇතුලේ සබන් කැට තියනවද කියලා check කරන්න ඕනි. පොඩි සබන් පෙට්ටියක සබන් කැට 5ක් එනවා. නමුත් pack කරන machine එකෙන් ඉතාම කලාතුරකින් වෙන මඟ හැරීමක් නිසා සබන් සමහර පෙට්ටි හිස්වම එනවා. අවස්ථා දෙකයි.

 # එක්කෝ සබන් පෙට්ටිය ඇතුලේ සබන් කැට 5ම එනවා,
 # නැත්තම් එකක් වත් නෑ,

දැන් පෙට්ටි ලොකු බෙල්ට් එකක් උඩ එකක් පිටුපස එකක් විදියට pack කරන machine එකෙන් සබන් පෙට්ටි එනවා. ඔයාගේ කාර්ය තමා ඒ හිස් පෙට්ටි බෙල්ට් එකෙන් අයින් කරන ගැජට් එකක් හදන එක. දැන් ඔයා කොහොමද ඒක කරන්නේ,

* සමහරු කියයි බර වෙන වෙනම මැන ගෙන බර අඩු ඒවා රොබෝ arm එකකින් ඉවත් කරනවා කියලා.
* සමහරු කියයි සබන් පෙට්ටි වල X-ray scan අරගෙන ඒවා image කරලා check කරලා, සබන් නැති පෙට්ටි     ලේසර් එකකින් පුච්චලා දානවා කියලා ( "__" )

නමුත් මේක ඉතාම සරලව කරන්න පුළුවන් ක්‍රම ඕන තරම් තියනවා, මේක ඉතාම ලාබදායි විදියට කරන්න පුළුවන්,

අවස්ථා දෙකයි නේ,

හිස්ම පෙට්ටිය විසිවෙන තරමට සැර , කැට 5ම තියන පෙට්ටිය විසි නොවන තරමට එන හුලං  පාරක් කම්පෙෂර් එකකින් දුන්න නම් වැඩේ හරි නේ, මේකේ ටිකක් හරි අමාරුවකට තියෙන්නේ බෙල්ට් එක යන වේගය හා බෙලේට් එකේ ඝර්ෂණය ගැන ඉතාම සරලව හිතන එක විතරයි. ඒකත් සරල A/L මට්ටමේ ගානක්.

දැන් ඔයාට තේරෙන්න ඇතිනේ , coding කියන්නේ තනිකරම අපි හිතන විදිය ගැන දෙයක්.
coding කරන අය 1000ක් දෙනා අතර ඔයා විශේෂ වෙන්නේ ඔයා හිතන හැටි මත මයි.

මේක තවත් තේරුම් ගන්න පහල උදාහරනෙත් බලන්න.

ඔයා ඔයාගේ girl frnd එක්ක park යනවා කියලා හිතමු., ටික වෙලාවකින් එකී කියනවා  රු.50 දීලා "ඔයත් 50 දාලා 100ට මොනවා හරි කන්න ගේන්න" කියලා. දැන් ඔයා 100 අරන් කඩේට යනවා.

දැන් මේක හිතන්න, ඔයා දන්නවා කඩේකට ගිහින් බඩු ගන්න හැටි, ඒ කියන්නේ සල්ලි දීලා බඩුව අරන් ඉතුරු තියනවා නම් ඒකත් අරන් එන එකනේ. ඒත් ඒක එච්චරම සරල නෑ නේ, බඩුව 52 වුනොත් මුදලාලි ඔයාගෙන් රු 2ක් ඉල්ලගෙන ඉතුරු 50 දෙයි. ඒ වගේ විවිද අවස්ථා එනවනේ. ඒත් ඔයා කාට හරි කඩේකින් බඩු ගන්න හැටි ඉගැන්නුවොත් උගන්නන්නේ සල්ලි දීලා බඩුව අරන් ඉතුරු තියනවා නම් ඒකත් අරන් එන්න කියලානේ. හිතන පාට් එක ඉගෙනගන්න කෙනා හරියට හිතා ගන්න දැන ගන්න ඕනි. නෙහ්. දැන් ආපහු උදාහරණයට යමුකෝ.

කෙල්ල කිව්වේ කන්න මොනවහරි ගේන්න කියන එක විතරනේ.  
දැන් ඔයා කඩේ ඉන්නේ , 
$. දැන් ඔයාගේ පලවෙනි කොන්දේසිය වෙන්න ඕනි, ගන්න දෙයින් ඒකක 2ක් හෝ දෙන්නම එකක් කනවනම් ඒකක 1 ක මිල 100 ට අඩු වෙන්න ඕනි,

හරි එහෙනම්, සිගරට් 2කුත් 100 ට අඩුයි කියලා ඒක අරන් යන්නේ නැනේ. ගැලපෙන දෙයක් වෙන්නත් ඕනි.

$. ඊළඟ කොන්දේසිය වෙන්න ඕනි , කෙල්ල කැමති දෙයක් වෙන්නත් ඕනි කියන එකනේ,

#තව ඔය වගේ ඕන තරම් කොන්දේසි ගැන ඔයා හිතනවනේ, 

බලන්න මේකේ කිව්වේ කන්න දෙයක් ගේන්න කියන එක විතරයි, ඒත් ඔයා නොදැනුවත් වම ගොඩක් දේවල් හිතලා, ඒ අනුව ගැලපෙන තීරණයක් ගන්නවා.

coding කියන්නෙත් ඒ වගේ,  ඔයාගෙන් කව්රුහරි වැඩක් කර ගන්නකොට එයා බොහොම සරල දෙයක් ඉදිපත් කරන්නේ , ගැටලුව විදිහට. [ඒ කියන්නේ, "මට රෙදි රෝලක ඔතලා තියන රෙදි වල දිග මැන ගන්න ඕනි." එතකොට ඔයා ඒක කොහොමද කරන්නේ කියන එක තියෙන්නේ ඔයා මතයි.]


මේ වගේ ලිපියක් ලිපියක් ලියන එකෙන් මම අදහස් කලේ , coding කියන්නේ අත්දැකීම් හා ප්‍රායෝගික අවස්ථා මත පදනම් වූවක් මිස , තියරි මත පදනම් වූවක් නොවන බව ඇගවීමයි.

ඒක සාර්ථකද කියලා ඔයාලම මට යටින් අදහසක් දාගෙන යන්න.

කලින් ලිපි මෙතනින් ගිහින් බලන්න.


පළමු ලිපිය                                හත්වන ලිපිය
දෙවන ලිපිය
තෙවන ලිපිය
හතරවන ලිපිය
පස්වන ලිපිය
හයවෙනි ලිපිය

Saturday, October 21, 2017

ARDUINO code එකක් ලියමු.

ඔයාලට මතක ඇතිනේ කලින් ලිපියේ කිව්වා, function කියලා එකක්. හරි දැන් බලමු ඒවා අස්සේ මොනවද ලියන්නේ , කොහොමද ලියන්නේ කියලා.

මේ රූපේ පේනවා නේද කලින් කියපු function දෙක තියනවා. හරි දැන් අපි code එක ලියන්න පටන් ගමු.

මේක ඉතාම සුළු code එකක් නිසා වැඩි වැඩ මොකුත් නෑ, 

1 . ඉස්සෙල්ලම arduino එකට ඔයා පාවිච්චි කරන්න යන pin ටික               අදුන්නලා දෙන්න,
     මේකෙදී නම් අපි 13න් වෙනි pin එක විතරයි නේ පාවිච්චි කරන්නේ,  ඉතින් ඒ pin එක ගැන ඉස්සෙලාම arduino එකට කියමු.

අපි 13න් වෙනි pin එක output එකක් විදියට නේ පාවිච්චි කරන්නේ. ඒ කියන්නේ අපි ඒකෙන් arduino එකේ ඉදලා යම් සංඥාවක් එලියට ගන්නවා කියන එක(+5V).
       
ඉතින් මේ pin එක output එකක් කර ගන්න ලියන්න ඕනි පේලිය ;
pinMode(13,OUTPUT);

හරි දැන් ඔයාට තේරෙන්න ඕනි මේ pin එක , එක පාරක් arduino එකට අදුන්නලා දුන්නම ඇති කියලා. එහෙනම් අපි මේ කෑල්ල කොහෙද ලියන්න ඕනි.
                 void setup ()
                   {
                      මෙන්න මේක අස්සේ තමා ඔය කෑල්ල ලියන්න ඕනි.
                      මොකද setup function එක run වෙන්න එක පාරක් නිසා.
                    } 

2 . දැන් අපිට වෙන්න ඕනි led එක on , off වෙන්න නේ,
      
      දැන් බලමු කොහොමද 13 වෙනි pin එකෙන් 5+  ක output එකක් ගන්නේ කියලා,
digitalWrite(13,HIGH);

මේ කරලා තියෙන්නේ 13 වෙනි pin එකෙන් +5 ක වෝල්ට් එකක් ගන්න එක.
මතක තියාගන්න විශේෂෙන් මොකුත් කියන්නේ නැතුව digitalWrite(pin , HIGH);  කියලා ලිව්වොත් අදාළ pin එකේ විභවය +5 වෙනවා.
          හරි. 13 න් +5 ගන්නේ ඔහොමනේ, කොහොමද 8 වෙනි pin එකෙන් +5 ගන්නේ. 

digitalWrite(8,HIGH);

තේරුණා නෙහ්.



අපිට 13 on කරලම විතරක් බෑනේ. off කරන්නත් ඕනිනේ. හරි 13 වෙනි pin එක off කරන්නේ , විභවය 0 කරන්නේ යට තියන විදියටයි.



digitalWrite(13,LOW);


කලින් විදියම තමා, HIGH කිව්වම +5 වුනා වගේමයි , LOW කිව්වාම විභවය 0 වෙනවා. ඒ කියන්නේ ....,,,,,,.,,,,,,....

digitalWrite(13,HIGH); =====> කිව්වාම අපේ led එක on වෙනවා.
digitalWrite(13,LOW);  =====> කිව්වාම අපේ led එක off වෙනවා.

දැන් ඔයා දන්නවානේ led එක on , off කරන්න ලියන්න ඕනි පේලි දෙක මොනවද කියලා. දැන් තියෙන්නේ හරි තැනට මේ දෙක දාන එකයි.

අපිට දිගටම led එක on , off වෙවී තියෙන්න ඕනිනේ.

මතකද මම කිව්වා, loop function ඒක වැඩ කරන හැටි.

ඉතින් මේ code දෙක ඒක අස්සට දැම්මාම අර කලින් ලිපියේ කිව්ව  විදියට එක පාරක් run වෙලා ඉවර වුනාම ආයෙම මුල ඉඳන් run වෙනවා. ඉතින් දිගටම led එක on , off වෙවී තියනවා.

                 void setup ()

                   {
                          digitalWrite(13,HIGH);
                          digitalWrite(13,LOW);
                   } 

දැන් මේකේ පෙන්නලා තියන විදියට code එක ලියලා upload කරලා බලන්න.

එක්කෝ led එක දිගටම පත්තු වෙලාම තියෙයි.
නැත්තම් නිවිලාම තියෙයි.

බලන්න code එකේ කොහෙද වැරැද්ද තියෙන්නේ කියලා.

මෙහෙමයි. microcontrollers වේගෙන් වැඩ කරනවා. ගොඩක් වේගෙන්.

ඉතින් අපි digitalWrite(13,HIGH); කල ගමන් ඊළඟට ක්ෂණිකව          digitalWrite(13,LOW); කරනවා.

ඉතින් ඇත්තටම led එක on , off වෙනවා. ඒ පියවර දෙක අතර තියෙන්නේ ඉතාම සුළු කාල පරතරයක් නිසා අපේ ඇහැට led එක on , off වෙන එක පෙන්නේ නෑ.

දැන් මොකද කරන්නේ?

අහ්, මේකට පොඩි case එකක් තියෙන්නේ. මේ පියවර දෙක අතරට පොඩි කාලයක් on වෙලාම ඉන්න දැම්මනම් හරි නේහ්.
ඒකට ,
delay(1000);
මේකෙන් කියන්නේ මිලි තත්පර 1000 ක් , ඒ කියන්නේ තත්පර 1ක් නිකම් බලාන ඉන්න කියලා.

එහෙනම් කොහොමද තත්පර බාගයක් නිකම් ඉන්නයි, තත්පර 2 ක් නිකම් ඉන්නයි ලියන්නේ.
delay(500);
delay(2000);
තේරුනා නෙහ්


                 void setup ()

                   {
                          digitalWrite(13,HIGH);
                          delay(1000);
                          digitalWrite(13,LOW);
                   } 

දැන් බලන්න හරිද කියලා,,,,

නෑ නේද ? මතකද මන් කිව්වා loop ඒක ඉවර වුනු ගමන් ආයෙම මුලට යනවා කියලා , ඉතින් තාමත් අන්තිම පියවරයි , මුල් පියවරයි අතර කාල පරතය කලින් වගේම ඉතාම අඩුයි. එ කියන්නේ 
digitalWrite(13,LOW); කල ගමන් ඊළඟට ක්ෂණිකව         digitalWrite(13,HIGH); කරනවා.
මේකේ ප්‍රතිපලයත් කලින් එකම තමා.

දැන් ඉතින් හරිම code එක තමා පහල තියෙන්නේ. දැන් ඔයා සිද්දිය දන්නවනේ,,,,,,,

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

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

දැන් ඔයාට පුළුවන් ඔය පහල රූපේ තියන විදියට වයර් අමුනලා. led රටා ටිකක් හදන්න. පාවිච්චි කරන pin ටික අදුන්නලා දීලා. on , off වෙන වෙලාවල්, පිළිවෙල වල් වලට code එක කලින් විදියට ලියන්න.
මේකේ තියන ප්‍රතිරෝදක 330 ohm වේ.


කලින් ලිපි මෙතනින් ගිහින් බලන්න.


පළමු ලිපිය
දෙවන ලිපිය
තෙවන ලිපිය
හතරවන ලිපිය
පස්වන ලිපිය
හයවෙනි ලිපිය

ARDUINO පළමු CODE එක.

හරි දැන් පොඩිම පොඩි code එකක් arduino එකට ලියලා බලමු.
මේකට ආයේ අමුතුවෙන් පරිපත හදන්න ඕනි නෑ.arduino එකේම test කරලා බලන්න පුළුවන්.

යට තියන විදියට arduino 13 pin එක led එකකට set කරලා තියනවා. අපි 13 pin එක on කලොත් මේක පත්තුවෙනවා.
මේ පෙන්නලා තියෙන්නේ ඔය කියන led එක.

දැන් අපි 13 pin එක on වෙන , off වෙන, ඒ කියන්නේ ඔය led එක නිවෙන , දැල්වෙන පොඩිම පොඩි code එකක් ලියන්නයි යන්නේ.

හොදයි. arduino වල ප්‍රධානම function දෙකක් තියනවා. ඔයා මොන ලබ්බ ලියලා දැම්මත් අනිවා මේ දෙකෙන් එකකට ඒක සම්බන්ද වෙන්න ඕනි. ඔයා අලුත් function ලිව්වත් එකත් මේ දෙකෙන් එකකට සම්බන්ඳ වෙන්නම ඕනි , වක්‍රාකාරව හරි. 

setup function
   void setup()  කියලා තියෙන්නේ මේක තමා. arduino එකට supply දුන්න ගමන් එයා ඉස්සෙල්ලම කරන්නේ මේ function හොයලා එක පාරක් , මේක ගොඩක් වැදගත් ,,,, එක පාරක්,,,,,,, run කරනවා.

loop function
 void loop() කියලා තියෙන්නේ මේක තමා. setup එක run කරලා ඉවර වුන ගමන් කරන්නේ මේ function එක හොයලා run කරන එක. මේකෙදි වැදගත්ම දේ තමා ...........  මේ loop function එක run කරලා ඉවර වුනු ගමන් ආපහු loop එකේ මුල ඉදන් run වෙනවා.......
ඒ කියන්නේ loop function එක කරන්ට් එක දීලා තියනකම් ඔහේ run වෙවී තියනවා කියන එක.


function ගැන තවත් පැහැදිලි රූපයක් හිතේ මවා ගන්න ඕනි නම් යට රූපෙත් උදව් වෙයි කියලා හිතෙනවා............



දැන් ඔයාලා බලයි මූ function ගැන වැඩි දෙයක් කිව්වෙත් නෑ. දන්නෙත් නෑ, කියලා. මෙහෙමයි, ඔක්කොම ලබ්බ ගලේ ගැහුවා වාගේ එක පාර කියන්නේ නැතුව , ඒවා උවමනා තැන වලදී පැහැදිලි කරලා දෙන එක තමා මගේ අරමුණ.  ( "_" )

දැන් ඔයාට arduino code ලියන ආකෘතිය තේරෙන්න ඇතිනේ. arduino 
වලින් රොකට් එකකට code එකක් ලිව්වත් මේක තමා ආකෘතිය.

ඊළඟ ලිපියෙන් code එක කියලා ලියන්නේ මොකද්ද කියලා , දාන්නම්.

මේක කියන්නම ඕනි,

මට ඕනි දන්නෙම නැති කෙනෙකුට වුනත් තේරෙන්න විදියට,තනියම වැඩක් කර ගන්න පුළුවන් වෙන විදියට ඉගෙනගන්න පුළුවන් blog එකක් ලියන්න... ඔයාල කාට හරි මේකත් තේරෙනවා මදි නම්, තවත් සරලව දාන්න ඕනි කියලා හිතෙනව නම් , පහලින් හරි, email එකක් හරි දාන්න. 


කලින් ලිපි මෙතනින් ගිහින් බලන්න.


පළමු ලිපිය
දෙවන ලිපිය
තෙවන ලිපිය
හතරවන ලිපිය
පස්වන ලිපිය

ARDUINO code ලියන්න කලින්.........

මේ ලිපියෙන් arduino එක හා IDE එක ගැන පොඩි විස්තර ටිකක් තමා කියන්න යන්නේ.

A . analog pin
B . digital pin
C . ATmega 328 micro controller
D . reset button
E . USB connector
F . voltage regulator
G . power supply port
H . arduino power output pin
I . 16mhz crystal
J . ATmega32U2
K . serial indicator led 
L  . 13 pin indicator


A . analog pin

මේ pin වලින් අපිට 0-5 v අතර විභවයක් කියවන්න පුළුවන්. ඒ කිව්වේ, 


අපි හිතමු විද්‍යුත් උෂ්ණත්ව මානයකින් 100 c දී 5v කුත් 0 c දී 0v ලබා දෙනවා කියලා. උෂ්ණත්වය වෙනස් වන විට ප්‍රතිරෝදයත් ඒකාකාරීව වෙනස් වනවා යයි උපකල්පනය කරොත්, අපිට හිතන්න පුළුවන් 50 c දී 
විද්‍යුත් උෂ්ණත්ව මානය 2.5 v ක විභවයක් ලබා දෙයි කියලා. ඉතින් අපි ඒ විද්‍යුත් උෂ්ණත්ව මානයෙන් එන විභවය ශ්‍රිතයක් මගින් සෙල්සියස් වලට පරිවර්තනය කර display එකක පෙන්නන ගැජට් එකක් හැදුවොත් arduino එකේ ඔය කියන analog pin වලින් එකකට තමා විද්‍යුත් උෂ්ණත්ව මානයේ output එක දෙන්න ඕනි. මොකද මේ pin වලට පුළුවන් එන විභවය කීයද කියලා කියව ගන්න.

ඒ වගේම මේවාට අපි කියන විභවයක් එලියට දෙන්නත් පුලුවන්. 
ඒ කිව්වේ අපි කිව්වොත් 3.3v ක විභවයක් එලියට දෙන්න කියලා , ඒ pin එකේ විභවය 3.3v වෙනවා.

B . digital pin
මේ pin වලින් අපිට අවස්ථා දෙකක් විතරයි කියවගන්න හෝ එලියට දාන්න පුළුවන්.

ඒ කියන්නේ 0v හෝ 5v කියන අවස්ථා දෙක විතරයි කියවගන්න හෝ එලියට දාන්න පුළුවන්.

ඔයාට හොඳට බැලුවොත් පෙනෙයි සමහර pin no ඉස්සරහින්  " ~ " සලකුණ දාලා තියනවා. (3,5,6,9,10,11) ඒ pin pwm pin ලෙස හදුන්වයි. මේ pin වලින් අපිට analog pin වලින් ගත්තා වගේම විචල්‍ය විභවයන් පිටතට ගන්න පුළුවන්.

analog pin හා digital pin.......

analog pin එකක් ඔයාට ඕනි නම් digital pin එකක් විදියටත් පාවිච්චි කරන්න පුළුවන්. ඒත් ඔයාට pwm නොවන digital pin එකක් analog pin එකක් විදියට පාවිච්චි කරන්න බෑ.
හැබැයි , digital pwm pin එකකින් analog out එකක් ගනිද්දී හා analog pin එකකින් analog output එකක් ගනිද්දී සිදු වෙන ක්‍රියාවලියේ ලොකු වෙනසක් තියනවා, එකම දේ සිද්ද වුනාට. ඒක මෙතන දාන්නේ නෑ, motor speed control ලිපියකින් වෙනම දාන්නම්.


C . ATmega 328 micro controller

මේක තමා arduino එකේ මොලය. මේකෙන් තමා අපි දාන code එක run කරවන්නේ. මේකත් micro controller එකක්.

D . reset button
ඔයාට code එකක් දුවන අතරේ කරන්ට් එක ගලවන්නේ නැතුව, ඕනි නම් මේක ඔබලා arduino එක reset කරන්න පුළුවන්. එතකොට code එක ආපහු මුල ඉඳලා run වෙනවා.

E . USB connector
මේ තියෙන්නේ ඔය printer වල එහෙම තියන ජාතියේ port එකක්. මේකෙන් ඔයාට arduino එක computer එකට සම්බන්ද කරන්න පුළුවන්.

F . voltage regulator

අපි code එකක්  එහෙම දාලා machine එකකට arduino එක සෙට් කලාම arduino එකට දෙන power එක යන්නේ මේක හරහා. ගොඩක් අය හිතන් ඉන්නේ arduino එකට හරියටම 5v දෙන්න ඕනි කියලා. එහෙම නෑ 15v අඩු 6.5v වැඩි ඕනිම ගානක් දෙන්න පුළුවන් , මේ voltage regulator එක තියන නිසා. ඒ වගේම ගොඩක් සැලකිලිමත් වෙන්න, arduino එකට උපාංග සෙට් කරද්දී. මේකෙන් ගන්න පුළුවන් උපරිම ධාරාව 1.0A යි. ඒ හින්දා ඔයා සෙට් කරන උපාංග 1.0A ට වඩා වැඩි ධාරාවක්  අදිනවා නම් , වෙනම supply දෙන්න අමතක කරන්නේ එපා. මේක ඔය ගෙදර කරන පොඩි පොඩි වැඩ වලට අදාළ වෙන්නේ නෑ. ඒත් industrial වැඩක් කරද්දී මේ ගැන වෙනම අවදානය යොමු කරන්න.

G . power supply port 
අපි arduino එකට supply දෙන්න භාවිතා කරන්නේ මේක. මේකට 6.5-15v වෙනකම් වූ විභවයක් දෙන්න පුළුවන්. මේකට දෙන විභවය කලින් කිව්ව් voltage regulator එක හරහා තමා යන්නේ.

J . ATmega32U2
මතකද මම කිව්වා එකම board එකක programmer එකයි ඔක්කොම ගහලා එවනවා කියලා කලින් ලිපියක කිව්වා. අන්න ඒ programmer එකේ කාර්ය තමා මෙයා කරන්නේ. ඒ කිව්වේ, මෙයා තමා arduino එක හා පරිගණකය එකට සම්බන්ද කරන පාලම වෙන්නේ.


arduino IDE එක 

ඔයාට මතකනේ කලින් ලිපියේ කිව්වා , com port තෝරලා දෙන හැටි. අද බලමු කොහොම code එකක් upload කරන්නේ කියලා.

කොළ කොටුව ඇතුලේ තියන එක එබුවාම code එකේ දෝෂ තියනවද කියලා බලනවා. තියනවා නම් යටින් ඒවා පෙන්නනවා.

රතු කොටුව ඇතුලේ තියන එක එබුවාම code එකේ දෝෂ තියනවද කියලා බලලා නැත්තම් arduino එකට upload කරනවා. හරියට upload උනා නම් done කියලා යටින් වැටෙනවා.

code එක upload වෙද්දී arduino එකේ තියන [K . serial indicator led ]  දැල්වෙයි.

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

ඔය කෝක කරන්නත් කලින් හරියට com port එකයි , board එකයි කලින් ලිපියේ විදියට තෝරලා දෙන්න.

කලින් ලිපි මෙතනින් ගිහින් බලන්න.

Wednesday, October 18, 2017

ARDUINO

දැන් ඔයා දන්නවනේ ARDUINO ඇයි භාවිතයට  ආවේ කියලා. අපේ coding life එක පහසු කරන්න තමා මේ ARDUINO ඇවිල්ල  තියෙන්නේ.

arduino භාවිතා කිරීම වඩා සුදුසු ඇයි?

*  මේවා තනිකරම නොමිලේම සේවා සපයන නිසා. (arduino එක සල්ලි දීල ගන්න ඕනි, මම                        කිව්වේ compiler එක)
*  මේවා කර්මාන්ත වල තියන ප්‍රායෝගික තත්ත්ව (දූවිල්ල , අධික උණුසුම් තත්ත්ව ,........) වලට අපි නිවසේදී mc එකක් දමා හදන පරිපත වලට වඩා හොදින් ඔරෝත්තු දෙයි. (PLC තරම් නෑ හොදේ.. < "_" >)
*  භාවිතයේ පහසුව.
*  library පාවිච්චි කර විශාල පරාසයක උපකරණ ඉතා පහසුවෙන් හැසිරවිය හැකි වීම.

දැන් දන්නවනේ ඇයි arduino මෙච්චර ජනප්‍රිය ඇයි කියලා.

මේ arduino uno එකක් කොළඹ නම් 850-950 අතර වගේ වෙයි. ඊට පිට නම් (කුරුණෑගල වගේ නම්) 1050-1250 අතර වගේ වෙයි.

දැන් ඔයා ඔයාගේ පලවෙනි code එක ලියන්න නම් යන්නේ............

ඒකට ලැස්තිවෙන්න මේ විදියට.

මුලින්ම arduino ide එක download කර ගන්න.(arduino-1.0.6 කියන එක ගන්න පුළුවන් නම් හොදයි. මොකද ඒක සමහර පාඩම් වලදී පහසුවක් වෙයි.) කැමතිනම් අලුත්ම එක ගන්න.ඔයාගේ os එකට හරියන එක ගන්න කියලා ආයේ අමුතුවෙන් කියන්න ඕනි නෑනේ.(winds නම් windows installer කියන එක ගන්න.)

එක සාමාන්‍ය විදියට ඔයාගේ computer එකේ install කර ගන්න.





එතකොට මේ වගේ මුහුණතක් ලැබෙයි.

අහ්, ඔයාට පුළුවන් නම් arduino uno එකකුත් ගන්න. එතකොට ඔයාටම මේ code test කරලා බලන්න පුළුවන්.



ඔය cable එකෙන් arduino uno එක computer එකට සෙට් කරන්න පුළුවන්.

cable එකෙන් computer එකට සෙට් කරාම පහත විදියට  පොඩි තොරතුරු ටිකක් දාන්න තියනවා, ඔයා code එකක් ලියලා upload කරන්න කලින් හැම වෙලේම මේ ටික හරියට තියනවද කියලා බලන්න.... එහෙම කලේ නැත්තම් arduino එක පුපුරනවා...... ජෝක්ස් හොදේ. එහෙම නැත්තම් error එනවා... 

ඉස්සෙල්ලම ඔයාගේ arduino uno එක ගත්ත com port එක හොයා ගන්න.
my computer  මත right click කර manage තෝර ගන්න.
ඊට පස්සේ device manager click කරලා යට තියන විදියට port එක හොයා ගන්න.

දැන් arduino ide එකට ඒ port එක තෝරලා දෙන්න.

tool --> port--> ගිහින් port එක දෙන්න.
(මගේ නම් 5)

ඊට පස්සේ ඔයාගේ arduino board එකේ වර්ගේ තෝරලා දෙන්න.
(ගොඩක් arduino board වර්ග තිබුනත්, අපි සරලම එක පාවිච්චි කරමු uno තමා භාවිතයට පහසුම එක)

ඒකට
tool--> board --> arduino uno එක තෝරගන්න.

දැන් ඔයාට ඔයාගේ පලවෙනි code එක ලියන්න ඔක්කොම හරි ලියන්න විතරයි තියෙන්නේ.


ඊළඟ ලිපියෙන් code එක ලියන හැටි කියලා දෙන්නම්.




අහ් කියන්නම ඕනි , මේකේ download link එකෙන් ගියාම ඔයාගෙන් arduino කස්ටිය පොඩි ආධාරයක් වගේ එකක් ඉල්ලනවා. එක දෙන්නේ නැතුව ඕනිනම් just download දීල ගන්නත් පුළුවන්. හැබැයි පට්ටම slow

කලින් ලිපි මෙතනින් ගිහින් බලන්න.


පළමු ලිපිය
දෙවන ලිපිය
තෙවන ලිපිය

MICROCONTROLLERS භාවිතය

MICROCONTROLLERS භාවිතයට අවශ්‍ය මෘදුකාංග



 I.  Assembly language compilers

මේකේ වෙන වැඩේ තමයි ඔයා c වගේ language භාවිත කරලා ලියන සංකීර්ණ කේතය microcontroller එකට තේරෙන් විදියට 1 , 0 (යාන්ත්‍ර භාෂාවට) හරවලා දෙන එක. තවත් කිව්වොත් භාෂා පරිවර්තකයෙක්ගේ කාර්ය තමා මෙයා කරන්නේ.
එක එක microcontrollers වලට එක එක compilers තියනවා. ඔයා වැඩකට microcontroller එකක් ගන්නවානම් ඉස්සෙල්ලම ඒකට ඕනි compiler එක ගැන හොයලා බලන්න. මොකද සමහර compilers ගිනි ගණන්.
ඒත් සමහර microcontroller නිෂ්පාදකයන් මේවා නොමිලේම ලබා දෙනවා.
pic 16f84a නිෂ්පාදනය කරන Microchip සමාගම pic වර්ගයේ ඕනෑම microcontroller එකක් කේත කරන්න පුළුවන් MPLAB IDE
මෘදුකාංගය නොමිලේම ලබා දෙනවා.
[මේ MPLAB IDE මෘදුකාංගය භාවිත කරන ආකාරය මේ ලිපි වලින් ගෙන ඒමට මම අදහස් කරන්නේ නෑ.මොකද අපි pic වැනි දේවල් industrial වැඩ වලට ගන්නේ නැති නිසා. ඒවා රළු භාවිතයට ඔරොත්තු දෙනවා ගොඩක් අඩුයි. ]


II.  Programmer මෘදුකාංගයක්

මෙමගින් යාන්ත්‍ර භාෂාවට පත් කර ඇති ඔබේ කේතය, microcontroller එකට upload කිරීම සිදු කරයි.




MICROCONTROLLERS භාවිතයට අවශ්‍ය දෘඩාංග

මේකෙදි විශේෂෙන්ම ඕනි වෙන්නේ pic/JDM  Programmer කියන පරිපතය / මොඩියුලය උවමනා වෙනවා.

# කරන හැටි 

  1. මුලින්ම mplab IDE ඔයාගේ කේතය ලියලා , ඒක යාන්ත්‍ර භාෂාවට පරිවර්තනය කර ගන්න.
  2. mc එක jdm programmer එකට සෙට් කරලා ඒක කම්පියුටර් එකට ගහන්න.
  3. දැන් ඔය programmer මෘදුකාංගයේ අහන විදියට තොරතුරු දීලා(com port එහෙම තෝරලා දීලා) programmer මෘදුකාංගයේ තියන upload කියන එක දෙන්න. හරියට upload වුනොත් "OK" කියලා msg box එකක් එයි.
  4. දැන් mc එක jdm programmer එකෙන් ගලවලා අරගෙන එක ඔයා හදපු පරිපතයට සෙට් කර ගන්න 
  5. දැන් වැඩ කරන හැටි බලන්න  < "_" >

දැන් ඔයාලා බලයි මේක වහ කදුරු වගේ වැඩක් නේ කියලා. මතක තියා ගන්න, මම මේවා සරලයි කිව්වට ලේසියි කිව්වේ නෑ.

මේකේ තියන පියවර ගාන වැඩියි.
වරදින්න තියන ඉඩකඩ වැඩියි.
කියවලා ඉගෙනගන්න අමාරුයි.

පොඩ්ඩක් හිතන්න,

compiler එකයි Programmer මෘදුකාංගයයි එකටම තියන අපිටත් හොරෙන් ඒ වැඩ ටික කරලා දෙන එක මෘදුකාංගයක් තිබුනොත් කොහොමද?

jdm programmer එකයි අපි හදන්න ඕනි පරිපතයයි microcontroller එකයි ඔක්කොම එකට තියන ගැජට් එකක් තිබුනොත් කොහොමද?

අන්න එතෙන්නට එන්න තමයි මේ ලිපි ඔක්කොම ලිව්වේ.

.............................................ARDUINO...................................


ඊළඟ ලිපියෙන් arduino ගැන වැඩි විස්තර.>>

කලින් ලිපි මෙතනින් ගිහින් බලන්න.


පළමු ලිපිය
දෙවන ලිපිය

MICROCONTROLLERS හා ඒ සම්බන්ද ඉතිහාසය

1 . #MICROCONTROLLERS  හා MICROPROCESSORS


       මේ ලිපියට කලින්  MICROCONTROLLERS  හා MICROPROCESSORS යන දෙකේ වෙනස තෙරුම් ගෙන හිටියොත් වඩා සුදුසු වනු ඇත.
   
සැබවින්ම MICROCONTROLLERS යනු MICROPROCESSORS වල සරල අවස්ථාවකි. MICROPROCESSORS පරිගණක සදහාද භාවිත වේ.(i3,i5,i7,.....).

නමුත් පරිගණකය (CPU) සැදී ඇත්තේ Processors , Memory units , Input/Output units වැනි එකක    වෙන වෙනම එක්ව වේ.

මෙහි වැදගත් කරුණ වනුයේ , MICROCONTROLLERS තුල විවිද මට්ටම් වලින් ඉහත කී ඒකක අඩංගුව පවතී.

එනම්.   MICROCONTROLLERS තනි පරිගණක ඒකකයක් ලෙසද හැදින්විය හැක.
("Single Chip Computer")     

    * </  MC වලට වඩා MP වල දත්ත සැකසීමේ හැකියාව ඉතා ඉහලය. >
    * </  MC වලට වඩා MP වල වේගයද ඉතා ඉහලය.>
    * </  MC පාලනයට බොහෝ දුරට ක්‍රියාකරුවකු (User) අවශ්‍ය නොවේ. >

2 . #ඉතිහාසය (කෙටියෙන්)


ගොඩක් අයට මේක කියවන එක කාලය කා දැමීමක් කියලා හිතෙයි. එත් අද අපි භාවිතා කරන උපකරණ , මෘදුකාංග , ක්‍රමශිල්ප කොහොමද භාවිතයට අවේ, ඇයි එහෙම භාවිත කරන්නේ කියලා දැන ගැනීමට හා දැනුමේ සන්තතික භාවය ඇති වීමට ඉතිහාසය දැන ගැනීම බෙහෙවින් උපකාරී වේ.

  1. 1822 දී ලොව පළමු පරිගණක ආකෘතිය නිමවන ලදී.
  2. 1801 දී සිදුරු පත් (සිදුරු කරන ලද කාඩ් පත්) භාවිත කර යාන්ත්‍රිකව  වෙනසක් සිදු නොකර විවිද සිදුරු පත් යොදා ගනිමින් රෙදි වල විවිද රටා විවීමට සමත් විය.
  3. 1944 දී  MARK I නමින් අද භාවිත වන ආකෘතියෙන් යුතු පරිගණකයක් නිර්මානය විය. මෙහි දත්ත ආදානයට යතුරු ලියනයක් සම්බන්ද කර තිබුණි. 

කෙසේ හෝ මෙම පරිගණක ඉතා දුර්වල හා ඉතා විශාල විය. මෙම පරිගණක පරම්පරාව වෙනස් කරමින් transistors ලොවට හදුන්වා දුණි.

පසු කාලීනව IC නිර්මානයත් සමග පරිගණක වැනි උපාංග තව තවත් කුඩා හා බල සම්පන්න විය.

පරිගණක ඉතිහාසයේ වැදගත්ම තැන තමයි MICROPROCESSORS නිර්මාණය. අද භාවිත වන පරිගණක හා අප දැන් කතා කරන MICROCONTROLLERS නිර්මාණය වන්නේ මෙම MICROPROCESSORS පාදක කර ගෙනයි.

      #පරිගණක භාෂා වල ඉතිහාසය

මුල්ම පරම්පරාවේ භාෂා 0 , 1 පාදක කර ගනිමින් නිර්මාණය විය. මෙම binary language සමග වැඩ කිරීම ඉතාම සංකීර්ණ ක්‍රියාවලියකි.

දෙවන පරම්පරාවේ  භාෂා වල  කෙටි විදාන භාවිතා විය. (TRISA , decfsz , end). මෙම භාෂාද සංකීර්ණ වුවද පෙරට වඩා පහසු විය.

තුන්වන පරම්පරාවේ භාෂා (C , VB) පරිශීලකයාට ඉතාමත් සමීප භාෂා විය. නමුත් මෙම භාෂා සෘජුවම පරිගණක වලට හදුනා ගත නොහැක. එබැවින් පරිවර්තන මෘදුකාංග භාවිතයෙන් මෙම භාෂා යාන්ත්‍ර භාෂා වලට හැරවිය යුතුයි.

හතරවන පරම්පරාවේ භාෂා visual environment ලබා දෙමින් මිනිසාට ඉතාම සමීපව ක්‍රියා කරයි.

3 . # පරිගණක භාෂා පරිවර්තක මෘදුකාංග

මෙච්චර වෙලා විකාර කියවලා දැන් තමා වැදගත්ම තැනට අවේ.

MICROCONTROLLERS  හා MICROPROCESSORS වලට තේරෙන්නේ 0 , 1 භාෂාව (යාන්ත්‍ර භාෂාව) විතරයි. අපිට මේක ඉගෙනගන්න බැරි තරමටම සංකීර්ණයි. නමුත් අපිට Assembly , c , c# , c++ වැනි භාෂාවක් පහසුවෙන් ඉගෙනගන්න පුළුවන්.
මෙහෙම කියමු ,

ඔයා micro c වලින් ලියපු code එක PIC 16F84A කියන MICROCONTROLLER එකට දාන්න යන්නේ. දැන් ඔක්කොම හරි. එත් කෙස් එක තමා PIC 16F84A ට තේරෙන්නේ binary language විතරයි. දැන් හරි වැඩේ නෙහ්.
මේකට තමා පරිගණක භාෂා පරිවර්තක මෘදුකාංග තියෙන්නේ. එයාට ඔයා ලියපු code එක දානවා. දාලා එයාට කියනවා මේ ටික MICROCONTROLLER එකට කියා දෙන්න කියලා. දැන් වැඩේ හරි.

මේක තමා සරලව කිව්වොත් IDE එකක සිදු වන වැඩේ.


ඊළඟ ලිපියෙන් MICROCONTROLLER භාවිත කරන හැටි ගැන දාන්නම්.

කලින් ලිපි මෙතනින් ගිහින් බලන්න.

පළමු ලිපිය

මොනවද මේ MICROCONTROLLERS කියන්නේ?











# මොනවද මේ MICROCONTROLLERS කියන්නේ?
# මොනවද මේ MICROCONTROLLERS වලින් කර ගන්න පුළුවන්?
# මොන වර්ගයේ උපකරණ වලද MICROCONTROLLERS තියෙන්නේ?
# MICROCONTROLLERS සාමාන්‍ය ගෘහස්ත පාවිච්චියට ගන්න පුලුවන්ද?

මේ වගේ ප්‍රාථමික මට්ටමේ ඉඳලා , Arduino , PLC , VB , Eagle CAD වැනි මෘදුකාංග (IDE) , උපකරණ භාවිතයෙන් කාර්මික (industrial) මට්ටමේ නිර්මාණයක් කර ගැනීමට හැකි වන අයුරින් කියවන ඔබට සම්පූර්ණ  දැනුමක් ලබා ගැනීමට හැකි වන අයුරින් මේ ලිපි පෙළ සකසා ඇත.

මේ දාන ලිපි ටික කියවලා ඔයාටත් ,මුලින් සරල හා පස්සේ ඉතාම සංකීර්ණ නිර්මාණයක් වුනත් කර ගන්න පුළුවන්, ආයේ දැනටමත් අමුතුවෙන් මොනවත් දැනගෙන ඉන්න ඕනි නෑ. අද ඉදන් electronic පටන් ගන්න කෙනෙකුටත් හරියන විදියට කියලා දෙන්න තමයි මම මේ ලිපි ටික ලියන්න පටන් ගන්නේ.

අද මුලින්ම MICROCONTROLLERS ගැන බලමු.

 1 . # මොනවද මේ MICROCONTROLLERS කියන්නේ?

          මේ දවස් වල (2017.10 ☺☺☺☺) ඕනි කෙනෙක් දන්නවා IC කියන්නේ මොකද්ද කියලා.
          Integraded Circuit එකක් කියන්නේ ගොඩක් කෑලි (ධාරිත්‍රක,ප්‍රතිරෝදක,තාර්කික ද්වාර,...... වැනි) අන්තර්ගත ඉතාම කුඩා ලෙස නිමවන ලද උපකරණයක්.මේවගේ පාද (pin) 4 වගේ ඉඳලා සිය ගානක් දක්වා තියෙන්න පුළුවන්.



</ Integraded Circuit  වර්ග .........>







 හොදා,,,,,,, < '_' > දැන් දන්නවනේ මොකද්ද IC එකක් කියන්නේ කියලා.......   MICROCONTROLLERS
 කියන්නෙත් බාහිර පෙනුමින් මේ වගේම ,,,,, මීට වඩා වෙනස් කාර්යන් ඉටු කර ගත හැකි උපකරනයක්






<MICROCONTROLLERS වර්ග>


සරලවම කියලා දැම්මොත්,,,,,

MicroControllers කියන්නේ,
භාවිත කරන්නා හට විවිද කාර්යන් සදහා , විවිද ආකාරයෙන් ක්‍රමලේකනය 
කර ගත හැකි , කොටස් මිලියන,බිලියන ගණනක් අඩංගු කුඩා බහුකාර්ය ඉලෙක්ට්‍රොනික උපකරණයකි.  

2 . # මොනවද මේ MICROCONTROLLERS වලින් කර ගන්න පුළුවන්?

      ඒක සරල උදාහරණයකින් පැහැදිලි කරන එක වඩා සුදුසු වෙයි.
     
           ඔයා ගෙදර වතුර ටැංකිය පුරවන්න සේවකයෙක් ගන්නවා  . < '_' >

           මෙයා 24/7 on එකේ ඉන්නේ, මෙයා බලන් ඉන්නවා ටැංකිය හිස්ම වෙනකම්. හිස් වුනාම මෝටරේ on කරනවා. ඒත් ටැංකිය භාගයක් හිස් වුනාට මෝටරේ on කරන්නේ නෑ. තවත් ,, මෙයා රෑ 9 ට ටැංකිය හිස්ම   වුනත් නැතත් පුරවලා තියනවා. උදේ 8 ටත්  ටැංකිය හිස්ම වුනත් නැතත් පුරවලා තියනවා.

සේවකයාට නම් මේ ටික කිව්වාම හරියට කරනවා.

දැන් බලමු මේ වැඩේම MICROCONTROLLER එකකට කියලා කරව ගන්නේ කොහොමද කියලා/. මේකට කටින් කියලා බැනේ.යට තියන රූප සටහනෙන් මේ සිද්දිය MICROCONTROLLER එකට කියලාදෙන විදිය සරලව දාලා තියනවා,
හරි ,,, දැන් අපි බලාන ඉන්නවා MICROCONTROLLER වැඩ කරන හැටි. ඔයාල හිතන්නේ වැඩේ හරි කියලද?    නෑ , නෑ MICROCONTROLLER එක මේකේ කියලා තියන විදිහටමයි වැඩ කරන්නේ ඒ හින්ද වැඩේ හරියට වෙන්නේ නෑ, (What The F###) නෙහ්........ එක තමා... තෙරුනේ නෑ නෙහ්.  ආයෙම අවදානෙන් ගැලීම් සටහන  (ඔය රූපෙට තමා ගැලීම් සටහන කියන්නේ.මේවා ලියන සම්මත ක්‍රම එහෙමත් තියනවා.) දිහා.
     

මේකේ ටැංකිය පුරවන්න කිව්වට පිරුනාම වහන්න කියලා නෑ නේද? ආහ් .. ඒක තමා ....

MICROCONTROLLER කියන්නේ ඉතාම කීකරු සේවකයෙක්, ඒක කවදාවත් අපි කියන කේතයෙන් පිට වැඩ කරන්නෙත් නෑ , තනිවම තීරණ ගන්නෙත් නෑ.ඒ හින්දා ඔයාගේ MICROCONTROLLER එක පාවිච්චි කරලා කරන නිර්මානේ සාර්ථකත්වය රඳා පවතින්නේ තනිකරම ඔයා හදන පරිපථය හා කේතය මත.

දැන් ඔයාලට MICROCONTROLLER ගැන සරල අවබෝදයක් ඇති නෙහ්?



3 . # මොන වර්ගයේ උපකරණ වලද MICROCONTROLLERS තියෙන්නේ?










   අද කාලේ භාවිත වන හැම  ඉලෙක්ට්‍රොනික උපකරණයකම වාගේ MICROCONTROLLERS තියනවා.
අපි මේ ලිපි පෙලේ කියන , හැමෝම මේ දවස් වල භාවිතා කරන arduino වල තියෙන්නෙත් මේ ජාතියෙන් එකක්ම තමා.( ATMega328 ).

   අමුවෙන්ම කිව්වොත් දැන් හැම රෙද්දේම තියෙන්නේ අඩු වැඩි වශයෙන් MICROCONTROLLERS තමා.


4 . #  MICROCONTROLLERS සාමාන්‍ය ගෘහස්ත පාවිච්චියට ගන්න පුලුවන්ද?

අපෝ පුළුවන්.....රුපියල් හත් අට සීයකින් වැඩේ ගොඩ දැම්ම හැකි.

   ඔයාට PC එකක් තියනවා නම්, programmer එකකුත් තියනවනම් වැඩේ ගොඩ. අදාළ IDE එක පාවිච්චි කරලා කේතය ලියලා , programmer එක හරහා MICROCONTROLLER එකට කේතය දාලා , අදාළ පරිපතයට MICROCONTROLLER සෙට් කරාම යකා වගේ වැඩ.
(බය වෙන්න එපා මේවා ඉතාම සරල සිද්දි,,, පස්සේ එන ලිපි වලින් මේවා කරන හැටි කියලා දුන්නම මොනවද කියලා හිතෙයි.)



මේ ලිපියේ, සාමාන්‍ය දැනුමක් තියන කෙනෙකුට නම් ගන්න දෙයක් නෑ. ඒත් අද ඉදන් පටන් ගන්න කෙනෙකුටත් සරලව මේවා දැනෙන විදියට දෙන්න ඕනි නිසා තමා මෙහෙම පටන් ගත්තේ,  ඔයාලගේ comments තමා ඉස්සරහට යන පාර තීරණය කරන්නේ. ඔයාලට තියන ගැටළු වැනි දේ යටින් දාන්න. ඒවා නැති වෙන විදියට ඊලග ලිපි දාන්නම්.ඊලග ලිපියට එන්න ඕනි දේවලුත් යටින් දාන්නකෝ... ... ... ... ... ... 

ඔයාල නිකම් ප්‍රාතිහාර්ය වෙනකම් බලාන ඉන්නේ නැතුව දන්න ටිකෙනුයි google එකේ පිහිටෙනුයි මොනවා හරි ඇගට දාගෙන ඇති කියලා හිතනවා මම. හරි,,, අද ටිකක්...