Arduino Plotter Part - 1

සුභ දවසක් යාලුවනේ අද ළිපියෙන් ඔයාලට අරගෙන එන්නෙ මෑතකදි අපි නිර්මාණය කරපු Arduino Plotter එක නිර්මාණය කිරීම ගැන ළිපි මාලාවෙහි පළමු කොටසයි. මුලින්ම බලමු Plotter එකක් කියන්නෙ මොකක්ද කියලා, Plotter එකක් කියන්නෙත් Printer එකක්.
නමුත් Plotter එකක් විශේෂත්වය නම් එයට පෑනක් සවි කර ඇති අතර එම පෑන කඩදාසිය මත ගමන් කරවමින් සිතුවම් ඇඳීමයි. අන්තර්ජාලයේ පවා විවිධ Plotter Projects තිබුනද අපිට අවශ්‍ය වුනේ අපේම මෘදුකාංග, කේත සහ උපාංග එකලස් සැලසුම් හරහා මෙය සාර්ථකව අඩු මුදලකින් සිදු කරගැනීමට.
මෙම Plotter එක සෑදීමට Arduino Sinhalen Blog අඩවියෙහි Admin වන මා (Sadeepa Ravishan) සමඟ, Pahan Bhagya, Jagath Supun යන මිතුරන් දෙදෙනාත් එකතු වුණා.
මේ වැඩේදි Plotter එක ප්‍රධාන කොටස් හතරකින් සමන්විත වෙනවා.

  1. Print කිරීමට අවශ්‍ය Photo එක සකසනය කරන මෘදුකාංගය
  2. එම මෘදුකාංගයෙන් ලැබෙන උපදෙස් පරිදි ක්‍රියාත්මක වීමට කේතනය කළ Arduino එක
  3. Arduino එකෙන් ලැබෙන සංඥා අනුව මෝටර් ක්‍රියා කරවන මෝටර් ධාවකය
  4. මෝටර් දෙකක් හරහා චලනය වන පෑනක් සහිත Plotter එක
ඉතින් මෙතනදි අපිට අවශ්‍ය වුනේ පරිගණකයක තිබෙන පින්තූරයක් පෑන් තුඩක් මතට ගෙන එය කඩදාසියක පිටපත් කිරීමටයි. ඒ සඳහා අපටද සිදු වූයේ ලොව පළමු රූපවාහිනී යන්ත්‍රයේදී පටන් අද භාවිතා වන LCD තිරයේ පවා සිදුකරන්නා වූ පින්තූරය කුඩා ඒකක වලට කඩා ගැනීමයි. ඉතින් පරිගණක වල භාවිතා කරන ඕනෑම පින්තූරක් Pixels වලින් සමන්විත බැවින් අපි එම Pixel එකක් තනි ඒකකයක් විදියට ගත්තා. ඊට පස්සෙ අපි එම Pixel එකින් එක පිළිවෙලට මෘදුකාංගයක් හරහා සකසනයකට ලක් කරා.
කොහොමද සිදු කළේ?
බලන්න පහළ තියෙන කාර්ටිසියන් තලය (Cartesian Plane) දෙස. ප්‍රස්තාර අඳින්නෙ මෙව්වගෙනෙ.
අපි හිතමු මෙතන pixel 10ක් දිග, pixel 10ක් පලළ පින්තූරයක් තියෙනවා කියලා, ඉතින් මෘදුකාංගය විසින් පළමුව x අක්ශය 0 තබාගෙන පිළිවෙලින් y අක්ශයේ Pixel එකින් එක ඉහලට scan කරගෙන යනවා. එසේ Pixel 10ම scan වූ පසුව, නැවත y අක්ශයේ 0ට පැමිණ ‍x අක්ශයෙන් එකක් ඉදිරියට ගොස් නැවත y අක්ශයේ pixel 10ම Scan කරගෙන ගොස් නැවතත් x අක්ශයෙන් එකක් ඉදිරියට ගමන් කරයි. 
(පින්තූර සකසන මෘදුකාංගය)
මෙසේ සම්පූර්ණම පින්තූරයේ ඇති Pixel Scan කිරීමට ලක් කරයි.
එසේ Scan වන අතරතුර Arduino එකට මෘදුකාංගය හරහා මෙම Pixel එකෙහි ලක්ශණ, පිළිබඳ සංඥා යවයි. ඒ අනුව Arduino එක විසින් Plotter එකෙහි ඇති පෑනත් Y අක්ශයේ Pixel 10ම ගෙන ගොස් x අක්ශයේ pixel එකක් ඉදිරියට ගොස් ඒ පේලියේද y අක්ශයේ pixel 10 ම scan කිරීම සිදු කරයි. ඒ ඒ pixel එකේදි ඇති ලක්ශණ අනුව Arduino එක විසින් Plotter එකේ ඇති පෑන Servo motor එකක ආධාරයෙන් ඉහලට හා පහලට ගනී, ඒ අනුව එම ස්ථානය Print වීම හා නොවීම සිදු කරයි. පෑන X හා Y අක්ශ වලට ගෙන යාමට කුඩා මෝටර් දෙකක් භාවිතා වේ.
මොනවද අර Pixel වල තියෙන ලක්ශණ?
ඒ ගැන වෙනම සඳහන් කරන්න හිතුවා. ඊට කලින් කියන්න ඕනෙ අපේ මේ Plotter අයිති වෙන්නෙ Impact Printers ගණයට, මොකද පෑන සහ කඩදාසිය එකිනෙක ස්පර්ශ වන නිසා. මේ හේතුවෙන් අපිට වර්ණ දෙකකින් යුත් Pixel හරහා තමයි පින්තූර Print කරන්න වෙන්නෙ. සුපිරි වෙළඳසැල් වල අපට ලැබන බිල් පත මෙයට (Impact Printers) උදාහරණයක්. එව්වගෙත් වර්ණ දෙකකින් තමයි Pixel තියෙන්නෙ, ඇත්තටම කිව්වොත් තනින් වර්ණයකින් අවශ්‍ය pixel print වෙනවා අනිත් pixel ටික කඩදාසියෙ ඉතුරු කරලා.
බලමුද ඒ වගේ ගත්තු පින්තූර ටිකක්?
උඩ පින්තූරෙ තියෙන්නෙ අපි හදපු Plotter එකෙන් Print කරපු පින්තූර කිහිපයක්. මගෙ පින්තූරෙකුත් Print කරලා තිබ්බා ඒ විදියට.
ඉතින් මේ මෘදුකාංගයට පුලුවන් Pixel එකේ ලක්ශණ හඳුනාගෙන එය කලු සුදු Pixel එකතුවක් බවට පත් කරලා කලු Pixel වලදි පෑන කඩදාසියට ස්පර්ශ වෙලා එතන Pixel එකක් තිබෙන බව පෙන්වන්න. අවසානයේ අපිට පින්තූරයයේ කළු සුදු Printout එකක් ගන්න ලැබෙනවා. කැමති අයට මෘදුකාංගයට BMP Image එකක් load කරලා ඒක Print වූ පසු ලැබෙන ආකාරය නැරඹීමට පහතින් මෘදුකාංගය ලබාගන්න.
Winodws 7 සඳහා
Winodws 8/10 සඳහා
Windows 7 version එකේ අවුලක් ගියොත් .NET Framework 4 install කරලා Windows 8 Version එක අතහදා බලන්න.
මෙහි දෙවන කොටස මෙතනින් --- http://arduinotutes.blogspot.com/2015/10/arduino-plotter-part-2.html

17 comments:

  1. සුපිරිම තමයි යාලුවා... ලස්සනට පහැදිලි කරලා තියෙනවා...

    ReplyDelete
  2. godak hodai ,,.
    ethuru tikath dentaaaaaaa

    ReplyDelete
  3. නියමයි මචං.මම මේ පොස්ට් එක දාන්නෙ කවදද කියල හිටියෙ.අනිත් ටිකත් ඉක්මනට දාන්න මචෝ පුලුවන්නම්.උබලට ජයම වේවා!!

    ReplyDelete
  4. ake Zip Extractor file open wenne nane...

    ReplyDelete
    Replies
    1. mama vires gard aka disconnect karala puluwam unaa......namuth thiyena gataluwa thamai....scan wenawa....mona pin walinda out aka denne.....

      Delete
  5. please robbot gripper ekak wada karana widiyath kiyananako

    ReplyDelete
  6. superb machan puluwan ikmanata prjct 1 ithiri tikath dannaaaaa gd luk mchan

    ReplyDelete
  7. pcb print karanna puluwan printer ekak hadanna puluwannam goda

    ReplyDelete
    Replies
    1. meken puluwan, pen eka witarak wenas karanna :)

      Delete
  8. Good job!
    You can use image dithering instead of simply thresholding the image. Dithering will give you many shades of gray although the image actually contains two colours. search for "floyd-steinberg dithering" its very easy to implement. good luck!

    ReplyDelete
    Replies
    1. oh great idea, instead of using binary image plotting it will create images more realastic and cool thank you :)

      Delete
  9. Mchn mtat hlp ekk onaaa.... Round shape Cartesian Plane ekk tynwa eka rotete wenwa... Ethkota pen eka e round eke diameter eka dige eheta mehet move wnkota plot wnna ekk hdagn ona.. Code eka ghgna hkp ekk or clue ekk denna plwnda

    ReplyDelete
    Replies
    1. sound wave ekak wage pen eka radius eken ihalata pahalata yanna code karanna

      Delete