آردوینو آردوینو Arduino Uno آموزش آردوینو

آموزش تغییر شدت لیزر با آردوینو

نوشته شده توسط محمدی

در این آموزش قصد دارم یکی از سنسور های پکیج سنسور آردوینو را معرفی و راه اندازی کنم .

سنسور لیزر KY-008 یک لیزر مناسب (با طول موج ۶۵۰ نانومتر) برای انجام آزمایش های بلاخص فیزیکی هست که میتوانید اصل عدم قطعیت هایزنبرگ رو با اون بسنجید. برای آشنایی بیشتر با این اصل میتونید به لینک زیر مراجعه کنید و لذت ببرید :

goo.gl/8HreZj ( یادتون باشه دوشکافی که بوجود میارید خیلی باریک و خیلی نزدیک بهم باشه تا بتونید اثر تداخلی رو ببینید )

خب بیاید آزمایش خودمون رو شروع کنیم. توی این آزمایش قصد داریم پالس های PWM رو معرفی کنیم. پالس های PWM یا ولتاژ مربعی حالتی از قطع و وصل کردن ولتاژ هست که حس امواج آنالوگ رو بهمون میده و کاربردی تقریبا شبیه به کار با پین های آنالوگ در آردوینو رو داره .

برای راه اندازی سنسور مطابق تصویر زیر عمل کنید و پایه – رو به یکی از پین های GND متصل کنید و پایه S رو به یکی از پین های دیجیتال آردوینو ( به دلخواه خودتون ) متصل کنید .

arduino-ultra-sonic

 

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

int laserPin = 9;

در void setup نیاز به تعریف رویداد خاصی ندارید , پس این قسمت را رها میکنیم.

اما در void loop یک حلقه for ایجاد میکنیم و مطابق کدهای زیر متغیر خود را تغییر میدهیم . یک متغییر عددی بنام fadeValue تعریف میکنیم و از محدوده

آن را بین صفر و ۲۵۵ قرار میدهیم و هربار مقدار آن را ۵ واحد افزایش میدهیم  و سپس یک وقفه ایجاد می‌کنیم:

for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) {
analogWrite(laserPin, fadeValue);
 delay(1000);
  }

سپس یک حلقه دیگر تعریف میکنیم و دقیقا برعکس فرآیند قبل حرکت میکنیم و مقدار را ۵ واحد , ۵ واحد کاهش میدهیم و سپس یک وقفه ایجاد می‌کنیم .

شما میتوانید مقادیر متفاوت را تغییر بدهید و نتایج متفاوتی بدست آورید. مثلا میتوانید تغییرات شدت لیزر رو با تغییر مقدار fadeValue بصورت ۱۰ واحد ۱۰ واحد افزایش و کاهش دهید. یا اینکه میتوانید زمان به اتمام رسیدن حلقه را تغییر دهید و عملا سرعت تغییر شدت لیزر را به دلخواه خود تنظیم کنید.

این هم کدهای این برنامه که میتونید بصورت یکجا کپی کنید و اجرا کنید .

int laserPin = 9;    // پایه s رو به پین شماره ۹ متصل کنید

void setup() {
  // این قسمت رو رها کنید
}

void loop() {
  for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) {
    // مقدار رو بین ۰ تا ۲۵۵ محدوده دهی کنید
    analogWrite(laserPin, fadeValue);
    delay(1000);
  }

  for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) {
    analogWrite(laserPin, fadeValue);
    delay(1000);
  }
}

 

منتظر نظرات شما عزیزان هستم !

پ.ن : در آموزش های بعد میخوام روشی رو بهتون معرفی کنم که بتونید طول موج امواج مرئی که دارید رو بدست بیارید. در دیتاشیت لیزر ی که در این آزمایش مورد استفاده قرار گرفت .طول موج ۶۵۰ نانومتر درج شده است که در آزمایشگاه فیزیک تونستیم مقدار طول موج اون رو ۱۰  ± ۶۶۰ نانومتر بدست بیاریم .

درباره نویسنده

محمدی

دانشجوی رشته متولورژی و علاقه مند به علم و تکنولوژی

تبادل نظر و رفع عیب با ثبت دیدگاه