تغییر شدت نور LED با آردوینو

تغییر شدت نور LED با آردوینو ، در این مطلب میخواهیم نحوه استفاده از تابع ()analogWrite را به منظور تغییر نور LED بررسی کنیم. تابع ()analogWrite از تکنیک مدولاسیون عرض پالس (PWM)  به منظور خاموش و روشن کردن یک پایه با نسبتی مشخص به منظور تغییر شدت نور LED متصل به پایه استفاده می کند.

قطعات و وسایل مورد نیاز :

  • 1 عدد برد بورد
  • 1 عدد برد آردوینو Uno R3
  • 1 عدد LED
  • 1 عدد مقاومت 330Ω
  • 2 عدد سیم جامپر

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

مطابق شکل زیر قطعات را بر روی برد برد خود قرار دهید و اتصالات را مطابق شکل برقرار کنید.

تغییر شدت نور LED با آردوینو

نکته : برای پیدا کردن پایه مثبت یا آند LED به دقت به پایه های LED نگاه کنید. پایه کوتاه تر مربوط به پایه کاتد یا منفی هست.

چشمک زن LED با آردوینو

برای استفاده از قطعاتی مانند مقاومت در برد برد باید پایه های آن را 90 درجه خم کنید. همچنین در صورت نیاز میتوانید پایه های را کوتاه کنید.

چشمک زن LED با آردوینو

نرم افزار آردوینو :

نرم افزار آردوینو را بر روی کامپیوتر خود باز کنید. کدهای نوشته شده در این برنامه در واقع مدار شما را کنترل می کند. بخش sketch را با کلیک بر روی New باز نمایید.

نرم افزار آردوینو

برنامه آردوینو :

/*
 Fade
 This example shows how to fade an LED on pin 9 using the analogWrite() function.
 Melec.ir
 The analogWrite() function uses PWM, so if you want to change the pin you're using, be
 sure to use another PWM capable pin. On most Arduino, the PWM pins are identified with
 a "~" sign, like ~3, ~5, ~6, ~9, ~10 and ~11.
*/

int led = 9; // the PWM pin the LED is attached to
int brightness = 0; // how bright the LED is
int fadeAmount = 5; // how many points to fade the LED by
// the setup routine runs once when you press reset:

void setup() {
 // declare pin 9 to be an output:
 pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:

void loop() {
 // set the brightness of pin 9:
 analogWrite(led, brightness);
 // change the brightness for next time through the loop:
 brightness = brightness + fadeAmount;
 // reverse the direction of the fading at the ends of the fade:
 if (brightness == 0 || brightness == 255) {
 fadeAmount = -fadeAmount ;
 }
 // wait for 30 milliseconds to see the dimming effect
 delay(300);
}

نکات برنامه :

در تابع ()setup تنها کافی است پایه 9 را به عنوان پایه LED تعریف کنید. از تابع ()analogWrite در حلقه اصلی برنامه استفاده کنید. به تابع دو آرگومان باید داده شود :

  • شماره پایه مورد نظر
  • مقدار نسبت PWM که باید روی پایه نوشته شود
مطلب پیشنهادی:  راه اندازی ماژول ws2812 با اردینو

به منظور تغییر نور LED و روشن و خاموش شدن آن باید مقدار PWM را بین مقادیر صفر (کاملا خاموش) و 255 (کاملا روشن) و سپس مقدار صفر به منظور کامل شدن چرخه روشن و خاموش شدن استفاده کنید. در برنامه نوشته شده به این منظور از متغیری به نام brightness استفاده شده است. در هر بار اجرای حلقه مقدار این متغیر توسط متغیر fadeAmount افزایش پیدا می کند. اگر مقدار شدت نور در یکی از مقادیر 0 یا 255 باشد، مقدار متغیر fadeAmount قرینه می شود. مثلا اگر fadeAmount برابر 5 باشد مقدار آن -5 می شود یا اگر -5 باشد برابر 5 می شود. در هربار اجرای حلقه این عمل باعث می شود جهت افزایش یا کاهش شدت روشنایی تغییر کند.

تابع ()analogWrite مقدار PWM رو به صورت آنی تغییر می دهد و به همین منظور تاخیر قرار داده شده در انتهای حلقه میتواند سرعت تغییر روشنایی را تنظیم نماید. با تغییر میزان تاخیر می توانید تاثیر آن را در میزان زمان روشن و خاموش بودن LED بررسی نمایید.

نتایج  پروژه تغییر شدت نور LED با آردوینو :

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

مطلب پیشنهادی:  کنترل کامپیوتر با حرکات دست با آردوینو و ماژول اولتراسونیک

دیگر جلسات این آموزش

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *