PIC ප්රෝග්රෑම් 3
හැමෝටම ආයුබෝවන්...!!!
ඔන්න එහෙනම් මම 3 වෙනි පෝස්ටුව අරන් ආවා...
ගොඩක් අය මම කියලා දීපුවා Try කරලා තිබුනා. ඒ වගේම පරිපථ එහෙමත් හදලා තිබුනා. පට්ට සතුටුයි ඒ ගැනනම්.


අපි දැනට ඔක්කොම කෑලි බෑලි පිටරටින් ගෙන්නන්නේ. මේ දේවල් ඉගෙනගෙන අපිම අපේ රටේම දේවල් හදාගෙන ඉදිරියට යමු කියන එකයි මගේ මේ ලිපි වලින් කරන එකම ඉල්ලීම. ඕනි දෙයක් අහන්න. දන්න දෙයක් කියලා දෙන්නම්.


ගොඩක් අය ලිපියට සුභ පතලා තිබුනා. හැමෝටම ස්තූතියි.
ඒ වගේම මම ප්රශ්ණ තිබුනු ඒවාටත් Reply දැම්මා ඔන්න.
පළමු ලිපිය.
http://www.elakiri.com/forum/showthread.php?t=1677611
දෙවන ලිපිය.
http://www.elakiri.com/forum/showthread.php?p=18379370
අද ලිපිය මම පටන් ගන්න හිතුවේ ලැබුනු ප්රතිචාර වලින් සමහර අයට නොතේරුණු දේවල් ටිකක් ආපහු පැහැදිලි කරලා එහෙම. පත්තරයක් වගේ දිගට ලියනවට සමාවෙනු මැනවි.
හැමෝටම තේරෙන්න පුලුවන් විදිහට කියලා දෙන්නයි මට ඕනි.
1) මම කියපු 16F84A සහ 16F877A වෙනුවට අලුත් ඒවා පැමිණ තිබීම. (මේ ගැන දැන්වූ knight11 සහෝට ස්තූතියි.
)
16F84A එහෙම තමයි අපි ඉස්සර ඉඳන් පාවිච්චි කරපු IC. නමුත් දැන් ඒ සඳහා අලුත් ඒවා පැමිණ තිබෙනවා. ඒවා මිලෙන් අඩුයි සහ අර පැරණි IC වලට වඩා හෝ සමානව පහසුකම් තියෙනවා.
16F84A වල අපිට Code ලියලා දාන්න පුලුවන් Memory එක තිබුනේ 2Kb වගේ ප්රමාණයක්. 16F628A වල එය 3.5Kb පමණ තිබෙනවා. අග්ර පිහිටා තිබෙන්නේත් එකම වගේ. ඒ නිසා අපිට 16F84A වලට හදපු පරිපථයක් වෙනස් නොකරම 16F628A සඳහා යොදා ගන්න පුලුවන්.
16F877A සහ 16F887A වල කතාවත් ඒ වගේම තමයි.
16F84A Rs:265 - http://www.lankatronics.com/pic16f84a-pdip.html
16F628A Rs:210 - http://www.lankatronics.com/pic16f628a-pdip.html
2) අපි ලියන Programs වැඩද බලන්න පුලුවන් මෘදුකාංගයක්.
ඇත්තටම අපිට තව මෘදුකාංගයක සහයක් නැතිවම Flowcode වලින්ම විතරක් වුනත් අපේ Code එක වැඩද නැද්ද කියලා වගේම Errors බලලා හදා ගන්නත් පුලුවන්. අපි පහළට ගන්න Output අපේ Code එක Play කළාම ක්රියාත්මක වෙලා වෙන දේ පෙනවනවා. අලුත් Flowcode 6 වල එහෙම Robotics වලට ගන්න දේවල් වගේම සංකීර්ණ යන්ත්ර වගේ දේවල් පවා Outputs විදිහට හදලා Code එක අනුව වැඩද නැද්ද කියලා බලන්න පුලුවන්.


නමුත් Flowcode වලදී සම්පූර්ණ පරිපථයක් හදලානම් Test කරන්න පුලුවන්කමක් නෑ. ඒ සඳහා ගොඩක් අය භාවිතා කරන්නේ Proteus කියන මෘදුකාංගය. ඒකෙන් සම්පූර්ණ පරිපථයක් නිර්මාණය කරලා අපේ Code එක ඒ අදාල IC එකට දීලා වැඩ කරන විදිහ බලාගන්න පුලුවන්. ඉස්සරහට වෙලාවක් තිබුනොත් ඒ ගැන ලිපියක් දාන්නම්.
3) Flowcode වල වම් පැත්තේ තියෙන Input, Output සහ Delay වැනි බිල්ඩින් බ්ලොක්ස් ටික ගැන පොඩි හැඳින්වීමක්.
මතක තියාගන්න මේක සරළම හැඳින්වීමක්. මේ දේවල් වලින් කරන්න පුලුවන් තව ගොඩාඩාඩාක් දේවල් තියෙනවා.
1 - Input
Input කියන්නේ අපිට IC එක සඳහා පිටින් දත්තයක් ලබා දීමේදී භාවිතා කරන්න පුලුවන් කොටස.
උදාහරණයක් විදිහට අපි පිටින් ස්විචයක් දාලා ඒක අනුව IC එක හරහා දෙයක් On / Off කරගන්න වගේ දෙයක් කරගන්න ඕනිනම් අපි Program එක ලියද්දී ස්විචයට Code එක ලියන්නේ මේ Input කියන එක හරහා IC එකට එන Input එකක් විදිහට.
2 - Output
Output කියන්නේ අපිට IC එක මඟින් එළියට දත්තයක් ලබා දීමේදී භාවිතා කරන්න පුලුවන් කොටස.
උදාහරණයක් විදිහට අපි පිටින් බල්බයක් දාලා IC එක හරහා ඒක On / Off කරගන්න වගේ දෙයක් කරගන්න ඕනිනම් අපි Program එක ලියද්දී බල්බයට Code එක ලියන්නේ මේ Output කියන කොටස මඟින්.
3 - Delay
Delay එහෙමත් නැත්නම් ප්රමාදයක් මඟින් කරන්නේ යම් Program එකක් අපි දෙනු ලබන කාල පරාසය මත නවත්වා තැබීම / ප්රමාද කිරීම වගේ දෙයක්.
උදාහරණයක් විදිහට අපි මුලින්ම ලියපු Program එකේ අපි තත්පරයක් බල්බය On වී තියෙන්නත් ඊළඟි තත්පරය Off වී තියෙන්නත් ලීවේ. අන්න එහිදී අපේ Program එක තත්පරේ ගානේ නවත්වන් හිටියේ මේ Delay එක මඟින්. Delay එකට අපිට කැමති කාල පරාසයක් දෙන්න පුලුවන්.
4 - Decision
Decision කියන්නේ තීරණයක්. ඒ කියන්නේ අපි අපි ලියන Program එක තුළ යම් දෙයක් වුනොත් වෙනත් යම් දෙයක් වෙන්න හෝ වෙන්න එපා කියලා තීරණයක් ගන්න කියලා අපේ Program එකට කියනවා. ඒක මෙහෙම හිතන්න පුලුවන්,
අපි Program එක ලියනවා 1 සිට 5ට LEDක් පත්තු 5ක් පිළිවෙලට පත්තු වෙමින් යමින් 5 පාරක් පත්තු වෙන්න කියලා ඒ විදිහටම. 5 වෙනි පාර පත්තු වෙලා ඉවරනම් ඊළඟට නවතින්න කියලා. ඉවර නැතිනම් ආපහු ඒ පිළිවෙළම යන්න කියලා.
එතකොට On කළාම LED ටික පිළිවෙලින් පළමු පාරට 1, 2, 3, 4 සහ 5ට ගිහින් 5දී තීරණය කරලා බලනවා දැන් මේ පිළිවෙල 5 පාරක් ගියාද කියලා. තවම එක පාරක් ගිය නිසා Program එක තීරණය කරනවා 2වෙනි පාරටත් අර විදිහටම 1, 2, 3, 4 සහ 5 යවන්න. ඔහොම 5 පාරක් ගිහාම තමයි Program එක තීරණය කරන්නේ දැන් මේක 5 පාරක් ආපු නිසා නතර කරනවා කියලා.
අන්න ඒ වගේ දේවල් කරගන්න තමයි මේ Decision කියන එක භාවිතා කරන්නේ.
5 - Switch
මේකත් එක විදිහක ටිකක් කෑලි වැඩි Decision එකක් විදිහට ගන්නත් පුලුවන්.
උදාහරණයක් විදිහට අපි උඩ Decision එකට ලියපු Program එකම මේකට ලියලා Decision එක වෙනුවට Switch එකක් දාලා Program එක ටිකක් වෙනස් කරලා ලියනවා 1වෙනි පාර යද්දි 1, 2, 3, 4, 5 විදිහටත් 2වෙනි පාර යද්දි 5, 4, 3, 2, 1 විදිහටත් අනිත් පාරවල් 3දී තවත් විදි 3කටත් 5වෙනි පාරෙන් පස්සේ අවසන් වෙන්නත්. ඉතින් මේ විදිහට ලියද්දී මේ විදිහට Switch එක හරහා එක එක තැන් වලට ආවාම මේ හරහා යන්න කියලා තීරණයක් අරන් පාරවල් තෝරලා දේන්න පුලුවන්. Decision වලදි පාරවල් 2යිනේ තියෙන්නේ ඔව් හෝ නෑ කියලා. මේකේදී ගොඩක් පාරවල් හදාගන්න පුලුවන් අපිට කැමති තරමක්. ලොකූකූකූ Decision එකක් වගේ තමයි මේ Switch එක.
6 සහ 7 - Connection Point
මේකෙන් පුලුවන් අපිට එක තැනකින් තව තැනකට යන්න කියලා පාරක් පෙන්නලා දෙන්න.
උදාහරණයක් විදිහට අපි මුලින්ම ලියපු Program එකේ අපි LED එක Off වෙලා තත්පරයක Delay එකට පසුව දාලා තිබුනේ A: කියන Connection point එකට යන්න කියලා එකක්. එතකොට Program එක ආයෙමත් අර මුලින් තිබුනු A: කියන Connection point එකට යනවා. ආයෙත් එතකොට මුල ඉඳන් Program එක ඇවිත් ආපහු අන්තිම A: වලින් අයෙම මුල A: එකට යනවා. ඒක ඉවරයක් නැතිව වෙනවා අපේ Program එකේදී. ඒ වගේ දේවල් වෙන්න සහ තව ගෙඩක් දේවල් වෙන්න මේ Connection point කියන එක භාවිතා කරන්න පුලුවන්.
8 - Loop
Loop එකක් කියන්නේ වළල්ලක් / වටයක් / රවුමක් වගේ දෙයක්. ඒ කියන්නේ ඉවරයක් නැතිව ඕනි දෙයක් එක දිගටම මුල ඉඳන් අගට ගිහින් නැවත මුල ඉඳන් අගට දිගගගටම යන්න හදන්න පුලුවන් දෙයක්. අපි Connection point කියන එකෙන් කරපු දේමත් කරන්න පුලුවන්. නමුත් මෙහි තව තියෙනවා අපිට රවුම් කිහිපයක් ගිහාම නැවතෙන්න හදන්න පුලුවන් දේවල් වගේ වැඩිපුර පහසුකම් කිහිපයකුත්. තව තව දේවල් වලට මේක පාවිච්චි කරන්න පුලුවන්. ඉදිරියේදී බලමු.
9 සහ 10 - Macro
පසුවට කතා කරමු. දැන්ම ඕනි නැති වෙයි.
11 - Calculation
Calculation කියන්නේ ගණන් හදනවා වගේ දෙයක්නේ. අපිට මේක හාවිතා කරලා Decision වගේ දේවල් වලදී ගණන් හදන්න වගේ දේවල් කරන්න උදව් කරන්න පුලුවන්. මේක ඇතුළේදී තමයි අපි ගණන් හදන දේවල් කරලා දෙන්නේ.
උදාහරණයක් විදිහට අපි Program එකට හඳුන්වලා දෙනවා A, B සහ C කියලා අගයන් 3ක්. A=1 විදිහටත් B=2 විදිහටත් හඳුන්වා දීලා අපිට Calculation එකක් ඇතුළේ A + B = C කියලා වෙන්න හදලා දෙන්න පුලුවන්. වැඩිදුර ඉස්සරහට කතා කරමු.
12 - Interrupt
මේ ගැනත් පසුවට කතා කරමු. දැන්ම ඕනි නැති වෙයි. මම වැඩිය දන්නෙත් නෑ මේක ගැනනම්.




13 - Comment
මේක Program එකට අදාල නැති ඒත් Program කරන අපිට වැදගත් දෙයක්. අපි ලොකු Program එකක් ලියද්දී අපිටම අපි සමහර දේවල් ලීවේ මොනවාටද කියලා හොයාගන්න බැරි වෙන්නත් පුලුවන්. අන්න ඒ හන්දා මේ Comment වලින් යම් යම් දේවල් ගැන ඒවා ළඟින් අපිට සටහනක් දාලා තියාගන්න පුලුවන් පසු විපරම සඳහා. මේවාගෙන් Program එකට කිසිහ බලපෑමක් වෙනේනේ නෑ.
4) අපි Flowcode වලින් ලියපු Program එක වැඩ කරවලා බලන්න පුලුවන් පරිපථයක්.
කට්ටියම දැන් Program එක ලියලා වැඩ කරනවාද බලන්න ආසාවෙන්නේ ඇත්තේ. අපේ Rukaef සහෝනම් තනියමම හොයාගෙන පරිපථයත් හදලා වැඩද බලලා. ඔහුගේ උත්සාහය ගොඩක් අගය කරනවා.


මේ ඔහු හදලා තිබුනු එකේ Video එකක්.
ඔහු විදුසර පුවත්පතේ තිබුනු පරිපථයක් බලන් හදලා තිබුනේ. ඒ පරිපථය නිවැරදියි. ඒ නිසා මමත් ඔයාලට ඒ පරිපථයම දෙන්නම්. (මේ ගැන දැන්වූ Rukaef සහෝට ස්තූතියි.
)
ඔය විදිහට පරිපථය සාදා ගත්තම ඔයාලටත් අපි ලියපු Program එක Test කරලා බලන්න පුලුවන් වෙයි.


5) Rukaef සහෝ හදපු පරිපථයේ LED එකේ එලිය අඩුවෙන් පත්තු වෙන්නේ කීවා. පරිපථය යට අතින් ඇල්ලුවාම හරියනවාලු.
මම හිතන විදිහට එළිය අඩු වුනු එකට හේතුව තමයි LED එකට අවශ්ය තරම් විදුලියක් නොලැබෙන එක. ඒ 330R කියලා පරිපථයේ දාලා තියෙන 330 ohms ප්රතිරෝධකයේ අගය වැඩි නිසා වෙන්න පුලුවන්. අත තිබ්බම අත හරහා අඩු ප්රතිරෝධයකින් විදුලිය ගලා ගොස් LED එකේ එළිය වැඩි වෙනවා.
සාමාන්යෙයන් මේ IC එකකින් එළියට දෙන වොල්ටීයතාව වෝල්ට් 5ක් පමණ වෙනවා. නමුත් ඒ වෝල්ටීයතාව එක LED එකකට වැඩී. ප්රතිරෝධකය නැතිව LED එක සම්බන්ධ කළොත් එය දැවී යාමට පුලුවන්. ඒ නිසයි LED බල්බයට ශ්රේණිගතව 330R කියන ප්රතිරෝධකය සවි කරලා තියෙන්නේ. ඒ ප්ර්රතිරෝධකයේ අගය අපි පාවිච්චි කරන LED බල්බය අනුව අපිට වෙනස් කරගන්න පුලුවන්. ඒ සඳහා අපේ LED බල්බයට අවශ්ය වෝල්ටීයතාව සහ ධාරාව දැන ගත යුතු වෙනවා. නමුත් අපි මේ නිකන් කඩේකින් බල්බයක් ගද්දී ඕවා ගැන සඳහනක් නෑ.
ඒ නිසා ඔයාලටත් 330 ohms වලින් එළිය මදි වුනොත් ඒ වෙනුවට 270 ohms වගේ ප්රතිරෝධකයක් පාවිච්චි කරන්න. ඒත් මදිනම් 220 ohms වගේ ප්රතිරෝධකයක් පාවිච්චි කරලා බලන්න.
අපි හරියටම අපේ බල්බ ගැන තොරතුරු දන්නවානම් පාවිච්චි කිරීමට අවශ්ය ප්රතිරෝධකය ගැන හරියටම දශමෙටම දැනගන්නේ මෙහෙමයි.
ඔයාට ඒක හරියටම දැනගන්න පුලුවන් V = IR සමීකරණයෙන්.
V = පරිපථයෙන් ලැබෙන වෝල්ටීයතාව - LED එකට අවශ්ය වෝල්ටීයතාව (V)
I = LED එකට අවශ්ය ධාරාව (mA)
R = සම්බන්ධ කිරීමට අවශ්ය ප්රතිරෝධකයේ අගය (ohms)
අපි උදාහරණයක් බැලුවොත්,
IC එකෙන් එලියට දෙන වෝල්ටීයතාව 5V කියලා ගමු,
LED එකට අවශ්ය වෝල්ටීයතාව 2V කියලා ගමු,
LED එකට අවශ්ය ධාරිතාව 15mA කියලා ගමු,
දැන් අපිට අවශ්ය ප්රතිරෝධකයේ අගය තමයි හොයාගන්න ඕනි...
දැන් අර අගයන් අපේ සමීකරණයට ආදේශ කරමු...
V = I x R
පරිපථයෙන් ලැබෙන වෝල්ටීයතාව - LED එකට අවශ්ය වෝල්ටීයතාව = LED එකට අවශ්ය ධාරාව x සම්බන්ධ කිරීමට අවශ්ය ප්රතිරෝධකයේ අගය
5V - 2V = 15mA x R
R උක්ත කළාම,
R = 3V / 15mA
R = 0.2 Kilo ohms
1 Kilo ohms = 1000 ohms නිසා,
0.2 x 1000 = 200 ohms
R = 200 ohms
ප්රතිරෝධක අපිට ඕනි ඕනි අගයට ගන්න නැති නිසා ළඟම තියෙන ඊට ටිිකක් වැඩි එක ගන්න. ඒ කියන්නේ 220 ohms.
ඔන්න ඔහොම තමයි ඕක ඕනි එකකට හදාගන්නේ.
ඒක ලේසියෙන්ම කරගන්න පුලුවන් මෘදුකාංග සහ වෙබ් අඩවි තියෙනවා. ඒවාට අදාල දත්ත ටික දුන්නම ගාණ හදලා දෙනවා ටුක් ගාලා.
Electronics Assistant කියන්නේ ඒ වගේ දේවල් කරගන්න පුලුවන් වැදගත් මෘදුකාංගයක්. ඒකෙන් තව වැඩ ගොඩක් කරගන්නත් පුලුවන්.


මෙතනින් ( https://drive.google.com/file/d/0B_F...ew?usp=sharing ) ඒක ගන්න. 


එහෙනම් අද පාඩම විදිහට මම කියලා දෙන්නම් Flowcode එකෙන් අපි ලියපු Program එකක් කොහොමද පරිපථයකට දාගන්නේ කියලා.
1) මුලින්ම අපි හදපු Program එකේ Options ටික අපේ IC එකට වගේම පරිපථය අනුව සාදා ගන්න ඕනි. ඒකට Flowcode වල Build > Project Options... යන්න.
එතකොට එන මේ Window එකෙන් තමයි අපි අපේ Options හදන්න ඕනි.
Target කියන තැනින් අපේ IC Model එක පෙන්නනවා. අනිත් වැදගත් දේවල් තමයි මේවා...
1 - Clock speed (Hz):
මේ IC වැඩ කරන්නම් අපි එයට ස්පන්ධ ලබා දිය යුතුයි. ඒ සඳහා අපි Crystal කියන කොටසක් භාවිතා කරනවා. මම උඩ ලබා දීලා තිබෙන පරිපථයේ 4Mhz කියලා තියෙන්නේ අන්න ඒ Crystal කියලා තිබෙන උපාංගය. අපි භාවිතා කරන Crystal එකේ වේගය අනුව මෙයද සකස් කළ යුතු වෙනවා. අපි දැන් පාවිච්චි කරන්නේ 4Mhz = 4,000,000Hz නිසා අපි මෙතනින් 4000000 තෝරා ගත යුතු වෙනවා. (1000Hz = 1Khz ----- 1000Khz = 1Mhz)
2 - Simulation speed:
මෙයින් අපේ Program එක වැඩ කරන්න ඕනි වේගය වෙනස් කරන්න පුලුවන්. මෙහි සාමාන්ය තිබෙන As fast as possible කියන තේරීමම තියන්න.
3 - Configure chip...
මෙයින් තව වැඩිපුර දේවල් ටිකක් වෙනස් කරගන්න පුලුවන් අපට. ඒකට ගිහාම මෙන්න මේ වගේ Window එකක් විවෘත වෙයි.
4 Oscillator:
මේ තමයි අපි අපේ IC එකට ස්පන්ධය ලබා දෙන උපාංගය මොකක්ද කියලා ලබා දෙන තැන. IC එකට නොයෙක් ක්රම මඟින් ස්පන්ධ ලබා දිය හැකියි. නමුත් අපි දැන් ස්පන්ධ ලබා දෙනවා කියලා කතා වුනේ 4Mhz Crystal උපාංගයෙන් නිසා මෙතන XT කියන විදිහට වෙනස් කරන්න.
5 Code Protect:
මේකෙදී වෙන්නේ අපි IC එකට ලියපු කේතය නැවත වරක් කියවීමට බැරි පරිදි සකස් කරන එක. සාමාන්ය විදිහට අපි IC එකට දාන කේතය නැවත වරක් කියවීමට පුලුවන්. මෙයින් එය නවත්වනවා. මෙයත් සාමාන්ය ලෙසම Off තත්වයේ තබන්න.
අනිත් Options වැඩියම වැදගත් නෑ දැනට. ඒ නිසා මේ ටික විතරක් දැනට හදලා OK කරලා ඒ Windows වලින් ඉවත් වෙන්න.
2) දැන් තමයි අපි අපේ Program එක IC එකට දාන File එක විදිහට Convert / Compile කරගන්නේ. අපි මොන දෙයක් භාවිතා කරලා Program එකක් ලීවත් අන්තිමේටම IC එකට දාද්දී ඒවා Machine Language එකට එහෙමත් නැත්නම් 1 & 0 වලින් එන Code එකට Convert කරගන්න ඕනි. ඒකට කියන්නේ Compile කරනවා කියලා. ඒකෙන් අපි හදාගන්නේ .HEX කියලා ගොණුවක්.
මේ Compile කරගැනීම සඳහා Build > Compile to HEX... යන්න.
එතකොට එයි මුලින් අපේ Program එක Save කරන්න කියලා. එතනින් Save කළාම තව Window එකක් Open වෙලා වචන ගොඩාඩාඩාක් ගිහින් ගිහින් අන්තිමේටම FINISHED කියලා ඇවිත් නවතීවි. එහෙම ආවා කියන්නේ වැඩේ ගොඩම තමයි Flowcode වලින්.


r
3) දැන් නිකමට වගේ Flowcode එක Close කරලා ඔයාලා Program එක Save කරපු තැනට ගියෙත් Files 12ක් වගේ හැදිලා තියෙනවා පෙනෙයි. ඒවගෙන් අර අන්තිමේට .HEX කියලා තියෙන File එක තමයි අපි IC එකට Upload කරන්න ගන්නේ.
4) අපි දැන් අපේ .HEX කියන File එක IC එකට Upload කරන්න ඕනි. දැන් තමයි අපේ Programmer එක අපිට ඕනි වෙන්නේ. ඒ වගේම මම එදා දුන්නු PICkit 2 කියන මෘදුකාංගය.
PICkit 2 මෙතනින් ( https://drive.google.com/file/d/0B_FiF3FGG-qNMVJuUlZEZFRPcFU/view?usp=sharing ) ගන්න.
5) Programmer එකට IC එක නිවැරදිව සවි කරලා PICkit 2 කියන මෘදුකාංගය විවෘත කරලා Programmer එක පරිගණකයට සම්බන්ධ කරන්න. IC එක නිවැරදිව සම්බන්ධ වෙලානම් PICkit 2 මෘදුකාංගයේ අපේ IC එක පෙන්වයි "PICkit 2 found and connected. PIC device found." කියලා.
6) දැන් අපිට තියෙන්නේ අපේ PICkit 2 මෘදුකාංගයට අපේ .HEX එක ලබා දෙන්න. ඒ සඳහා PICkit 2 මෘදුකාංගයේ File > Import Hex ගිහින් ඔයාලා හදාගත්තු .HEX File එක හොයලා දෙන්න. එතකොට PICkit 2 මෘදුකාංගයේ මේ වගේ Hex file successfully imported කියලා පෙන්නයි.
7) ඊළඟට තියෙන්නේ අපේ IC එකට File එක Upload කරන එක. ඒකට PICkit 2 මෘදුකාංගයේ අර Hex file successfully imported කියලා පෙන්නපු තැනට යටින් තියෙන Buttons වලින් Write කියන එක Click කරන්න. එතකොට අපේ .HEX File එකේ දත්ත ටික IC එකට Upload වෙලා Programming Successful කියලා Message එකක් එයි. ඔන්න ඉතින් එහෙම ආවානම් වැඩේ ගොඩේ ගොඩ...


8) ඉතින් දැන් අපේ Program එක IC එකේ. දැන් ඉතින් ඔයාලා IC එක හදාගත්තු පරිපථයට සවි කරලා පරීක්ෂා කරලා බලන්න.
එහෙනම් ඉතින් අදට පාඩම ඇති. පැය 4ක් 5ක් දැන් ලීවා මේක. අත් රිදෙනවා පට්ට්ට්ටටම...


මේ මම ලියපු Program එකකට මමම හදපු පරිපථයක් වැඩ කරන විදිහ. මේ විදිහේ පරිපථ සහ Program මම ඉදිරියේදී ලබා දෙන්නම්.
ඔයාලට තියෙන ප්රශ්ණ අහලා Message එකක් හෝ Bump එකක්වත් දාලා අනිත් අයටත් උදව් කරන්න මේ දේවල් දැනගන්න.
එහෙනම් ගිහින් එන්නානානාම්... මම Elakiriයට අලුත්. වැඩි වැඩ දන්නේ නෑ මේ Forum එකේ. ඒ හන්දා PM දාන අය FB එකෙන් Message එකක් දාන්න ආ...
www.Facebook.com/hprane


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


www.Facebook.com/TVSeriesLK
හැමෝටම ආයුබෝවන්...!!!

ඔන්න එහෙනම් මම 3 වෙනි පෝස්ටුව අරන් ආවා...
ගොඩක් අය මම කියලා දීපුවා Try කරලා තිබුනා. ඒ වගේම පරිපථ එහෙමත් හදලා තිබුනා. පට්ට සතුටුයි ඒ ගැනනම්.



අපි දැනට ඔක්කොම කෑලි බෑලි පිටරටින් ගෙන්නන්නේ. මේ දේවල් ඉගෙනගෙන අපිම අපේ රටේම දේවල් හදාගෙන ඉදිරියට යමු කියන එකයි මගේ මේ ලිපි වලින් කරන එකම ඉල්ලීම. ඕනි දෙයක් අහන්න. දන්න දෙයක් කියලා දෙන්නම්.



ගොඩක් අය ලිපියට සුභ පතලා තිබුනා. හැමෝටම ස්තූතියි.

ඒ වගේම මම ප්රශ්ණ තිබුනු ඒවාටත් Reply දැම්මා ඔන්න.
පළමු ලිපිය.
http://www.elakiri.com/forum/showthread.php?t=1677611
දෙවන ලිපිය.
http://www.elakiri.com/forum/showthread.php?p=18379370
අද ලිපිය මම පටන් ගන්න හිතුවේ ලැබුනු ප්රතිචාර වලින් සමහර අයට නොතේරුණු දේවල් ටිකක් ආපහු පැහැදිලි කරලා එහෙම. පත්තරයක් වගේ දිගට ලියනවට සමාවෙනු මැනවි.

හැමෝටම තේරෙන්න පුලුවන් විදිහට කියලා දෙන්නයි මට ඕනි.

1) මම කියපු 16F84A සහ 16F877A වෙනුවට අලුත් ඒවා පැමිණ තිබීම. (මේ ගැන දැන්වූ knight11 සහෝට ස්තූතියි.
)16F84A එහෙම තමයි අපි ඉස්සර ඉඳන් පාවිච්චි කරපු IC. නමුත් දැන් ඒ සඳහා අලුත් ඒවා පැමිණ තිබෙනවා. ඒවා මිලෙන් අඩුයි සහ අර පැරණි IC වලට වඩා හෝ සමානව පහසුකම් තියෙනවා.
16F84A වල අපිට Code ලියලා දාන්න පුලුවන් Memory එක තිබුනේ 2Kb වගේ ප්රමාණයක්. 16F628A වල එය 3.5Kb පමණ තිබෙනවා. අග්ර පිහිටා තිබෙන්නේත් එකම වගේ. ඒ නිසා අපිට 16F84A වලට හදපු පරිපථයක් වෙනස් නොකරම 16F628A සඳහා යොදා ගන්න පුලුවන්.

16F877A සහ 16F887A වල කතාවත් ඒ වගේම තමයි.

16F84A Rs:265 - http://www.lankatronics.com/pic16f84a-pdip.html
16F628A Rs:210 - http://www.lankatronics.com/pic16f628a-pdip.html
2) අපි ලියන Programs වැඩද බලන්න පුලුවන් මෘදුකාංගයක්.
ඇත්තටම අපිට තව මෘදුකාංගයක සහයක් නැතිවම Flowcode වලින්ම විතරක් වුනත් අපේ Code එක වැඩද නැද්ද කියලා වගේම Errors බලලා හදා ගන්නත් පුලුවන්. අපි පහළට ගන්න Output අපේ Code එක Play කළාම ක්රියාත්මක වෙලා වෙන දේ පෙනවනවා. අලුත් Flowcode 6 වල එහෙම Robotics වලට ගන්න දේවල් වගේම සංකීර්ණ යන්ත්ර වගේ දේවල් පවා Outputs විදිහට හදලා Code එක අනුව වැඩද නැද්ද කියලා බලන්න පුලුවන්.



නමුත් Flowcode වලදී සම්පූර්ණ පරිපථයක් හදලානම් Test කරන්න පුලුවන්කමක් නෑ. ඒ සඳහා ගොඩක් අය භාවිතා කරන්නේ Proteus කියන මෘදුකාංගය. ඒකෙන් සම්පූර්ණ පරිපථයක් නිර්මාණය කරලා අපේ Code එක ඒ අදාල IC එකට දීලා වැඩ කරන විදිහ බලාගන්න පුලුවන්. ඉස්සරහට වෙලාවක් තිබුනොත් ඒ ගැන ලිපියක් දාන්නම්.

3) Flowcode වල වම් පැත්තේ තියෙන Input, Output සහ Delay වැනි බිල්ඩින් බ්ලොක්ස් ටික ගැන පොඩි හැඳින්වීමක්.
මතක තියාගන්න මේක සරළම හැඳින්වීමක්. මේ දේවල් වලින් කරන්න පුලුවන් තව ගොඩාඩාඩාක් දේවල් තියෙනවා.
1 - Input
Input කියන්නේ අපිට IC එක සඳහා පිටින් දත්තයක් ලබා දීමේදී භාවිතා කරන්න පුලුවන් කොටස.
උදාහරණයක් විදිහට අපි පිටින් ස්විචයක් දාලා ඒක අනුව IC එක හරහා දෙයක් On / Off කරගන්න වගේ දෙයක් කරගන්න ඕනිනම් අපි Program එක ලියද්දී ස්විචයට Code එක ලියන්නේ මේ Input කියන එක හරහා IC එකට එන Input එකක් විදිහට.
2 - Output
Output කියන්නේ අපිට IC එක මඟින් එළියට දත්තයක් ලබා දීමේදී භාවිතා කරන්න පුලුවන් කොටස.
උදාහරණයක් විදිහට අපි පිටින් බල්බයක් දාලා IC එක හරහා ඒක On / Off කරගන්න වගේ දෙයක් කරගන්න ඕනිනම් අපි Program එක ලියද්දී බල්බයට Code එක ලියන්නේ මේ Output කියන කොටස මඟින්.
3 - Delay
Delay එහෙමත් නැත්නම් ප්රමාදයක් මඟින් කරන්නේ යම් Program එකක් අපි දෙනු ලබන කාල පරාසය මත නවත්වා තැබීම / ප්රමාද කිරීම වගේ දෙයක්.
උදාහරණයක් විදිහට අපි මුලින්ම ලියපු Program එකේ අපි තත්පරයක් බල්බය On වී තියෙන්නත් ඊළඟි තත්පරය Off වී තියෙන්නත් ලීවේ. අන්න එහිදී අපේ Program එක තත්පරේ ගානේ නවත්වන් හිටියේ මේ Delay එක මඟින්. Delay එකට අපිට කැමති කාල පරාසයක් දෙන්න පුලුවන්.
4 - Decision
Decision කියන්නේ තීරණයක්. ඒ කියන්නේ අපි අපි ලියන Program එක තුළ යම් දෙයක් වුනොත් වෙනත් යම් දෙයක් වෙන්න හෝ වෙන්න එපා කියලා තීරණයක් ගන්න කියලා අපේ Program එකට කියනවා. ඒක මෙහෙම හිතන්න පුලුවන්,
අපි Program එක ලියනවා 1 සිට 5ට LEDක් පත්තු 5ක් පිළිවෙලට පත්තු වෙමින් යමින් 5 පාරක් පත්තු වෙන්න කියලා ඒ විදිහටම. 5 වෙනි පාර පත්තු වෙලා ඉවරනම් ඊළඟට නවතින්න කියලා. ඉවර නැතිනම් ආපහු ඒ පිළිවෙළම යන්න කියලා.
එතකොට On කළාම LED ටික පිළිවෙලින් පළමු පාරට 1, 2, 3, 4 සහ 5ට ගිහින් 5දී තීරණය කරලා බලනවා දැන් මේ පිළිවෙල 5 පාරක් ගියාද කියලා. තවම එක පාරක් ගිය නිසා Program එක තීරණය කරනවා 2වෙනි පාරටත් අර විදිහටම 1, 2, 3, 4 සහ 5 යවන්න. ඔහොම 5 පාරක් ගිහාම තමයි Program එක තීරණය කරන්නේ දැන් මේක 5 පාරක් ආපු නිසා නතර කරනවා කියලා.
අන්න ඒ වගේ දේවල් කරගන්න තමයි මේ Decision කියන එක භාවිතා කරන්නේ.

5 - Switch
මේකත් එක විදිහක ටිකක් කෑලි වැඩි Decision එකක් විදිහට ගන්නත් පුලුවන්.
උදාහරණයක් විදිහට අපි උඩ Decision එකට ලියපු Program එකම මේකට ලියලා Decision එක වෙනුවට Switch එකක් දාලා Program එක ටිකක් වෙනස් කරලා ලියනවා 1වෙනි පාර යද්දි 1, 2, 3, 4, 5 විදිහටත් 2වෙනි පාර යද්දි 5, 4, 3, 2, 1 විදිහටත් අනිත් පාරවල් 3දී තවත් විදි 3කටත් 5වෙනි පාරෙන් පස්සේ අවසන් වෙන්නත්. ඉතින් මේ විදිහට ලියද්දී මේ විදිහට Switch එක හරහා එක එක තැන් වලට ආවාම මේ හරහා යන්න කියලා තීරණයක් අරන් පාරවල් තෝරලා දේන්න පුලුවන්. Decision වලදි පාරවල් 2යිනේ තියෙන්නේ ඔව් හෝ නෑ කියලා. මේකේදී ගොඩක් පාරවල් හදාගන්න පුලුවන් අපිට කැමති තරමක්. ලොකූකූකූ Decision එකක් වගේ තමයි මේ Switch එක.

6 සහ 7 - Connection Point
මේකෙන් පුලුවන් අපිට එක තැනකින් තව තැනකට යන්න කියලා පාරක් පෙන්නලා දෙන්න.
උදාහරණයක් විදිහට අපි මුලින්ම ලියපු Program එකේ අපි LED එක Off වෙලා තත්පරයක Delay එකට පසුව දාලා තිබුනේ A: කියන Connection point එකට යන්න කියලා එකක්. එතකොට Program එක ආයෙමත් අර මුලින් තිබුනු A: කියන Connection point එකට යනවා. ආයෙත් එතකොට මුල ඉඳන් Program එක ඇවිත් ආපහු අන්තිම A: වලින් අයෙම මුල A: එකට යනවා. ඒක ඉවරයක් නැතිව වෙනවා අපේ Program එකේදී. ඒ වගේ දේවල් වෙන්න සහ තව ගෙඩක් දේවල් වෙන්න මේ Connection point කියන එක භාවිතා කරන්න පුලුවන්.
8 - Loop
Loop එකක් කියන්නේ වළල්ලක් / වටයක් / රවුමක් වගේ දෙයක්. ඒ කියන්නේ ඉවරයක් නැතිව ඕනි දෙයක් එක දිගටම මුල ඉඳන් අගට ගිහින් නැවත මුල ඉඳන් අගට දිගගගටම යන්න හදන්න පුලුවන් දෙයක්. අපි Connection point කියන එකෙන් කරපු දේමත් කරන්න පුලුවන්. නමුත් මෙහි තව තියෙනවා අපිට රවුම් කිහිපයක් ගිහාම නැවතෙන්න හදන්න පුලුවන් දේවල් වගේ වැඩිපුර පහසුකම් කිහිපයකුත්. තව තව දේවල් වලට මේක පාවිච්චි කරන්න පුලුවන්. ඉදිරියේදී බලමු.

9 සහ 10 - Macro
පසුවට කතා කරමු. දැන්ම ඕනි නැති වෙයි.

11 - Calculation
Calculation කියන්නේ ගණන් හදනවා වගේ දෙයක්නේ. අපිට මේක හාවිතා කරලා Decision වගේ දේවල් වලදී ගණන් හදන්න වගේ දේවල් කරන්න උදව් කරන්න පුලුවන්. මේක ඇතුළේදී තමයි අපි ගණන් හදන දේවල් කරලා දෙන්නේ.
උදාහරණයක් විදිහට අපි Program එකට හඳුන්වලා දෙනවා A, B සහ C කියලා අගයන් 3ක්. A=1 විදිහටත් B=2 විදිහටත් හඳුන්වා දීලා අපිට Calculation එකක් ඇතුළේ A + B = C කියලා වෙන්න හදලා දෙන්න පුලුවන්. වැඩිදුර ඉස්සරහට කතා කරමු.

12 - Interrupt
මේ ගැනත් පසුවට කතා කරමු. දැන්ම ඕනි නැති වෙයි. මම වැඩිය දන්නෙත් නෑ මේක ගැනනම්.





13 - Comment
මේක Program එකට අදාල නැති ඒත් Program කරන අපිට වැදගත් දෙයක්. අපි ලොකු Program එකක් ලියද්දී අපිටම අපි සමහර දේවල් ලීවේ මොනවාටද කියලා හොයාගන්න බැරි වෙන්නත් පුලුවන්. අන්න ඒ හන්දා මේ Comment වලින් යම් යම් දේවල් ගැන ඒවා ළඟින් අපිට සටහනක් දාලා තියාගන්න පුලුවන් පසු විපරම සඳහා. මේවාගෙන් Program එකට කිසිහ බලපෑමක් වෙනේනේ නෑ.

4) අපි Flowcode වලින් ලියපු Program එක වැඩ කරවලා බලන්න පුලුවන් පරිපථයක්.
කට්ටියම දැන් Program එක ලියලා වැඩ කරනවාද බලන්න ආසාවෙන්නේ ඇත්තේ. අපේ Rukaef සහෝනම් තනියමම හොයාගෙන පරිපථයත් හදලා වැඩද බලලා. ඔහුගේ උත්සාහය ගොඩක් අගය කරනවා.



මේ ඔහු හදලා තිබුනු එකේ Video එකක්.
ඔහු විදුසර පුවත්පතේ තිබුනු පරිපථයක් බලන් හදලා තිබුනේ. ඒ පරිපථය නිවැරදියි. ඒ නිසා මමත් ඔයාලට ඒ පරිපථයම දෙන්නම්. (මේ ගැන දැන්වූ Rukaef සහෝට ස්තූතියි.
)
ඔය විදිහට පරිපථය සාදා ගත්තම ඔයාලටත් අපි ලියපු Program එක Test කරලා බලන්න පුලුවන් වෙයි.



5) Rukaef සහෝ හදපු පරිපථයේ LED එකේ එලිය අඩුවෙන් පත්තු වෙන්නේ කීවා. පරිපථය යට අතින් ඇල්ලුවාම හරියනවාලු.
මම හිතන විදිහට එළිය අඩු වුනු එකට හේතුව තමයි LED එකට අවශ්ය තරම් විදුලියක් නොලැබෙන එක. ඒ 330R කියලා පරිපථයේ දාලා තියෙන 330 ohms ප්රතිරෝධකයේ අගය වැඩි නිසා වෙන්න පුලුවන්. අත තිබ්බම අත හරහා අඩු ප්රතිරෝධයකින් විදුලිය ගලා ගොස් LED එකේ එළිය වැඩි වෙනවා.
සාමාන්යෙයන් මේ IC එකකින් එළියට දෙන වොල්ටීයතාව වෝල්ට් 5ක් පමණ වෙනවා. නමුත් ඒ වෝල්ටීයතාව එක LED එකකට වැඩී. ප්රතිරෝධකය නැතිව LED එක සම්බන්ධ කළොත් එය දැවී යාමට පුලුවන්. ඒ නිසයි LED බල්බයට ශ්රේණිගතව 330R කියන ප්රතිරෝධකය සවි කරලා තියෙන්නේ. ඒ ප්ර්රතිරෝධකයේ අගය අපි පාවිච්චි කරන LED බල්බය අනුව අපිට වෙනස් කරගන්න පුලුවන්. ඒ සඳහා අපේ LED බල්බයට අවශ්ය වෝල්ටීයතාව සහ ධාරාව දැන ගත යුතු වෙනවා. නමුත් අපි මේ නිකන් කඩේකින් බල්බයක් ගද්දී ඕවා ගැන සඳහනක් නෑ.
ඒ නිසා ඔයාලටත් 330 ohms වලින් එළිය මදි වුනොත් ඒ වෙනුවට 270 ohms වගේ ප්රතිරෝධකයක් පාවිච්චි කරන්න. ඒත් මදිනම් 220 ohms වගේ ප්රතිරෝධකයක් පාවිච්චි කරලා බලන්න.

අපි හරියටම අපේ බල්බ ගැන තොරතුරු දන්නවානම් පාවිච්චි කිරීමට අවශ්ය ප්රතිරෝධකය ගැන හරියටම දශමෙටම දැනගන්නේ මෙහෙමයි.

ඔයාට ඒක හරියටම දැනගන්න පුලුවන් V = IR සමීකරණයෙන්.
V = පරිපථයෙන් ලැබෙන වෝල්ටීයතාව - LED එකට අවශ්ය වෝල්ටීයතාව (V)
I = LED එකට අවශ්ය ධාරාව (mA)
R = සම්බන්ධ කිරීමට අවශ්ය ප්රතිරෝධකයේ අගය (ohms)
අපි උදාහරණයක් බැලුවොත්,
IC එකෙන් එලියට දෙන වෝල්ටීයතාව 5V කියලා ගමු,
LED එකට අවශ්ය වෝල්ටීයතාව 2V කියලා ගමු,
LED එකට අවශ්ය ධාරිතාව 15mA කියලා ගමු,
දැන් අපිට අවශ්ය ප්රතිරෝධකයේ අගය තමයි හොයාගන්න ඕනි...
දැන් අර අගයන් අපේ සමීකරණයට ආදේශ කරමු...
V = I x R
පරිපථයෙන් ලැබෙන වෝල්ටීයතාව - LED එකට අවශ්ය වෝල්ටීයතාව = LED එකට අවශ්ය ධාරාව x සම්බන්ධ කිරීමට අවශ්ය ප්රතිරෝධකයේ අගය
5V - 2V = 15mA x R
R උක්ත කළාම,
R = 3V / 15mA
R = 0.2 Kilo ohms
1 Kilo ohms = 1000 ohms නිසා,
0.2 x 1000 = 200 ohms
R = 200 ohms

ප්රතිරෝධක අපිට ඕනි ඕනි අගයට ගන්න නැති නිසා ළඟම තියෙන ඊට ටිිකක් වැඩි එක ගන්න. ඒ කියන්නේ 220 ohms.

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


මෙතනින් ( https://drive.google.com/file/d/0B_F...ew?usp=sharing ) ඒක ගන්න. 


එහෙනම් අද පාඩම විදිහට මම කියලා දෙන්නම් Flowcode එකෙන් අපි ලියපු Program එකක් කොහොමද පරිපථයකට දාගන්නේ කියලා.
1) මුලින්ම අපි හදපු Program එකේ Options ටික අපේ IC එකට වගේම පරිපථය අනුව සාදා ගන්න ඕනි. ඒකට Flowcode වල Build > Project Options... යන්න.
එතකොට එන මේ Window එකෙන් තමයි අපි අපේ Options හදන්න ඕනි.
Target කියන තැනින් අපේ IC Model එක පෙන්නනවා. අනිත් වැදගත් දේවල් තමයි මේවා...
1 - Clock speed (Hz):
මේ IC වැඩ කරන්නම් අපි එයට ස්පන්ධ ලබා දිය යුතුයි. ඒ සඳහා අපි Crystal කියන කොටසක් භාවිතා කරනවා. මම උඩ ලබා දීලා තිබෙන පරිපථයේ 4Mhz කියලා තියෙන්නේ අන්න ඒ Crystal කියලා තිබෙන උපාංගය. අපි භාවිතා කරන Crystal එකේ වේගය අනුව මෙයද සකස් කළ යුතු වෙනවා. අපි දැන් පාවිච්චි කරන්නේ 4Mhz = 4,000,000Hz නිසා අපි මෙතනින් 4000000 තෝරා ගත යුතු වෙනවා. (1000Hz = 1Khz ----- 1000Khz = 1Mhz)
2 - Simulation speed:
මෙයින් අපේ Program එක වැඩ කරන්න ඕනි වේගය වෙනස් කරන්න පුලුවන්. මෙහි සාමාන්ය තිබෙන As fast as possible කියන තේරීමම තියන්න.
3 - Configure chip...
මෙයින් තව වැඩිපුර දේවල් ටිකක් වෙනස් කරගන්න පුලුවන් අපට. ඒකට ගිහාම මෙන්න මේ වගේ Window එකක් විවෘත වෙයි.
4 Oscillator:
මේ තමයි අපි අපේ IC එකට ස්පන්ධය ලබා දෙන උපාංගය මොකක්ද කියලා ලබා දෙන තැන. IC එකට නොයෙක් ක්රම මඟින් ස්පන්ධ ලබා දිය හැකියි. නමුත් අපි දැන් ස්පන්ධ ලබා දෙනවා කියලා කතා වුනේ 4Mhz Crystal උපාංගයෙන් නිසා මෙතන XT කියන විදිහට වෙනස් කරන්න.
5 Code Protect:
මේකෙදී වෙන්නේ අපි IC එකට ලියපු කේතය නැවත වරක් කියවීමට බැරි පරිදි සකස් කරන එක. සාමාන්ය විදිහට අපි IC එකට දාන කේතය නැවත වරක් කියවීමට පුලුවන්. මෙයින් එය නවත්වනවා. මෙයත් සාමාන්ය ලෙසම Off තත්වයේ තබන්න.
අනිත් Options වැඩියම වැදගත් නෑ දැනට. ඒ නිසා මේ ටික විතරක් දැනට හදලා OK කරලා ඒ Windows වලින් ඉවත් වෙන්න.
2) දැන් තමයි අපි අපේ Program එක IC එකට දාන File එක විදිහට Convert / Compile කරගන්නේ. අපි මොන දෙයක් භාවිතා කරලා Program එකක් ලීවත් අන්තිමේටම IC එකට දාද්දී ඒවා Machine Language එකට එහෙමත් නැත්නම් 1 & 0 වලින් එන Code එකට Convert කරගන්න ඕනි. ඒකට කියන්නේ Compile කරනවා කියලා. ඒකෙන් අපි හදාගන්නේ .HEX කියලා ගොණුවක්.
මේ Compile කරගැනීම සඳහා Build > Compile to HEX... යන්න.
එතකොට එයි මුලින් අපේ Program එක Save කරන්න කියලා. එතනින් Save කළාම තව Window එකක් Open වෙලා වචන ගොඩාඩාඩාක් ගිහින් ගිහින් අන්තිමේටම FINISHED කියලා ඇවිත් නවතීවි. එහෙම ආවා කියන්නේ වැඩේ ගොඩම තමයි Flowcode වලින්.



3) දැන් නිකමට වගේ Flowcode එක Close කරලා ඔයාලා Program එක Save කරපු තැනට ගියෙත් Files 12ක් වගේ හැදිලා තියෙනවා පෙනෙයි. ඒවගෙන් අර අන්තිමේට .HEX කියලා තියෙන File එක තමයි අපි IC එකට Upload කරන්න ගන්නේ.
4) අපි දැන් අපේ .HEX කියන File එක IC එකට Upload කරන්න ඕනි. දැන් තමයි අපේ Programmer එක අපිට ඕනි වෙන්නේ. ඒ වගේම මම එදා දුන්නු PICkit 2 කියන මෘදුකාංගය.
PICkit 2 මෙතනින් ( https://drive.google.com/file/d/0B_FiF3FGG-qNMVJuUlZEZFRPcFU/view?usp=sharing ) ගන්න.
5) Programmer එකට IC එක නිවැරදිව සවි කරලා PICkit 2 කියන මෘදුකාංගය විවෘත කරලා Programmer එක පරිගණකයට සම්බන්ධ කරන්න. IC එක නිවැරදිව සම්බන්ධ වෙලානම් PICkit 2 මෘදුකාංගයේ අපේ IC එක පෙන්වයි "PICkit 2 found and connected. PIC device found." කියලා.
6) දැන් අපිට තියෙන්නේ අපේ PICkit 2 මෘදුකාංගයට අපේ .HEX එක ලබා දෙන්න. ඒ සඳහා PICkit 2 මෘදුකාංගයේ File > Import Hex ගිහින් ඔයාලා හදාගත්තු .HEX File එක හොයලා දෙන්න. එතකොට PICkit 2 මෘදුකාංගයේ මේ වගේ Hex file successfully imported කියලා පෙන්නයි.
7) ඊළඟට තියෙන්නේ අපේ IC එකට File එක Upload කරන එක. ඒකට PICkit 2 මෘදුකාංගයේ අර Hex file successfully imported කියලා පෙන්නපු තැනට යටින් තියෙන Buttons වලින් Write කියන එක Click කරන්න. එතකොට අපේ .HEX File එකේ දත්ත ටික IC එකට Upload වෙලා Programming Successful කියලා Message එකක් එයි. ඔන්න ඉතින් එහෙම ආවානම් වැඩේ ගොඩේ ගොඩ...



8) ඉතින් දැන් අපේ Program එක IC එකේ. දැන් ඉතින් ඔයාලා IC එක හදාගත්තු පරිපථයට සවි කරලා පරීක්ෂා කරලා බලන්න.

එහෙනම් ඉතින් අදට පාඩම ඇති. පැය 4ක් 5ක් දැන් ලීවා මේක. අත් රිදෙනවා පට්ට්ට්ටටම...



මේ මම ලියපු Program එකකට මමම හදපු පරිපථයක් වැඩ කරන විදිහ. මේ විදිහේ පරිපථ සහ Program මම ඉදිරියේදී ලබා දෙන්නම්.
ඔයාලට තියෙන ප්රශ්ණ අහලා Message එකක් හෝ Bump එකක්වත් දාලා අනිත් අයටත් උදව් කරන්න මේ දේවල් දැනගන්න.
එහෙනම් ගිහින් එන්නානානාම්... මම Elakiriයට අලුත්. වැඩි වැඩ දන්නේ නෑ මේ Forum එකේ. ඒ හන්දා PM දාන අය FB එකෙන් Message එකක් දාන්න ආ...

www.Facebook.com/hprane


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


www.Facebook.com/TVSeriesLK
Last edited:

