نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
أَللّهُمَّ ارْزُقْنی شَفاعَةَ الْحُسَیْنِ یَومَ الْوُرُودِ
محمدرضا اسلامی

پروژه رزبری حکاکی لیزری روی چوب قسمت 2

323

به نام خدایی که محمد (ص) یکی از بندگان اوست : پروژه رزبری حکاکی لیزری روی چوب قسمت 2 ؛ در قسمت اول این آموزش، یه کادر مربعی روی چوب حک کردیم و کد حکاکی عکس دو حالته ( 0 و 1 ) رو گذاشتیم؛ در این قسمت، یه توضیح کوچیک در مورد کد می دیم و یه کمی برنامه رو توسعه می دیم.

پروژه رزبری حکاکی لیزری روی چوب قسمت 2


برای استفاده از این کد، نیاز به نصب کتابخانه opencv روی رزبری دارید؛ می تونید با مراجعه به لینک زیر، نحوه نصب این کتابخونه رو ببینید : نیازمندی های رزبری پای

کدی که آخر مطلب قبلی گذاشتیم این بود :

خط 1 : دستور کامپایل کده.
خط 3 تا 10 : مربوط به فراخوانی کتابخونه هاست
خط 12 و 13 : فضای نام های مورد استفاده ما
خط 14 و 15 : متغیر های عمومی
خط 17 تا 81 : تابع جابجایی محور y  هست که پارامتر ورودیش بین 0 تا 7 هست و در اون از swich case با 8 مورد متفاوت استفاده شده؛ هر مورد، یک موقعیت موتور پله ای محور y رو معلوم می کنه.
خط 84 تا 93 : تنظیم gpio و خروجی های مورد نیاز برای کنترل موتور ها و لیزر
خط 95 تا 102 : فراخوانی عکس a.jpg(این عکس در پوشه پروژه قرار می گیرد) و تغییر اندازه آن به 512*512 و نمایش آن.
خط 104 : تعریف اشاره گر data که به اولین پیکسل از عکس اشاره می کنه.
خط 106 : شروع حلقه شمارنده سطر های عکس
خط 108 تا 246 : حک کردن مقادیر یک سطر از عکس
خط 114 تا 126 : مقدار پیکسل رو بررسی می کنه اگر خاکستری کمرنگ بود،اونو سیاه خالص در نظر می گیره و اگر روشن تر از خاکستری کم رنگ بود، اونو سفید در نظر می گیره؛ برای نقطه سفید، لیزر رو خاموش نگه میداره و به پیکسل بعدی میره و برای نقطه سیاه، لیزر رو روشن می کنه و 20 میلی ثانیه صبر می کنه تا نقطه حک بشه و بعدش لیزر رو خاموش می کنه و میره سراغ نقطه بعدی.
خط 253 : تابع جابجایی در محور y رو فراخوانی می کنه و یه سطر پایین میاد ( چوب رو جابجا می کنه )
خط 259 تا 301 : هم محور x رو به نقطه ابتدا برمی گردونه.
توجه : می تونیم حکاکی لیزر رو در جهت x، به صورت رفت و برگشتی انجام بدیم، تا کار سریع تر انجام بشه، ولی از جهتی، باعث گرمی و ضعیف شدن لیزر می شه.
اون تاخیر های 2 میلی ثانیه ای و 2.3 میلی ثانیه ای، تجربی به دست میاد و برای اینه که موتور بتونه به پالس های کنترلی جواب بده چون اگه ما پشت سر هم سیگنال ها رو به موتور بفرستیم، موتور از پالس ها جا می مونه؛ خب تشریح کد تموم شد.
کد بالا، یه مشکل اساسی داره، اینکه فقط به درد حکاکی نوشته و اشکال سیاه و سفید خالص به درد می خوره و روی عکس سیاه و سفید معمولی هیچ کنترلی نداریم؛ حالا می خوایم تغییرات زیر رو در برنامه اعمال کنیم :

  1. حکاکی در محور x رو رفت و برگشتی کنیم.
  2. یه کمی کد رو خلوت تر کنیم.
  3. نحوه ساخت و کار با track bar رو در opencv یاد بگیریم ( تا باهاش بشه عکس معمولی رو هم حکاکی کرد )

احادیثی در باب اخلاق

احادیثی در باب اخلاق
پیامبر(ص) :
محبوب ترين شما در نزد خدا، خوش اخلاق ترين شماست.
آيا شما را از بهترين افرادتان خبر ندهم؟ عرض كردند: چرا، اى رسول خدا. حضرت فرمودند: خوش اخلاق ترين شما، آنان كه نرمخو و بى آزارند، با ديگران انس مى گيرند و از ديگران انس و الفت مى پذيرند.
سه چيز است كه هر كس نداشته باشد نه از من است و نه از خداى عزّوجلّ. عرض شد: اى رسول خدا! آنها كدامند؟ فرمودند: بردبارى كه به وسيله آن جهالت نادان را دفع كند، اخلاق خوش كه با آن در ميان مردم زندگى كند و پارسايى كه او را از نافرمانى خدا باز دارد.
خداوند از آدم بد اخلاق توبه نمى پذيرد. عرض شد: اى رسول خدا، چرا؟ فرمودند: چون هرگاه از گناهى توبه كند در ورطه گناهى بدتر از آن كه توبه كرده است مى افتد.
امام علی(ع) :
فضائل اخلاقى و صفات پسنديده چه به سختى به دست مى آيند و چه آسان از دست مى روند.
گنج هاى روزى در وسعت اخلاق نهفته است.
هر كس بد اخلاق باشد، روزى اش تنگ مى شود.
آدم بد اخلاق بسيار خطا مى كند و زندگى اش تلخ مى شود.
چه بسا عزيزى كه اخلاق بدش او را ذليل و چه بسا ذليلى كه اخلاق خوبش او را عزيز كرد.
اخلاقت را خوب كن تا خداوند حسابت را آسان گرداند.
خوش اخلاقى در سه چيز است: دورى كردن از حرام، طلب حلال و فراهم آوردنآسايش و رفاه براى خانواده.
امام صادق (ع) :
خوش اخلاقى در بين مردم، زينت اسلام است.
انسان خوش اخلاق، از دوستى مردمان خوب برخوردار است و از تعرّض آدم هاىنابكار در امان است.
بهشتى ها چهار نشانه دارند: روى گشاده، زبان نرم، دل مهربان و دستِ دهنده.
امام حسن عسکری(ع) :
براى ادب تو همين بس كه آنچه را از ديگران نمى پسندى، از آن دورى كنى.

منبع : چهل حديث « اخلاق پسنديده »
احادیث دیگر : بانک احادیث موضوعی - اخلاق

خب یه فایل cpp بسازید و کد زیر رو بنویسید و ذخیره کنید :

تکراری ها رو دیگه نمی گم.
خط 17 تا 26 : تابع روشن و خاموش کردن لیزر و مقدار انتظار برای نقطه مورد نظر رو معلوم می کنه، به این صورت که اگر پیکسل سفید بود، لیزر خاموش می مونه و 2 میلی ثانیه صبر می کنه تا موتور عقب نمونه و اگر نقطه سیاه بود، لیزر رو روشن می کنه و 19 میلی ثانیه روی نقطه می مونه بعدش لیزر رو خاموش می کنه.
خط 112 : یه track bar با نام Threshold بالای پنجره For Engrave می سازه و مقدار پیشفرضش رو threshold=114 میده و مقدار بیشینه اش رو 240 قرار میده؛ track bar رو در پنجره زیر می بینید و عملکردی که براش تعریف کردیم در ویدئو بعدی می بینید :
پروژه رزبری حکاکی لیزری روی چوب قسمت 2
http://www.aparat.com/v/IfRmr

خط 114 تا 127 : عکس اصلی موجود در ماتریس img رو در ماتریس image کپی می کنه تا عکس اصلی خراب نشه.
بعدش کل عکس رو پیمایش می کنه و مقدار هر پیکسل رو با مقدار trackbar مقایسه می کنه و در نهایت، عکس رو صفر و یک می کنه ( با این تفاوت که این صفر و یک کردن عکس، تحت کنترل ما است.) و عکس صفر و یک شده رو نمایش میده.
این فرآیند تا زمان فشرده شدن کلید کیبورد ادامه پیدا می کنه تا به تصویر دلخواه برای حکاکی برسیم.
خط 192 تا 246 : عکس رو در محور x و درجهت برگشت چاپ می کنه.
تموم شد.

چند تا پیشنهاد خوب :

  1. استفاده از سیستم مکانیکی پرینتر برای افزایش مساحت کاری.(این ایده رو تو یکی از سایتا دیدم)
  2. تغییر در برنامه برای حذف ناحیه هایی از عکس که دلخواه شما نیست.(مثلا سفید کردن یک لکه)
  3. امکان انتخاب یک ناحیه از یک عکس بزرگ برای حکاکی
  4. دوستانی که رزبری ندارند و AVR، آردینو یا ARM کار می کنن، می تونن بخش سیاه و سفید کردن رو با کامپیوتر انجام بدن و مقادیر هر پیکسل رو با پورت سریال، از کامپیوتر به میکرو بفرستن تا میکرو، لیزر و موتور ها رو کنترل کنه.

حالا می خوام یه تجربه از خودم که بی ربط به این پروژه هم نیست رو بگم :
امروز، داشتم سخت روی این دستگاه حکاکی کار می کردم که بابام اومد سر میزم و گفت به سلامتی این دستگاهت هم که درست شد…خب کی می خوای به تولید برسونی و بفروشیش؟؟؟
گفتم این به درد تولید و فروش نمی خوره…در جواب گفت : اگه به درد نمی خوره،چرا انقدر رو این چیزا وقت میذاری؟برو سراغ یه کار به درد بخور…وقتتو تلف نکن. منم ناراحت شدم و با تندی گفتم خب شما می گی چه کار کنم؟اینو که گفتم،چیزی نگفت و رفت…حتی بر نگشتم نگاه کنم که ناراحت شد یا نه.
بعد از ظهر، هر چی بیشتر تلاش می کردم، به مشکلات بیشتری بر می خوردمT دستگاهی که تا دیروز درست کار می کرد، در جهت محور xش هرز شد!!! لیزرم ضعیف شده و دیگه خوب کار نمی کنه ( تازه انقد سعی کردم لیزر رو تنظیم کنم که چشام هم درد گرفته )
بعد از نوشتن این داستان هم دارم میرم پشت دست پدر و مادرم رو ماچ کنم.
اینو اینجا آووردم که هر وقت به این صفحه اومدم، یادم بیوفته که بد اخلاقی نکنم…
خدايا هيچ صفتى كه بر من عيب شمرده شود وامگذار مگر آن كه اصلاحش فرمايى وهيچ صفت نكوهيده اى را بجاى مگذار مگر آن كه آن را نكوسازى و مرا در هيچ خصلتپسنديده ناتمامى فرو مگذار مگر آن كه كاملش گردانى. ( صحیفه سجادیه، از فرازهای دعای 20 )

به امید خدا، اگر تونستم دستگاه رو درست کنم، یه فیلم درست و حسابی ازش میذارم.
راستش الان می بینم که لایق گفتن جمله زیر نیستم…ولی برای شما که لایقی آوردم:
جهت هر چه مستحکم تر شدن مقام ولایت فقیه و تعجیل درظهور بابای خوبمون مهدی(عج) صلوات

تعداد مطالب : 30 تا
دانش آموخته (فارغ التحصیل سابق) کارشناسی الکترونیک هستم. سه سال اول دانشگاه رو به نحو احسن هدر دادم رفت!! تا پایان ترم هفتم داشتم فکر می کردم که چی کار کنم و چی کار نکنم؟ ترم هشتم اساتید خوبی داشتم و تصمیم گرفتم،یه تکونی به خودم بدم. الان هم در حال یاد گیری علایقم هستم...
بقیه جلسات :
این مطلب هیچ طبقه بندی یی ندارد!
ارسال دیدگاه
10
نظرات این مطلب بسته شده است.
  1. مهدی آوینی

    مهمان

    مهدی آوینی

    ببخشید ی سوال دیگه :
    میشه چندتا لیزر روی یک نقطه متمرکز کرد تا برش بزنه . ؟
    منظورم برا آلومینیوم ۳ میل هست .

    مشاهده پاسخ ها (5)
    • محمدرضا اسلامی

      نویسنده این مطلب

      محمدرضا اسلامی

      تنظیم کردن لنز یه لیزر سخته،حالا اگر چند تا باشن که خیلی سخت تر میشه!!!
      کار نشد نداره ولی خیلی خیلی سخته

      • سپهر

        مهمان

        سپهر

        جناب اسلامی امکان متمرکز کردن چند لیزر در یک نقطه وجود نداره که اگر اینطور بود اصلا فلسفه وجود لیزر دیود زیر سوال میرفت !
        برای بالا رفتن دقت و تنظیم راحت تر از کیس لنز های مخصوص استفاده کنید با توجه به فوکوس خاصی که دارند نیازی به تنظیم دستی ندارند و همینطور تمرکز لیزر فوق العاده بالاتر میره به عنوان مثال اگر با لنز فعلی قطر لیزر روی قطعه هدف شما ۲۰۰ میکرومتر است با این ارتقا به نزدیک ۱۰ میکرومتر کاهش پیدا میکنه

        • محمدرضا اسلامی

          نویسنده این مطلب

          محمدرضا اسلامی

          کار نشد نداره laugh
          اون کیس لنزهای مخصوص،رو از کجا باید تهیه کنم؟

      • سپهر

        مهمان

        سپهر

        چه خوبه ! نصف متن نظر از بین میره smile
        والا کیس هاش رو میتونید نسبت به نیازتون از فروشگاه های رباتیک بخرید منتها لنزش رو اصلا توصیه نمیکنم از اینطور فروشگاه ها تهیه کنید.
        مبحث لنز برمیگرده به اپتیک و فیزیک به عنوان مثال اگه شما از لیزر هلیوم-نئون (گازی) استفاده کنید که طول موج ــش ۶۳۲٫۸ نانومتر هست و پرتو مبدا لیزر ۱ میلیمتر قطر داشته باشه میتونید با استفاده از یک لنز با فاصله کانونی ۱۰ میلیمتر در نقطه هدف (کانون) قطر لیزر ۸ میکرومتر میشه.
        در این حالت هیچ نیازی هم به تنظیم کانون با چشم نیست و فقط کافیه فاصله سطح عدسی رو تا سطح هدف روی ۱۰ میلیمتر تنظیم کنید کافیه یک قطعه چوب با ارتفاع دقیقا ۱۰ میلیمتر رو بین لیزر و جسم هدف بذارید و ارتفاع لیزر رو تنظیم کنید.
        برای خرید لنز بهترین کار سرچ کردن هست.

    • سپهر

      مهمان

      سپهر

      با لیزر تیوپ ۸۰ وات هم نمیتونید آلمینیوم برش بزنید .
      برش فلزات نیاز به لیزر یاگ داره .

  2. مهدی آوینی

    مهمان

    مهدی آوینی

    سلام.خسته نباشید .
    میشه از این لیزر برای برش آلومینیوم ۳ میل استفاده کرد یا نه ؟

    مشاهده پاسخ ها (3)
    • محمدرضا اسلامی

      نویسنده این مطلب

      محمدرضا اسلامی

      سلام.خیر نمیشه!!!
      حتی کاغذ هم باهاش نمیشه برش داد!!خیلی ضعیفه
      لیزر فلزات مخصوص هستن.

    • مهدی آوینی

      مهمان

      مهدی آوینی

      منظورم از چندتا لیزر با هم برای برش آلومینیوم بود .
      طبیعتا چندتا با هم قدرت برش داره .
      حالا شما توی اینکارید چقد احتمال شدن هست . میشه روش کار کرد . ؟ به قولی ارزش کار کردن رو داره ؟
      بعد لیزر فلزات چطوره . میشه ساخت ؟
      ان شا الله موفق باشی

      • محمدرضا اسلامی

        نویسنده این مطلب

        محمدرضا اسلامی

        جنس لیزر فلزات کلا فرق داره فکر کنم اسمش لیزر حالت جامد،یا یه همچین چیزیه…
        با لیزر های معمولی دی وی دی رایتر نمیشه.
        تو فروشگاه های خارجی سرچ بفرمایید.انواعش هست