Sunday, December 23, 2012

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

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


Arduino Tutorials #1 - Introduction

Posted: 23 Dec 2012 01:57 AM PST

කොහොමද ඉතින් කට්ටියට? මාස ගාණක පොලු වලින් පස්සේ ආයෙ මේ පැත්තේ ටිකක් එන්න හිතුනා :D ආවට මොකද ලියන්න දෙයක් තමයි නැත්තේ... :P ඒ හින්දා ලියන්න දෙයක් හොයනකොට තමයි Arduino ගැන මතක්වුනේ. මම සෑහෙන කාලෙක් ඉඳන් Arduino පාවිච්චි කරකර ඉඳලා, ටික කාලෙකට කලින් ඒක අතෑරලා, ළඟදී ආයෙමත් පාවිච්චි කරන්න පටන් ගත්තා. :P කොහොමත් මේ දවස්වල හැමෝගෙම ට්‍රෙන්ඩ් එක තියෙන්නේ ඉලෙක්ට්‍රොනික්ස් පැත්තට නේ. 

උදා :- ටෙක්කතා ගෘප් එකෙන් Arduino clone එකක් නිශ්පාදනය කිරීම :P


ඒ හින්දම ඉතින් මාත් Arduino සම්බන්ධ කරගෙන වලින් කරන්න පුලුවන් කූල් වැඩ ගැන ලිපි (පෙළක් ??) ලියන්න හිතුවා. :D ඔන්න එහෙනම් පටන්ගමු...


හැමදාම වගේ ඉස්සෙල්ලම කියන්න ඕනනේ Arduino කියන්න මොකද්ද කියල. මේක හදපු අයම කියන විදියට,



"Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments."

ඕකේ තියෙන වැඩක් ඇති දේවල් ටික නම්,

1) Arduino කියන්නේ සම්පූර්නයෙන්ම නිදහස් දෘඩාංග සහ මෘදුකාංග වලින් සැදුම්ලත් එකක්. Arduino වලට අදාල ඕනම ක්‍රමානුරූප (Schematics) ඕන දෙයක් ඒගොල්ලන්ගෙම වෙබ්සයිට් එකක් ඩවුන් කරගන්න පුලුවන්.

2) Easy-to-use - ඔය තියෙන්නේ හැමෝම හොයන එක :D ඇත්තටම Arduino වලින් ප්‍රෝග්‍රෑම් කරන එක සහ Arduino සම්බන්ධ පරිපථ නිර්මාණය හරිම සිම්පල් වැඩක්. ඒවා අපි ඊළඟට බලමුකෝ..



මේ වෙනකොට ගොඩක් අයට ප්‍රශ්නයක් ඇති වෙල ඇති PIC සහ Arduino අතර තියෙන වෙනස්කම් මොනවද කියලා. (එහෙම ප්‍රශ්නයක් ඇති වෙලා නැත්නම් මේ ඡේදය අතෑරලා ඊළඟ එකට යන්න.. :D )PIC සහ Arduino අතර තියෙන ප්‍රධානම වෙනස්කම තමයි PIC කියන්නේ නිකම්ම Microprocessor එකක් විතරයි. ඒවුනාට Arduino කියන්නේ සම්පූර්ණ prototyping platform එකක්. platform එකක microprocessor එකට අමතරව ප්‍රොග්‍රැමර් එකක් සහ power supply එකක් සහ පරිගණකය හා සම්බන්ධ කරන ක්‍රමයක් (USB or Serial) යන සියල්ලම අන්තර්ගත වෙනවා. ඒ කියන්නේ අපි Arduino බෝඩ් එකක් මිලදී ගත්තාම ඒක කෙලින්ම පරිගණකයට සම්බන්ධ කරල වැඩ පටන්ගන්න පුලුවන්. 


  • Arduino වල භාවිතා කරන්නේ Atmel සමාගමෙන් නිෂ්පාදනය කරන Microprocessor range එකයි. උදාහරනයක් විදියට දැන් වැඩිපුරම ජනප්‍රිය Arduino UNO R3 බෝඩ් එකේ භාවිතා වෙන්නේ Atmega 328P කියන ප්‍රොසෙසර් එක.

An Arduino UNO

Arduino වලින් කරන්න පුලුවන් මොනවද කියල අපි දැන් බලමු. ඇත්තටම Arduino වලින් කරන්න බැරි මොනවද කියල තමයි හරි විදියට නම් බලන්න ඕනේ. ඉලෙක්ට්‍රොනික් පැත්තෙන් ඔයගොල්ලෝ කවදාවත් කරන්න බැරි තරම් අමාරුයි කියල හිතාගෙන හිටපු ගොඩක් දේවල් Arduino පාවිච්චි කරලා සෑහෙන ලේසියෙන් කරගන්න පුලුවන්. ඉස්සර අපිට නයිට් රයිඩර් සර්කිට් එකක් හදාගන්න ඕන වුනාම ඒකට විඳපු දුක මතකයි නේද? 4017 IC එක හොයාගෙන ඒකටත් සෑහෙන කට්ටක් කන්න ඕන වුනා. ඒවුනට Arduino වලින් නයිට් රයිඩර් සර්කිට් එකක් හදාගන්න ඔයගොල්ලන්ට ඕන වෙන්නේ Arduino Board එක හැරුනාම LED 10කුයි එක resistor එකකුයි විතරයි. ඒ වගේ සරල දේක ඉඳලා LCD Character Display එකක් පාලනය කරන්න, ඔය ලස්සන ලස්සන LED Cubes හදන්න, Line follower නැත්නම් Obstacle avoiding රොබෝලා නිර්මාණය කරන්න, ගෙදර දොරක් නැත්නම් ජනේලයක් ඇරියොත් Twitter post එකක් හරි SMS එකක් හරි එවන්න, Touch Screen එකක් හරහා වැඩ කරන්න පුලුවන් Home Automation Systems,  Autopilot හෙලිකොප්ටරයක් වගේ දෙයක් හදන්න වුනත් Arduino පාවිච්චි කරන්න පුලුවන්. :O


Arduino එකක් හරහා පාලනය වන 8x8x8 LED Cube එකක්

An LCD Character Display 16x2




Arduino වලින් වැඩ කරන්න පටන්ගන්නනම් ඔයගොල්ලෝ ඉස්සෙල්ලම Arduino Board එකක් මිලදී ගන්න ඕන. ගාන ප්‍රශ්නයක් නැත්නම් ගන්න පුලුවන් හොඳම එක මම ඉස්සෙල්ලා කියපු Arduino UNO R3 බෝඩ් එක. එහෙමත් නැත්නම් වෙන Arduino clone එකක් වුනත් ගන්න පුලුවන් කිසිම ප්‍රශ්නයක් නැතුව. දැනට තියෙන ලාබම වගේ clone එක තමයි Techkatha එකෙන් හදන TechDuino එක. ඒක රු1500 වගේ මිලකට ඔයගොල්ලන්ට මිලදී ගන්න පුලුවන් shop.techkatha.com හරහා. එහෙම නැත්නම් ඔය ebay එකේ තියෙන ඕනම clone එකක් මිලදී ගන්න කිසිම ප්‍රශ්නයක් ඇතිවෙන්නේ නෑ...

අපි ගොඩක් වෙලාවට මයික්‍රෝකන්ට්‍රෝලර් එකකින් බලපොරොත්තු වෙන්නේ මොනවහරි Input එකක් අරගෙන ඒ Input එකට අනුව Output එක පාලනය කිරීමයි. මේවගේ Inputs ලබාදෙන්න අපි එක එක ජාතියේ Sensors පාවිච්චි කරනවා. උදාහරණ විදියට උෂ්නත්වය මනින සංවේදක, දුර මනින සංවේදක, Hall effect sensors, ආලෝක තත්වය, ඒ වගේම නිකම්ම Switch එකක් උනත් Input එකක් වෙන්න පුලුවන්. අපි දැන් මේ Input Devices කීපයක් ගැන බලමු.


IR Distance Sensor




IR Distance Sensor එකක්. අපි මේවගේ ඒවා ගොඩක් වෙලාවට Line Follower රොබෝලා හදන්න පාවිච්චි කරනවා


Ultrasonic Sensor



Ultrasonic Distance Sensor එකක්. මේවගේ එකක් පාවිච්චි කරලා අපිට මීටර් හතරක දුරක් ආසන්න සෙන්ටිමීටරයට නිවැරදිව කියන්න පුලුවන්. ගොඩක් වෙලාවට ඔය Navigational Robotsලා වගේ දේවල් හදන්න මේක සෑහෙන්න ප්‍රයෝජනවත් වෙනවා. මේකෙන් කරන්නේ අතිධ්වනික තරංගයක් යවලා ඒ තරංගය අපේ Object එකේ වැදිල ආපහු එන්න යන වෙලාව මැනීමයි..



DHT22 Temp Sensor



Temperature and Humidity Sensor එකක්. මේක අපේ අවට පරිසරයේ උෂ්නත්වය හා ආර්ද්‍රතාවය නිර්ණය කිරීමට පාවිච්චි කරන්න පුලුවන්. මේවගේ එකක් පාවිච්චි කරල අපිට AC එකක් නැත්නම් fan එකක් වගේ දෙයක් යම්කිසි උෂ්නත්වයකට ළඟාවුනාම ඉබේම ක්‍රියාත්මක වෙන්න හදන්න පුලුවන්..





Project එකක් හැදුවට පස්සේ අපිට වැඩිපුරම වැදගත් වෙන්නේ Outputs නේ. Arduino වලදී නම් Output එකක් ගන්න LCD Character Displays, TFT Colour Screens , TV එකක් :D එහෙමත් නැත්නම් කෙලින්ම පරිගණකය වුනත් යොදාගන්න පුලුවන්. අපි අපේ මේ ලිපිපෙළ තුලින් මේ හැම ජාතියකම Devices පාවිච්චි කරන්න බලාපොරොත්තු වෙනවා. ඒ වගේම ඇත්තටම ප්‍රයෝජනවත් Consumer Electronicsනුත් Projects විදියට හදන්න බලාපොරොත්තු වෙනවා.

හරි එහෙනම්. මම මෙතනින් අදට පෝස්ට් එක නිමා කරනවා. මම ඊළඟ දවසේ Blinking LED එකක්, නයිට් රයිඩර් සර්කිට් එකක්, Analog Readings Arduino එකට ගන්න විදිය, Analog Reading එක හරහා නයිට් රයිඩර් සර්කිට් එකේ වේගය පාලනය කිරීම හා පරිගණකය හරහා LED On/Off කරන විදිය යන සියලුම දේවල් කරන්න බලාපොරොත්තු වෙනවා. එහෙනම් ඊළඟ දවසේ මෙන්න මේව ටික හොයාගෙන ඉන්නකෝ.


  1. Arduino Board එක (ඕන ජාතියක එකක්) with the USB cable -1
  2. LED - 10
  3. 220 ohm Resistor - 2
  4. 10K Potentiometer ( Preset ) - 1
  5. Jumper Cables (22AWG වයර් ඕන එකක්.. උදා :- Ebay)
  6. Breadboard -1 


සටහන :- සාමාන්‍යයෙන් අපි මොනව Project හරි එකක් හදනකොට ඒක ඉස්සෙල්ලම හදන්නේ Prototyping Board එකක. Breadboard කියන්නේත් ඒවටම තමයි. මේ Breadboard එකක් යොදාගැනීමේ වාසි ගොඩක් තියෙනවා. වැරදෙන ඒව හදන්න පුලුවන් වෙන එක තමයි ප්‍රධානම වාසිය. ඊට අමතරව පාස්සන්න අවශ්‍ය නැති නිසා Circuit එක ගොඩක් පහසුවෙන් හදල ඉවර කර ගන්න පුලුවන්. පොඩි Breadboard එකක් සාමාන‍යෙන් රු300-400 අතර මුදලකට මිලදී ගන්න පුලුවන්. එක Breadboard එකක් අවුරුදු ගානක් පාවිච්චි කරන්න පුලුවන් නිසා මේ මුදල කොහෙත්ම නාස්තියක්නම් වෙන්නේ නෑ..



පොඩි Breadboard එකක්

කස්ටියටම ගුඩ්බායි එහෙනම්.... :D අපි කැපුනා..