Friday, November 7, 2014

මයික්‍රොකන්ට්‍රෝලර් පාඩම - 01


ඉතින් කොහොමද යාළුවනේ..මම මගේ මුල්ම post 1ක විදිහට දාන්න යන්නේ ගොඩක් දෙනෙක් ආස, කරන්න බලාපොරොත්තුවෙන් ඉන්න සහ ඉගෙනගන්න ආසාවෙන් ඉන්න ෆීල්ඩ් 1ක් ගැන. ඒ තමයි මයික්‍රොකන්ට්‍රෝලර්. මුලින්ම මම කියන්න කැමතී මම මේ ෆීල්ඩ් 1කට ඇවිත් අවුරුදු 2ක් විතර වෙනවා. ඉතින් මම හිතුවා මම ඉගෙන ගත්ත දැනුම ඔයාලා එක්කත් බෙදාගන්න වගේම මටත් ඔයාලාගෙන් තව තවත් ඒ ගැන ඉගෙන ගන්න පුලුවන් වෙයි කියලා.

හොදයි එහෙනම් අපි බලමු මොකක්ද මේ මයික්‍රොකන්ට්‍රෝලර් කියන්නේ කියලා. 

මයික්‍රොකන්ට්‍රෝලර් කියන්නේ සරලව කියනවා නම් IC 1ක කට අපිට අවශ්‍ය විදියට වැඩ කරගන්න program 1ක් ලියලා ඒකට තැන්පත් කරලා අපිට අපෙම කියලා functions සහිත IC 1ක්, පරිපථයක් සකසා ගන්න ක්‍රමයක් (නමුත් මයික්‍රොකන්ට්‍රෝලර් කියන වචනය නම් භාවිතා කරන්නේ එලෙස program කරන්න පුලුවන් IC 1කට කියන පොදු නම විදියටයි.). දැනට ලෝකේ මෙහෙම IC program කරන්න පුලුවන් ක්‍රම රාශියක් තියෙනවා. ඒවා අතරින් PIC, AVR,...යන ක්‍රම ගොඩක් ජනප්‍රියයි. ඒ වගේම ඔයාලා දන්නවා, අහලා ඇතිනේ ඒවා ඉගනගන්න ලංකාවේ අවමය රු.30,000 ක් වත් වියදම් වෙනවා කියලත්. ගොඩක් අයට එහෙම සල්ලි දීලා ඉගන ගන්න විදිහක් නෑ වගේම හැම තැනම එහෙම class ඇත්තෙත් නෑ. අන්න ඒ නිසයි අපි හිතුවේ මෙහෙම වැඩක් පටන් ගන්න වගේම ඔයාලට අපේ දැනුම නොමිලේම බෙදලා දෙන්න.

මුලින්ම කියන්න ඕනා මේ මයික්‍රොකන්ට්‍රෝලර් ප්‍රොගැමින් වලට ඕන කරන බඩු වලට යන්නේ ඉතා පොඩි මුදලක්. ඒ වගෙම හරි විනෝද ජනක වැඩක් මේක. හොදයි මම මුලින්ම කිවුවානේ PIC හා AVR යන ක්‍රම ගොඩක් ජනප්‍රියයි කියාලා. ඒවා අතරිනුත් වර්තමානයේ AVR ගොඩක් වේගයෙන් ඉස්සරහට එනවා. මේ ක්‍රම දෙකේම හරය නම් ගොඩක් දුරට 1ක වගේ, ඒ උනාට සමහර කරුනු වලින් AVR ඉස්සරහින් ඉන්නවා..මගේ මේ පාඩම් මාලාවේ මම ඉස්සරහට කියලා දෙන්න බලාපොරොත්තු වෙන්නේ AVR ගැන. (මොකද මම ඇත්තටම PIC කරලා නෑ. ;-) ) ඒ උනාට අපි බලාපොරොත්තු වෙනවා ඉදිරියේදී PIC සම්භන්දයෙනුත් ලිපි පෙලක් පල කරන්න.

ඊලඟට අපි බලමු මොනවද මේ මයික්‍රොකන්ට්‍රෝලර් ප්‍රොගැමින් වලට ඕන කරන දේවල් කියලා.

මේකට මූලිකව ඕන කරන්නේ සරල උපකරණ කිහිපයක් විතරයි. ඒවා තමයි  

  • මයික්‍රොකන්ට්‍රෝලර් IC 1ක්
  • පි ලියන progarm 1ක IC කට දාගන්න programmer 1ක්, 
  • project board (බ්‍රෙඩ් බෝර්ඩ්) 1ක්
  • වයර් කිහිපයක් 
මේවත් ලොකු ගානක් නෑ. හපොයි තව ඩිංගෙන් අමතක වෙනවා පොඩි computer කෑල්ලකුත් ඕනා. :-) PIC, AVR කියලා වෙනසක් නෑ ඉහත කියපු උපකරණ ඒ ක්‍රම දෙකටම ඕනා වෙනවා. PIC වල programmer 1ක AVR වලට වඩා ගනන්. IC එහෙම නම් දෙකේම 1කම ගනන්.

මේ උපකරණ තෝරා ගැනීමෙදී බලන්න ඕන කරුණු නම් ගොඩක් තීනවා. ඒ උනාට අලුතින්ම ඉගෙන ගන්න කෙනෙකුට දැන්ම ඒ දේවල් කියලා වැඩක් නෑ. ඒ නිසා අපි ඉස්සරහ පාඩම් වලදී ඒ කරුණු ගැන ඉගෙන ගනිමු. AVR වල programming  IC series 1ක් තමයි ATmega කියන්නේ. ATmega 8, ATmega 168, ATmega 32 සහ ATmega 328 යන IC පිටකොටුවෙන් ගන්න පුලුවන්. ඒ වගේම තමා ඒ IC ප්‍රෝග්‍රැමින් වලට සුපිරියි. PIC වලට නම් විවිධ කාණ්ඩ වල  IC  භාවිතා කරනවා. ඒ වායේ නම් අපි PIC පාඩමේ දී බලමු. ඊලගට programmer 1ක තෝරගන්නකොට AVR වලට නම් USBASP 1ක් තෝරගත්තාම හරි. මොකද ඒක භාවිතා කරන්න ලේසි වගේම කරදර අඩුයි ගානත් හොදයි (රු.700ක් වගේ තමා වෙන්නේ). PIC වල USB programmer kit 1ක් නම් රු 2000ක් විතරත්, serial port programmer kit 1ක් නම් රු 1300ක් විතරත් වෙනවා. project board (බ්‍රෙඩ් බෝර්ඩ්) 1ත් රු 250කට 300කට  විතර පිටකොටුවේ පලවෙනි හරස් වීදියෙන් ගන්න පුළුවන්. මේ බඩු ටික තියෙනවනම් AVR වලින් වැඩක් කරන හැටි ඉගෙනගන්න ගොඩක් ලේසී.

AVR programming වලට අපි දැනගෙන ඉන්න ඕනා තව දෙයක් තමයි programming  language (භාශාව) එක. C, C++, assembly,... මේ වගේ ඕනා භාෂාවක් AVR සදහා භාවිතා කරන්න පුළුවන්. මම මේකත් කියන්න ඕනා. මේ භාෂා ගැන ගොඩක් දන්නේ නැති යාලුවන්ටත් මම මේ පාඩම් මාලාව හරහා AVR වලට අවශ්‍ය වන විදියට ඒ භාෂාවත් කියලා දෙන්නම්. මොකද අපි හැමදේම දන්නා අය නෙවේ නේ. මේකෙදි මම කියලා දෙන්න බලාපොරොත්තු වෙන්නේ විශේෂයෙන් C හා C++. Assembly කියන භාෂාව ඉහත කී භාෂා දෙකට වඩා ටිකක් ලේසී. ඒ නිසා C හා C++ දන්නා කෙනෙකුට  Assembly ඉගෙනගන්න ගොඩක් පහසුයි වගේම අවශ්‍යතාවය, උනන්දුව තිනවන්ම් ඒ ගැන පසුව ඉගෙනගන්න පුළුවන්.

ඊ ලගට යාලුවනේ ඉහත කියපු භාෂාව computer 1න් handle කරන්න, මයික්‍රෝකන්ට්‍රෝලර් 1ක ට භාගත කරගන්න software 1ක් වගේම USBASP programmer 1කේ driver 1ත් ඔයාලගේ පරිගණකයට ස්ථාපිත කරගන්න ඕනා. මම මේ ලිපියේ පහල ඒ software 1ක හා driver 1ක download කරගන්න link 1ක් දෙන්නම්. programming software 1ක විදියට මම කියල දෙන්නේ WinAVR කියලා 1ක්. තව ඕන නම් AVR Studio, CodeBlocks  වගේ software ත් භාවිතා කරන්න පුළුවන්.

හොදයි මට මේ ලිපියෙන් ඔයාලට කියන්න ඕනා වුනේ AVR ගැන මුලිකකරුණු කිහිපයක් හා මේක හරි විනෝදජනක දෙයක් කියලයි. මම හිතනවා මේක ඉගෙනගන්න අසාවෙන් හිටපු අයට මේ ලිපියෙන් පුංචි හරි අදහසක් එන්න ඇති කියලා. අපි ඊළග ලිපි වලින් AVR programme කරන හැටි, පුංචි පුංචි project කරණ හැටි, විවිද මෙවලම් (modules) භාවිතා කරණ හැටි ඉගෙන ගනිමු. මම ඔයාල සේරටම ආරාධනා කරනවා දිගටම අපේ blog 1ක එක්ක ඉන්න කියලා වගේම අපේ ලිපි කියවලා අපිට comments කරන්න කියලත්. එහෙනම් ඊළග ලිපියෙන් හමුවනතුරු හැමෝටම ජයවේවා!!!













Share/Bookmark

1 comments: