මේ රූපේ පේනවා නේද කලින් කියපු 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 ක් නිකම් ඉන්නයි ලියන්නේ.
එහෙනම් කොහොමද තත්පර බාගයක් නිකම් ඉන්නයි, තත්පර 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 වේ.
පළමු ලිපිය
දෙවන ලිපිය
තෙවන ලිපිය
හතරවන ලිපිය
හයවෙනි ලිපිය
2017 න් පස්සේ ලිපි පළ කළේ නැද්ද
ReplyDeleteමේකි කියල තියන දේවල් පැහැදිලිව කියනවා අනෙක් ටික ටික හොයාගන්න බැහැ
ලියන්න යන්නේ, arduino ඕනිද? නැත්තම් C language එක ගැන මුල ඉදන් දාන්නද?
Delete