ربات نقاش دیواری پولارگراف با آردوینو
دنیای دیجیتال پر از طرحهای جذاب و کدهای خفنه، اما همیشه دیدن یک اثر هنری فیزیکی که بتونی لمسش کنی، حس و حال دیگهای داره. خیلی وقتها دلمون میخواد خروجی برنامههایی که مینویسیم رو روی کاغذ ببینیم؛ دقیقا همینجاست که پای رباتهای نقاش به ماجرا باز میشه. این رباتها طرحهای دیجیتال تو رو روی دیوار یا بوم به یک اثر فیزیکی تبدیل میکنن.
توی این پروژه از آیسیمدار، میخوایم یک دستگاه طراحی پولارگراف (Polargraph) بسازیم. پولارگراف در واقع یک ربات معلقه که با دو تا استپر موتور و یک قلم، طرحهای پیچیده رو روی سطوح بزرگ رسم میکنه. فرقی نمیکنه بخوای یک پرتره رو سایهزنی کنی یا یک طرح وکتور دقیق بکشی؛ این ربات از پسش برمیاد.
ساخت این دستگاه شاید اولش کمی پیچیده به نظر برسه، اما با قطعات در دسترسی مثل برد آردوینو، درایور موتور و چند تا قطعه مکانیکی ساده به راحتی میتونی یکی برای خودت بسازی. پس ابزارها رو آماده کن تا بریم سراغ خلق این ربات هنرمند!
تاریخچه و ایده پشت این ربات
دنیای دیجیتال باعث شده خیلی سریع بتونیم صدها طرح مختلف تولید کنیم، اما این سرعت بالا گاهی ارزش کار رو پایین میاره. خروجیها خیلی راحت دور ریخته میشن و دیدن مهارت و ظرافت هنری سخت میشه.
به خاطر همین، ابزارهایی مثل پرینترهای سهبعدی و دستگاههای برش لیزر به شدت محبوب شدن تا اون حس فیزیکی و ملموس رو به ما برگردونن. عطش زیادی برای تبدیل کردن طرحهای هوشمندانه دیجیتال به یک محصول واقعی وجود داره.
ایدههای زیادی برای رباتهای نقاش دیواری مطرح شده که اساس کار خیلی از اونها مشابهه. سیستمهایی که با کابل و موتور کار میکنن سالهاست که در بین علاقهمندان به الکترونیک پرطرفدارن.
اما پولارگراف یک سبک خاص از این دستگاههاست. کلمه پولارگراف در واقع به دستگاههایی گفته میشه که از نرمافزار مخصوص به خودشون برای حرکت دادن مکانیزم V شکل استفاده میکنن.
حالا تو میتونی با کمک این آموزش، یکی از این دستگاههای جذاب رو توی کارگاه یا اتاقت داشته باشی و هر طرحی که دوست داری رو روی دیوار پیاده کنی. این پروژه بارها بهبود پیدا کرده و حالا به یک سیستم پایدار و عالی برای خلق هنرهای فیزیکی تبدیل شده.
قطعاتی که برای ساخت نیاز داریم
راه و روشهای زیادی برای ساخت این دستگاه هست، اما اینجا ما روش پایهای رو توضیح میدیم تا خودت بتونی بعدا ارتقاش بدی. قطعات بخش الکترونیک شامل این موارد میشه:
- میکروکنترلر: برد آردوینو Uno یا مدلهای سازگار با اون.
- درایور موتور: شیلد درایور موتور L293D که میتونه دو تا استپر موتور رو راهاندازی کنه و برای این پروژه کاملا مناسبه.
- موتورها: دو عدد استپر موتور (مثل NEMA 17) با جریانی در حدود 600 میلیآمپر (0.6 آمپر).
- منبع تغذیه: یک آداپتور متغیر AC/DC با جریان حداقل 1 آمپر. اگه دستگاه زیاد داغ کرد میتونی ولتاژ رو کمی پایین بیاری، اما ولتاژهای بین 9 تا 12 ولت معمولا جوابگو هستن.
- سه عدد بلبرینگ شیار عمیق.
- یک لوله برنجی یا فلزی کوچیک به طول 50 میلیمتر.
- قطعات پلکسیگلاس برش لیزری شده (میتونی از مقوای فشرده هم استفاده کنی).
- زنجیر ساچمهای پلاستیکی (شبیه زنجیر پرده کرکرهای) برای حرکت دادن ربات.
- چرخدندههای مخصوص که با زنجیر ساچمهای مچ بشن.
- وزنههای تعادل (مثل پیچ و چند تا واشر فلزی سنگین).
- یک تخته چوبی بزرگ و صاف برای سطح نقاشی.
- براکت یا پایههای نگهدارنده برای نصب موتورها روی لبه تخته یا دیوار.
آمادهسازی چرخدندهها
پیدا کردن چرخدندهای که دقیقا با ابعاد زنجیر پرده کرکرهای مچ بشه توی بازار کار سختیه. هرچند مکانیزم پردهها این چرخدندهها رو دارن، اما به راحتی قابل استفاده روی موتور نیستن. بهترین راه اینه که فایل سهبعدی این چرخدندهها رو آماده کنی و بدی برات پرینت سهبعدی بگیرن.
بعد از اینکه چرخدندهها آماده شدن، خیلی راحت اونها رو با فشار روی شفت 5 میلیمتری استپر موتورها جا بزن. این قطعات قراره کل سیستم حرکتی رو مدیریت کنن.
سیمکشی و آماده کردن موتورها
حالا باید سیمهای استپر موتورها رو آماده کنی. معمولا سیمهای فابریک موتورها کوتاهه و به برد اصلی نمیرسه. سر سیمها رو لخت کن و کمی لحیم بهشون بزن. با استفاده از سیمهای بلندتر، طولشون رو افزایش بده و حتما روی هر کابل یک لیبل بچسبون تا موقع اتصال به درایور گیج نشی.
انتخاب بوم یا سطح نقاشی
برو سراغ پیدا کردن یک تخته بزرگ و کاملا صاف تا به عنوان بوم نقاشی ازش استفاده کنیم. این تخته باید از هر طرف حداقل 15 سانتیمتر بزرگتر از بزرگترین برگهای باشه که میخوای روش نقاشی بکشی. میتونی دستگاه رو مستقیم روی دیوار نصب کنی، اما اگه ربات خطا کنه، کل دیوارت خطخطی میشه!
خوبی استفاده از تخته چوبی اینه که میتونی اونو با کمی زاویه به دیوار تکیه بدی. این شیب ملایم باعث میشه وزن قلمگیر، نوک خودکار رو روی کاغذ فشار بده و خطوط پررنگ و تمیزی کشیده بشن. وقتی سطح کاملا عمودی باشه، کشیدن خطوط واضح یکم سخت میشه. میتونی از تختههای نئوپان بدون استفاده یا حتی پشت قابعکسهای خیلی بزرگ استفاده کنی.
یک وایتبرد بزرگ هم گزینه عالیه چون میتونی تستهای اولیه رو سریع روش انجام بدی و پاک کنی. نیازی نیست حتما بوم خیلی غولپیکری داشته باشی؛ یک تخته در ابعاد کاغذ A3 هم برای شروع کاملا مناسبه.
نصب موتورها روی لبه بوم
موتورها باید طوری نصب بشن که چرخدندهها تا جای ممکن به سطح نقاشی نزدیک باشن. اگه تختهای که انتخاب کردی لبه ضخیمی داره، میتونی خیلی راحت موتورها رو با چسب دوطرفه فومی روی لبه بالایی تخته بچسبونی. فوم چسب مثل یک لرزشگیر عالی عمل میکنه و نویز دستگاه رو میگیره.
البته ممکنه موتورها روی فوم کمی بازی کنن، اما معمولا مشکل خاصی توی نقاشی ایجاد نمیکنن. این روش برای پنهان کردن سیمکشیها خیلی تمیز درمیاد چون همه سیمها از پشت تخته رد میشن. اگه پرینتر سهبعدی دم دستت هست، پایههای آماده و جذابی برای نگه داشتن استپر موتورها وجود داره که کارت رو حسابی راحت میکنه.
نصب موتورها روی سطح جلویی
یک روش دیگه اینه که موتورها رو روی خود سطح تخته نصب کنی. این روش شاید ظاهرش یکم شلوغتر بشه، اما دستت رو باز میذاره تا دستگاه رو روی هر سطحی پیاده کنی؛ از تختههای نازک گرفته تا دیوار و شیشههای بزرگ.
میتونی یک براکت ساده با تخته سهلایی بسازی که قطعاتش توی هم چفت بشن و موقعی که نیاز نداری، بخش موتور رو راحت جدا کنی. برای این کار به دو تا صفحه نگهدارنده نیاز داری.
براکتها رو باید در دو گوشه بالایی سطحت نصب کنی. اگه میخوای دستگاه رو روی شیشه نصب کنی، پایههای چسبونکی (ساکشن کاپ) هم گزینههای خوبی هستن.
فقط حواست باشه که هر دو موتور باید دقیقا در یک سطح و کاملا تراز باشن. از چسب دوطرفه ضخیم و قوی استفاده کن، چون هم وزن موتورها زیاده و هم موقع کار ارتعاش دارن.
راهاندازی بخش نرمافزاری آردوینو
قلب تپنده این پروژه برد آردوینو Uno هست. اول از همه باید کدهای فریمور رو روی این برد آپلود کنی. برای این کار از محیط نرمافزار آردوینو روی سیستم استفاده میکنیم. بدون آپلود کردن این کدها هیچ اتفاقی نمیافته و ربات عملا فلجه! پس همین الان دست به کار شو.
اگه تاحالا با آردوینو کار نکردی، یکم راجع به نحوه آپلود کدها روی این بردها سرچ کن. سورس کدهای پروژه پولارگراف به صورت متنباز در دسترسه و باید آخرین نسخهش رو دانلود کنی. فایل فشرده برنامه معمولا با نام Polargraph در دسترس قرار داره.
فایل رو از حالت فشرده خارج کن. داخلش یک پوشه میبینی که سورس کدهای مخصوص آردوینو اونجاست. داخل همون پوشه، فایلی به اسم libraries وجود داره. این پوشه شامل کتابخونههای ضروری برای راهاندازی استپر موتورهاست (مثل کتابخونه AFMotor و Accelstepper).
این کتابخونهها رو باید کپی کنی و داخل پوشه libraries در محل نصب نرمافزار آردوینوی خودت پیست کنی. در کنارش یک پوشه فریمور هم هست که باید اون رو هم به پوشه اصلی پروژههای آردوینو انتقال بدی.
در نهایت باید سه تا مسیر جدید روی سیستم تو ایجاد شده باشه:
- پوشه برنامه اصلی سرور پولارگراف.
- کتابخونه Accelstepper.
- کتابخونه AFMotor.
حالا نرمافزار آردوینو (IDE) رو باز کن و از قسمت فایلها، پروژه اصلی رو اجرا کن. چندین تب مختلف باز میشه که همون سورس کدهای فریمور هستن. دکمه Verify (تیک) رو بزن تا کامپایل بشه. اگه اروری نداد، برد رو با کابل به کامپیوتر وصل کن و دکمه Upload رو بزن.
وقتی آپلود تموم شد، برای اطمینان از کارکرد درست، سریال مانیتور (Serial Monitor) نرمافزار رو باز کن و باود ریت رو روی 57600 بذار؛ باید هر چند ثانیه یک بار پیام READY رو روی صفحه ببینی.
نصب شیلد درایور موتور
شیلد موتور دقیقا روی آردوینو سوار میشه و پایههای اونها با هم مچ هستن. این شیلد وظیفه تامین جریان استپر موتورها رو بر عهده داره و کار لحیمکاری و سیمکشی رو به حداقل میرسونه. بردهای مدل L293D برای این کار عالی هستن و به راحتی میتونی توی بازار پیداشون کنی.
این شیلد دو تا پورت مخصوص برای استپر موتور داره (یکی سمت راست، یکی سمت چپ). مدار منطقی برد برقش رو از آردوینو میگیره، اما برای تغذیه موتورها یک ترمینال جداگانه در نظر گرفته شده که باید آداپتورت رو بهش وصل کنی. سیمهای مثبت و منفی آداپتور رو لخت کن و توی ترمینال مخصوص ببند. حتما دقت کن که قطب مثبت و منفی رو درست وصل کنی.
این بردها محافظت در برابر اتصال برعکس ندارن و با یک اشتباه کوچیک ممکنه بسوزن. اگه تغذیه موتورها رو به ترمینال وصل میکنی، حتما جامپر پاور رو از روی برد بردار تا برق موتورها از مدار آردوینو کاملا ایزوله بشه و به میکروکنترلر آسیبی نرسه.
برای اطمینان بیشتر، بهتره روی آیسیهای درایور (L293D) هیتسینک کوچیک آلومینیومی بچسبونی. این قطعات موقع کار طولانیمدت به شدت داغ میشن و با داشتن هیتسینک خیالت راحت میشه که ساعتها بیوقفه کار میکنن.
سیمکشی نهایی استپر موتورها
هر استپر موتور دوقطبی، چهار تا سیم داره که به دو تا سیمپیچ داخلی وصلن. با استفاده از دیتاشیت موتور یا یک مولتیمتر ساده روی حالت تست بوق، جفت سیمهای مربوط به هر سیمپیچ رو پیدا کن.
مثلا ممکنه سیمهای قرمز و آبی به یک سیمپیچ و زرد و سفید به سیمپیچ دوم وصل باشن. حالا موتورها رو به ترمینالهای روی شیلد وصل کن و حواست باشه که ترتیب رنگها برای موتور چپ و راست دقیقا مثل هم باشه.
یعنی جفت سیم اول رو تو دو تا پین بالایی و جفت سیم دوم رو تو دو تا پین پایینی ترمینال قرار بده. برای تمیزی کار، مجموعه آردوینو و شیلد رو با یک تکه چسب یا فوم پشت تخته نصب کن. حالا شیلد رو با دقت روی پینهای آردوینو فشار بده تا جا بره و سیستم رو به برق وصل کن!
نصب نرمافزار کنترلر روی کامپیوتر
سختافزار آماده شده و حالا نوبت نرمافزاریه که قراره طرحها رو به ربات بفرسته. این برنامه محیط گرافیکی جذابی داره و با زبان Processing نوشته شده. بهترین کار اینه که از فایلهای اجرایی آمادهای که کامپایل شدن استفاده کنی. بسته نرمافزاری رو دانلود کن و فایلی که با سیستمعامل تو مچ هست رو باز کن.
فایل رو از حالت فشرده خارج کن و روی فایل اجرایی کلیک کن. دفعه اول که برنامه رو باز میکنی، ممکنه پنجره خیلی کوچیک باشه؛ پنجره رو بکش و بزرگش کن تا همه امکاناتش رو ببینی.
برنامه به طور خودکار یک فایل کانفیگ برای ذخیره تنظیمات میسازه. روی دکمه Save Properties در بالا سمت چپ کلیک کن تا ابعاد جدید پنجره ذخیره بشه و دفعات بعد به همین شکل باز بشه.
اگه به برنامهنویسی علاقه داری، میتونی سورس برنامه رو بگیری و خودت توی محیط Processing اجراش کنی. Processing یک محیط عالی برای اجرای کدهای جاوا همراه با گرافیکه.
اجرای برنامه از روی سورس کد این مزیت رو داره که اگه فایل اجرایی با سیستمت ناسازگار بود، از این طریق خیالت راحته که برنامه بدون مشکل بالا میاد. البته یادت باشه که این نرمافزار با نسخههای قدیمیتر Processing سازگارتره. پس بهتره از نسخههای 2.x استفاده کنی تا موقع اجرای کتابخونهها با خطای عجیب و غریبی روبهرو نشی.
- ابتدا نرمافزار Processing رو نصب کن.
- برنامه رو باز کن و مسیر Sketchbook رو از بخش تنظیمات پیدا کن.
- کتابخونههای مورد نیاز رو از فایل فشرده پروژه کپی کن و در پوشه libraries قرار بده.
- پوشه اصلی پروژه نرمافزاری رو هم توی مسیر Sketchbook پیست کن.
- برنامه رو ریاستارت کن و پروژه کنترلر رو باز کن.
- حالا با زدن دکمه Play در بالای صفحه، برنامه کامپایل میشه و رابط کاربری رباتت روی مانیتور ظاهر میشه.
اگه همهچیز بدون خطا بالا اومد، بهت تبریک میگم؛ یک قدم بزرگ به سمت نقاشی با ربات برداشتی. بریم سراغ تنظیمات!
آشنایی با محیط کنترلر
رابط کاربری نرمافزار خیلی هوشمندانه طراحی شده و سه تا بخش اصلی داره:
- پنل کنترل و دکمهها در سمت چپ صفحه.
- یک مستطیل طوسی در مرکز که در واقع شبیهساز دستگاه و بوم توئه.
- صف دستورات (Command Queue) در سمت راست صفحه.
دکمههای سمت چپ کارهای مختلفی میکنن؛ بعضیها برای لود کردن عکس هستن و بعضیها مستقیما دستور حرکت رو به ربات میدن. با غلتک موس میتونی توی محیط شبیهساز زوم کنی و با کلیک وسط موس، صفحه رو جابهجا کنی.
هر دستوری که به دستگاه بدی، اول میره توی صف سمت راست منتظر میمونه تا ربات کار قبلیش رو تموم کنه. به محض اینکه آردوینو اعلام آمادگی کنه، دستور بعدی اجرا میشه.
وقتی برنامه رو باز میکنی، صف دستورات روی حالت توقف (Paused) قرار داره. برای شروع به کار، کافیه روی هدر بالای صف کلیک کنی. همچنین میتونی با زدن دکمه Reset Queue کل صف رو پاک کنی.
اگه خواستی یک دستور خاص رو پاک کنی، در حالی که برنامه توقفه، روی اون دستور کلیک کن تا حذف بشه. این برنامه سه تا تب مهم در بالا داره که باید باهاشون آشنا بشی:
- تب Input: از اینجا میتونی عکس لود کنی، جابهجاش کنی، ابعادش رو تغییر بدی و به ربات دستور شروع نقاشی رو ارسال کنی.
- تب Setup: این قسمت برای تنظیمات سختافزاریه. ابعاد فیزیکی دستگاه، سایز کاغذ، نقطه شروع (Home) و سرعت موتورها اینجا تنظیم میشن. بعد از هر تغییر باید تنظیمات رو روی دستگاه آپلود کنی.
- تب Queue: برای خروجی گرفتن از صف دستورات در قالب یک فایل متنی یا وارد کردن دستورات از پیش آماده کاربرد داره.
حالا بیا سختافزار رو به نرمافزار متصل کنیم.
اتصال نرمافزار به آردوینو
برای اینکه نرمافزار بتونه با برد آردوینو ارتباط برقرار کنه، برو به تب Setup و روی دکمه Serial کلیک کن. یک پنجره کوچیک باز میشه که لیست پورتهای فعال سیستم رو نشون میده. پورتی که آردوینو بهش وصل شده رو انتخاب کن.
اگه نمیدونی کدوم پورته، اونها رو دونهدونه امتحان کن و چند ثانیه صبر کن. وقتی اتصال موفق باشه، نوار بالای صفحه اصلی سبز میشه و عبارت Polargraph READY رو نمایش میده. اگه هنوز دستگاهت کامل نشده و فقط میخوای نرمافزار رو ببینی، گزینه no serial connection رو انتخاب کن.
کار اتصال تموم شد! حالا پنجره پورت رو ببند و حتما دکمه Save Properties رو بزن تا دفعه بعد که نرمافزار رو باز میکنی، نیازی به این کار نداشته باشی.
اولین تست حرکت موتورها
خب، بررسی کن که پورت درست انتخاب شده باشه و پیام آمادگی سبزرنگ رو در بالای صفحه ببینی. اگه اتصال قطع باشه، این نوار قرمز میشه. اگه برد رو بعد از باز کردن برنامه متصل کردی، شاید نیاز باشه یک بار برنامه رو ببندی و باز کنی تا پورتها رو شناسایی کنه. اگه از طریق محیط Processing کار میکنی، دیدن پیام READY در بخش کنسول نشوندهنده ارتباط سالمه.
حالا روی بخش صف دستورات کلیک کن تا از حالت توقف دربیاد. روی دکمه Set Home کلیک کن. دستور به آردوینو فرستاده میشه و نقطه صفر دستگاهت تنظیم میشه.
روی صفحه یک نقطه بنفش میبینی که جایگاه فعلی قلم رو نشون میده. در همون لحظه، موتورها یک تکون کوچیک میخورن و قفل میشن؛ این یعنی دارن جریان میکشن و آماده فرمانهای حرکتی هستن!
حالا روی دکمه Move pen to point کلیک کن و روی یک نقطه در پایین بوم تقاشی کلیک کن. اگه همهچیز درست باشه، موتورها با صدای جذابی شروع به چرخیدن میکنن، شتاب میگیرن و آروم متوقف میشن. نقطه بنفش روی صفحه هم باهاشون حرکت میکنه. این حرکت رو چند بار تست کن تا مطمئن بشی چرخش چرخدندهها درسته.
وقتی دستگاه میخواد به سمت پایین بوم بیاد، موتور سمت چپ باید در جهت عقربههای ساعت و موتور راست برخلاف عقربههای ساعت بچرخه. وقتی بالا میره، برعکس این حالت اتفاق میافته.
اگه یکی از موتورها یا هر دو دارن برعکس میچرخن، جای نگرانی نیست؛ احتمالا سیمها رو اشتباه وصل کردی. فقط کافیه جای دو جفت سیم همون موتور رو روی ترمینال شیلد عوض کنی. تست و خطای جهت چرخش موتورها بهترین راهه تا زمانی که کاملا مطمئن بشی همهچیز رو به راهه.
بهت تبریک میگم! هیچ چیزی لذتبخشتر از اون لحظهای نیست که پروژهت برای اولین بار حرکت میکنه و جواب میده. الان وقتشه یک چای بریزی و از نتیجه کارت لذت ببری!
مونتاژ قلمگیر (گوندولا)
گوندولا یا همون قلمگیر قطعهایه که خودکار رو نگه میدارن و معلق بین زنجیرها حرکت میکنه. طرحهای مختلفی براش تو اینترنت پیدا میشه که حتی میتونی پرینت سهبعدی بگیری.
مدلی که اینجا ساختیم یکم سنگینتره و مرکز توخالی داره؛ این طراحی باعث میشه نوک قلم دقیقا در نقطه تلاقی دو زنجیر قرار بگیره و خطای زاویهای به حداقل برسه.
برای ساختش میتونی قطعات رو با دستگاه لیزر روی پلکسیگلاس یا چوب برش بزنی و روی یک لوله برنجی سوار کنی. این قطعات طوری طراحی شدن که به صورت کشویی روی هم قرار میگیرن. قطعات برشخورده رو میتونی با کمی فشار جا بزنی، اما مراقب باش که پلکسی شکنندهست و نباید فشار اضافی بهش وارد کنی. اگه احساس کردی قطعات شل هستن، میتونی از چند قطره چسب برای محکم کردنشون استفاده کنی.
معمولا ریختن کمی چسب روی آخرین حلقه فاصلهانداز برای سفت شدن کل مجموعه کافیه. ترتیب چیدن قطعات روی لوله از پایین به بالا به این شکله:
- Spacer ring
- Spacer ring
نصب زنجیر و وزنههای تعادل
طول زنجیر ساچمهای تعیین میکنه که رباتت دقیقا روی چه مساحتی میتونه نقاشی کنه. زنجیر باید اونقدر بلند باشه که وقتی قلمگیر در دورترین گوشه کادر نقاشی قرار میگیره، باز هم کمی اضافه بیاد تا بتونی وزنهها رو بهش وصل کنی.
یک سر زنجیر رو توی بازوی قلمگیر چفت کن. سر دیگه زنجیر رو از روی چرخدنده موتور رد کن و برای اینکه همیشه کشیده بمونه، بهش یک وزنه تعادل وصل کن. میتونی از پیچ و چند تا واشر فلزی سنگین استفاده کنی؛ نیازی به دقت بالا در وزن نیست.
هدف از این کار اینه که قلمگیر خیلی نرم و روان در سطح بوم معلق بمونه و چرخدندهها روی زنجیر رد نکنن. وزنههایی در حدود 150 گرم معمولا بهترین نتیجه رو میدن. وقتی این مکانیزم رو وصل کردی، احتمالا حس میکنی یک دستگاه فوقالعاده عجیب و جالب ساختی! زنجیرها رو روی دستگاه تنظیم کن و اگه موتورها رو روی بوم نصب کردی، مطمئن شو که کابلها با حرکت زنجیر درگیر نمیشن.
اندازهگیری و کالیبراسیون بوم
حالا رسیدیم به مهمترین بخش پیکربندی که شامل این دو مرحلهست:
- اندازهگیری دقیق ابعاد دستگاه
- پیدا کردن نقطه شروع یا همون Home دستگاه
برای اینکه ربات دقیق نقاشی کنه، باید ابعاد فیزیکی بوم رو به درستی وارد نرمافزار کنی. روی تخته با یک مداد خطوط راهنما بکش. این خطوط باید کاملا تراز و زاویههاشون دقیقا 90 درجه باشه تا نقاشی نهایی کجوکوله نشه. اول از همه عرض دستگاه رو به میلیمتر اندازه بگیر. این یعنی فاصله بین دو چرخدنده موتور.
اندازهگیری رو از روی دندانههای چرخدنده انجام بده. حالا یک خط افقی در بالاترین بخش بوم، دقیقا بین شفت دو تا موتور رسم کن. دومین خطی که باید بکشی، یک خط افقی دیگه با فاصله دقیقا 12 سانتیمتر (120 میلیمتر) پایینتر از خط اوله. این خط دوم، مرز بالایی کاغذ نقاشی تو رو نشون میده.
در نهایت یک خط عمودی دقیقا در مرکز تخته (بین دو موتور) بکش. تقاطع این خط عمودی با خط بالایی کاغذ (همون خط 12 سانتیمتری)، نقطه صفر یا Home دستگاهته. وقتی قلم روی این نقطه قرار میگیره، نرمافزار متوجه میشه که کار باید از اینجا شروع بشه.
تنظیم ابعاد در نرمافزار
نرمافزار کنترلر رو باز کن، برو به تب Setup و عرض و ارتفاعی که توی مرحله قبل اندازه گرفتی رو بر حسب میلیمتر وارد کن. ارتفاع خیلی روی هندسه حرکتی تاثیر نداره اما باعث میشه شبیهساز روی صفحه دقیقتر باشه.
همزمان با تغییر اعداد، میبینی که شکل دستگاه توی محیط نرمافزار هم تغییر میکنه. میتونی ابعاد کاغذت رو هم مشخص کنی. اگه دستگاهت ابعاد استانداردی داره، بذار موقعیت صفحه روی محور y همون 120 میلیمتر باقی بمونه.
با زدن دکمه Centre Page میتونی کادر کاغذ رو دقیقا وسط بوم تنظیم کنی. نقطه Home همونطور که تنظیم کردیم، در مرکز بوم قرار داره و میتونی در صورت نیاز جابهجاش کنی.
حتما بعد از اعمال این تغییرات روی Save Properties کلیک کن تا ذخیره بشن. اگه موتور یا چرخدنده متفاوتی استفاده میکنی، چند تا پارامتر پیشرفته هم هست که میتونی تغییر بدی:
- مقدار stepsPerRev: تعداد استپهای موتور در هر دور. چون نرمافزار به صورت میانمرحلهای (Interleaved) کار میکنه، این عدد باید دو برابر استپ واقعی باشه. برای موتورهای معمولی 200 استپی، عدد 400 رو وارد کن.
- مقدار mmPerRev: این عدد نشون میده با هر یک دور چرخش موتور، چند میلیمتر زنجیر جابهجا میشه (که معادل طول 8 تا ساچمه زنجیره).
- مقدار step multiplier: این همون ضریب میکرواستپ موتوره که برای شیلدی که استفاده کردیم باید روی 1 تنظیم بشه.
اگه این تنظیمات پیشرفته رو تغییر دادی، بهتره یک بار نرمافزار رو ببندی و باز کنی تا محاسبات پایه دوباره لود بشن.
ارسال تنظیمات به آردوینو
الان نرمافزار کامپیوترت میدونه ابعاد فیزیکی دستگاه چقدره، اما برد آردوینو هنوز خبر نداره! برای انتقال این دادهها، توی همون تب Setup روی دکمه Upload Machine Spec کلیک کن. این کار باعث میشه ابعاد و تنظیماتی که وارد کردی، توی حافظه EEPROM آردوینو ذخیره بشن و حتی با قطع شدن برق هم پاک نشن.
دکمه دیگهای به نام Download Machine Spec هم وجود داره که دقیقا برعکس عمل میکنه؛ یعنی تنظیمات ذخیرهشده روی برد رو میخونه و وارد نرمافزار میکنه. این دکمه زمانی کاربرد داره که فایل کانفیگ کامپیوترت پاک شده باشه و نخوای دوباره بوم رو اندازه بگیری. باز هم یادآوری میکنم که هر تغییری توی نرمافزار میدی، تا زمانی که دکمه Save Properties رو نزنی، توی کامپیوتر ذخیره نمیشه.
کالیبره کردن و شروع حرکت دستگاه
قبل از شروع هر نقاشی جدید، باید دستگاه رو کالیبره کنی. روی Set Home در تب Input کلیک کن و قلمگیر رو با دست دقیقا روی نقطهای که قبلا روی بوم به عنوان نقطه صفر علامت زدی قرار بده.
با زدن این دکمه، موتورها قفل میشن و قلمگیر رو همونجا محکم نگه میدارن. کالیبراسیون تموم شد! حالا با زدن Move Pen to Point میتونی قلم رو به هر جای بوم که دوست داری بفرستی.
حرکت موتورها باید روان و با کمترین نویز باشه. اگه دیدی موتورها موقع رسیدن به گوشهها یا سرعتهای بالا لغزش دارن و اصطلاحا رد میکنن، باید سرعت رو کم کنی وگرنه نقاشیت دفرمه میشه.
حداکثر سرعت استاندارد برای این پروژه 600 و شتاب 700 استپ بر ثانیه تنظیم شده. میتونی این مقادیر رو از تب Setup تغییر بدی و با زدن دکمه Send Speed، روی دستگاهت اعمالشون کنی. تغییر سرعت به صورت آنی تو صف دستورات اعمال میشه.
وارد کردن و پردازش عکسها
بخش سخت ماجرا تموم شد؛ حالا میرسیم به قسمت جذاب نقاشی! مراحل زیر رو دنبال کن تا عکست رو به ربات بدی:
- در تب Input، دکمه Load Image رو بزن و یک عکس دلخواه رو انتخاب کن. با آزمون و خطا متوجه میشی چه عکسهایی نتیجه بهتری میدن.
- اگه عکس رو ندیدی نگران نباش؛ روی Move Image کلیک کن و عکس رو بکش بیار وسط بوم. با کلیک دوباره روی همین دکمه، عکس همونجا ثابت میشه.
- با استفاده از ابزار Resize Image میتونی اندازه عکس رو کوچیک یا بزرگ کنی.
- روی Select Area کلیک کن و دور بخشی از تصویر که میخوای نقاشی بشه یک کادر بکش.
- بعد از انتخاب محدوده، پیشنمایشی از تراکم خطوط نقاشی بهت نشون داده میشه. دکمههای پایین پنل بهت اجازه میدن بین حالت عکس و پیشنمایش جابهجا بشی.
- این پیشنمایش بهت نشون میده سایهها و بخشهای تیره چطور روی کاغذ شکل میگیرن.
- با تغییر عدد Grid Size سایز پیکسلها عوض میشه. پیکسلهای ریزتر کیفیت بیشتری دارن اما زمان نقاشی رو به شدت بالا میبرن.
- مقدار Sample Area هم کنتراست تصویر رو تعیین میکنه. اگه این مقدار کمی بزرگتر از سایز گرید باشه، سایهزنیها خیلی زیباتر در میان.
یادت نره بعد از رسیدن به بهترین تنظیمات، دکمه ذخیره رو بزنی تا زحماتت هدر نره.
انتخاب سبک سایهزنی
نرمافزار بهت اجازه میده با روشهای مختلفی تصویر رو سایهزنی کنی. فعلا چهار تا استایل جذاب برای این کار وجود داره:
- موج مربعی ساده: این روش استاندارد دستگاهه. جاهای تیره با خطوط مربعی متراکمتر رسم میشن؛ یعنی هرچی تصویر تیرهتر باشه، ربات خطوط بیشتری میکشه.
- موج مربعی مقیاسپذیر: شبیه افکت هافتون. تو این حالت به جای زیاد شدن تعداد خطوط، اندازه مربعی که رسم میشه تغییر میکنه تا تاریکی و روشنی رو نشون بده.
- رنگآمیزی یکدست: وقتی بخوای کل یک محدوده با بیشترین تراکم رنگی پر بشه و هیچ تغییری توش نباشه، از این روش استفاده میکنی.
- خطخطی یا شلخته: این استایل یک افکت نویزی داره. ربات به جای خطوط منظم، در جهات مختلف و رندوم خطخطی میکنه. جاهای تیرهتر خطخطیهای شلوغتری دارن و خیلی حس کار دست به نقاشی میده.
آمادهسازی قلم و شروع نقاشی
یک خودکار یا رواننویس رو داخل قلمگیر قرار بده. میتونی از کمی بلوتک (چسب خمیری) استفاده کنی تا قلم محکم سر جایش بایسته و نوکش فقط کمی بیرون بزنه. یک برگه کاغذ رو روی بوم بچسبون و قلمگیر رو ببر روی نقطه صفر.
دکمه Render مربوط به سبک دلخواهت رو بزن و بشین از هنرنمایی رباتت لذت ببر! کیفیت کاغذ و قلم تاثیر زیادی تو خروجی نهایی داره.
بهترین نتیجه با مقواهای صاف و صیقلی مثل گلاسه و رواننویسهای نوک نمدی باکیفیت به دست میاد؛ چون جوهرشون پخش نمیشه و خطوط تیزی میکشن. اگه طرحهای ضخیمتری میخوای میتونی از ماژیک استفاده کنی؛ فقط حواست باشه که جوهر ماژیک روی کاغذ پس نده.
اضافه کردن سروو موتور برای بالا بردن قلم
اگه دوست داری دستگاهت حرفهایتر بشه، میتونی یک سروو موتور کوچیک روی قلمگیر نصب کنی. این موتور کمک میکنه وقتی ربات میخواد بین خطوط جابهجا بشه، قلم رو از روی بوم بلند کنه. شیلد موتور پورت مخصوص سروو داره و فقط کافیه اون رو به پورت SER1 وصل کنی.
بازوی سروو موتور مثل یک اهرم عمل میکنه و قلم رو از کاغذ جدا میکنه. نرمافزار به صورت خودکار اول و آخر نقاشی دستور بالا و پایین رفتن قلم رو ارسال میکنه تا از پخش شدن جوهر روی بوم جلوگیری بشه. با فشردن کلیدهای میانبر خاصی هم میتونی دستی این کار رو انجام بدی.
تنظیم ضخامت قلم در نرمافزار
سایز نوک قلم تعیین میکنه نرمافزار چقدر باید خطوط رو متراکم بکشه. مثلا اگه پیکسلها 20 میلیمتری باشن و خودکارت نوک 1 میلیمتری داشته باشه، با 20 تا خط اون قسمت کاملا سیاه میشه.
اما اگه راپید 0.5 استفاده کنی، ربات باید 40 تا خط بکشه تا همون تراکم ایجاد بشه. دستگاه بر اساس تنظیم ضخامتی که تو بهش میدی، تراکم خطوط رو محاسبه میکنه. میتونی این ضخامت رو تو تب Setup تغییر بدی و دکمه ارسال رو بزنی. نکته مهم اینه که سایز قلم روی دستگاه ذخیره نمیشه و هربار که ربات رو روشن میکنی باید این مقدار رو براش بفرستی.
ابزار کالیبراسیون قلم هم تو نرمافزار وجود داره. به جای اینکه به اعداد کارخونه سازنده خودکار اعتماد کنی، میتونی از این ابزار بخوای تا چند تا مربع با تراکمهای مختلف برات رسم کنه.
با تنظیم مقادیر اولیه و نهایی سایز قلم و مقدار افزایش در هر مرحله، ربات شروع میکنه به کشیدن این الگوهای تست. مثلا میگی از سایز 0.6 شروع کنه، هر بار 0.1 اضافه کنه تا برسه به 2 میلیمتر.
بعد از کشیدن مربعها، اونی که تراکمش برات ایدهآلتره رو انتخاب کن و عددش رو وارد نرمافزار کن. حالا دیگه نقاشیت با بالاترین کیفیت کشیده میشه.
نقاشی وکتور و نتیجهگیری
جذابترین قابلیت نسخههای جدیدتر پولارگراف اینه که میتونه طرحهای وکتور رو هم اجرا کنه. برای این کار باید فایلت رو تو برنامههایی مثل Inkscape آماده کنی.
تمام متنها و اشکال رو باید تبدیل به Path یا مسیر کنی تا دستگاه بتونه اونها رو بخونه. طرحهایی که داخل هم هستن رو جدا کن تا خطوط تداخل نداشته باشن.
در نهایت فایل رو با فرمت SVG ذخیره کن. حالا از داخل نرمافزار کنترلر فایل رو لود کن و روی بوم تنظیمش کن. با ابزارهای جابهجایی و تغییر اندازه، طرح رو هر جایی که خواستی قرار بده.
دکمه Render Vector رو بزن تا خطوط به دستورات حرکتی تبدیل بشن و وارد صف بشن. ربات در این حالت خطوط کاملا صاف و بینقصی میکشه. نقاشی وکتور یکم بیشتر زمان میبره چون نرمافزار مدام در حال محاسبه خطوط مستقیم روی یک مکانیزم دایرهایه، اما نتیجه کار واقعا شگفتانگیزه.
ساخت این پولارگراف شاید کمی چالش داشته باشه، اما وقتی اولین طرح رو با دقت روی دیوار بکشه، متوجه میشی که کاملا ارزشش رو داشته. اگه این ربات رو برای خودت ساختی، حتما نظرت رو برامون بنویس و بگو چه طرحی رو باهاش روی دیوارت کشیدی. موفق باشی!
فایلهای پیوست
تو میتونی اولین سازنده باشی!
اگه پروژه رو ساختی به اشتراک بزار و اعتبار هدیه بگیر
این آموزش با استانداردهای اختصاصی آیسیمدار بازنویسی و بهینهسازی شده و تمامی حقوق انتشار آن متعلق به این مجموعه است و در صورت کپی یا بازنشر پیگرد قانونی خواهد داشت.








































گفتگوهای کاربران
هنوز نظری ثبت نشده؛ تو شروع کن!
هنوز نظری ثبت نشده؛ تو شروع کن!