تقریبا میتوان گفت اکثر ما در دوران کودکی خود با لیزرها کار کردیم و یکی از مهیج ترین کارها این بود که ببینیم برد لیزری که داریم تا کجا میرسد و در نهایت از همین لیزرها برای اذیت کردن دوستان و همسایهها به روشهای مختلف استفاده میکردیم. اما اگر خاطرتان باشد فقط از لیزرها استفاده میکردیم و خیلی هم دوست داشتیم که همین لیزرها را با برد های مختلف درست کنیم. ( خب ترجیحا از اون دوران بیایم بیرون بریم سر اصل موضوع)
در این مقاله از سری پروژه های آردوینو میخواهیم ابتدا عملکرد لیزر و سپس به راهاندازی آن با آردوینو بپردازیم.
لیزر چیست؟
تاریخچه لیزر
مبانی نظری لیزر را آلبرت انیشتین در ۱۹۱۶ (میلادی) طی مقالهای مطرح کرد ولی سالهای نسبتاً زیادی طول کشید تا صنعت و فناوری امکان ساخت نخستین لیزر را فراهم کند. چارلز تاونز در سال۱۹۵۳ میزر (تقویتکننده موج میکروویو) را اختراع کرد و خواست آزمایشهای خود را حول جایگزینی نور مرئی به جای فروسرخ ادامه دهد و همزمان این امر میان آزمایشگاههای گوناگون در سراسر جهان به عنوان رقابتی جدی در نظر گرفته شد. نخستین لیزر با استفاده از گذار میکروویو در مولکولهای آمونیاک ساخته شده در سال ۱۹۵۸ نخستین بار پیشنهاد فعالیت لیزر در فرکانسهای نوری در مقالهای توسط اسکاولو و تاونز داده شد. عبارت لیزر در همان زمان در مقالهای از «گوردون هولد»، دانشجوی دکترای دانشگاه کلمبیا، پیشنهاد شد و تئودور میمن (Theodore H. Maiman) لیزر پالسی یاقوت را در ۱۹۶۰ ساخت. نخستین لیزر گازی را نیز علی جوان فیزیکدان ایرانی در سال ۱۹۶۱ با استفاده از هلیوم و نئون ساخت. در سال ۱۹۶۲ نیز پیشنهاد لیزرهای نیمههادی مطرح گردید. نور لیزر را تکفام پرتو نیز مینامند.
از سال ۱۹۶۶ لیزر نیمرسانا در مخابرات نوری در ژاپن و آمریکا مورد توجه قرار گرفت و نسبت به امکان مد گردانی مستقیم آن تا فرکانسهای بسیار زیاد شناخت حاصل شدهاست.
عملکرد لیزر
لیزر دستگاهی است که با تقویت نوری، نور را ساطع می کند و این کار از طریق فرایند گسیل تحریکی تشعشعات الکترومغناطیسی انجام میشود.
واژه لیزر (به انگلیسی: Laser) به معنی «تقویت نور به روش گسیل القایی تابش» است.
لیزر ابزاری است که نور را به صورت پرتوهای موازی بسیار باریکی که طول موج مشخصی دارند ساطع میکنند. این دستگاه از مادهای جمعکننده یا فعالکننده نور تشکیل شده که درون محفظه تشدید نور قرار دارد. این ماده پرتو نور را که به وسیله یک منبع انرژی بیرونی (از نوع الکتریسیته یا نور) به وجود آمده، تقویت میکند.
لیزر چهار ویژگی دارد:
- هم دوسی
- تک رنگی
- واگرایی کم
- موازی بودن پرتو
خب پس از اینکه یه آگاهی نسبی نسبت به لیزرها پیدا کردیم نوبت به نحوه پیاده سازی آن با آردوینو میرسد.
شماتیک راهاندازی لیزر با آردوینو
برنامه نویسی لیزر با آردوینو
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | #define laserPin 10 int laser = laserPin; void setup () { pinMode (laser, OUTPUT); // define the digital output interface 13 feet } void loop () { Strip(laser,3); } void Strip(int laser_pin,unsigned short mode) { switch(mode) { case 1: laser_on(); delay(100); laser_off(); delay(200); break; case 2: for(unsigned short i=0;i!=150;--i) { laser_on(); } laser_off(); delay(250); break; case 3: for(unsigned short i=0;i!=10;--i) { laser_off(); for(unsigned short j=15;j!=0;++j ) laser_on(); } break; } } void laser_on() { digitalWrite (laser, HIGH); // Turn Laser On } void laser_off() { digitalWrite (laser, LOW); // Turn Laser Off } |
اگر به برنامه دقت کنید میبینید که راهاندازی لیزری که در این مقاله کد آن را نوشتیم چیزی جز 0 و 1 کردن مقادیر نیست اما علاوه بر راهاندازی این سنسور سعی کردیم که کد را در قالب تابع های متفاوت راهاندازی کنیم و دلیل این کار هم این است که شما با این نوع از برنامهنویسی آشنا شوید و خودتان بتوانید در برنامههای متفاوت از این نوع ساختار استفاده کنید خب اجازه دهید که یکی از این توابع را با یک دیگر برسی کنیم.
تابع Strip
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | void Strip(int laser_pin,unsigned short mode) { switch(mode) { case 1: laser_on(); delay(100); laser_off(); delay(200); break; case 2: for(unsigned short i=0;i!=150;--i) { laser_on(); } laser_off(); delay(250); break; case 3: for(unsigned short i=0;i!=10;--i) { laser_off(); for(unsigned short j=15;j!=0;++j ) laser_on(); } break; } } |
همانطوری که از ابتدای تابع مشخص شده در واقع یک تابع بدون خروجی با دو ورودی تعریف کردهایم که ورودی اول پین موردنظر که به لیزر متصل شده را باید در آن قرار دهیم ( البته در این برنامه ای که نوشتیم اگر دقت کنید ورودی اول کاربردی ندارد حال کاری که شما میتوانید انجام دهید این است که و دو تابع دیگر را هم کاری کنید که مرتبط با ورودی اول تابع باشد و در صورتیکه این پین انتخاب نشود و یا اشتباه انتخاب شود لیزر عمل نکند) و ورودی دوم هم برای انتخاب حالت Strip لیزر قرار داده شده است که اگر شما در برنامه اصلی در قسمت ورودی دوم تابع هر کدام از اعداد 1، 2 یا 3 را قرار دهید در واقع مدل عملکرد لیزر متفاوت خواهد بود.
به عنوان تمرین میتوانید که Case های تابع را بیشتر کنید و به عبارتی یک کتابخانه کامل برای افکت های لیزر درست کنید. و در نهایت توسط یک خط همانطوری که در تابع Main مشاهده کردید آن را فراخوانی کنید و از آن در پروژهها استفاده کنید.
(واقعا چشمتون اذیت میشه خیلی مراقب باشید لطفا)
با سلام خدمت شما
من میخوام یه تراز لیزری خطی درست کنم آیا با این قطعات امکانش هست یا نه ؟
سلام دوست عزیز بله اماکنش هست
تنها به یه آینه و موتور هم نیاز دارید 🙂
سلام
نکته اول اینکه از دیود ساطع کننده لیزر به عنوان سنسور نام برده شده که نادرست می باشد .
دوم اینکه بهتر بود که به منبع قسمت اول که توضیح کلی لیزر است اشاره می کردید هر چند رد پایی از آن هنوز در مقاله هست .
دستتان درد نکند سپاس از مطلبی که به اشنراک گذاشتید .
موفق و موید باشید.
مجید
سلام دوست عزیزم ممنونم بابت ریزبینی که به موضوع داشتید و با دقت مقاله رو خوندید
متشکرم از نکته کاملا سازندتون
موفق و پیروز باشید.