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

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

    • ۱ عدد برد بورد
    • ۱ عدد برد آردوینو Uno R3
    • ۱ عدد LED
    • ۱ عدد مقاومت ۳۳۰Ω
    • ۲ عدد سیم جامپر

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

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

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

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

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

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

    چشمک زن 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 تنها کافی است پایه ۹ را به عنوان پایه LED تعریف کنید. از تابع ()analogWrite در حلقه اصلی برنامه استفاده کنید. به تابع دو آرگومان باید داده شود :

    • شماره پایه مورد نظر
    • مقدار نسبت PWM که باید روی پایه نوشته شود

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

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

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

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

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

© تمامی حقوق مطالب برای وبسایت آلفا باکس محفوظ است و هرگونه کپی برداری بدون ذکر منبع ممنوع و شرعا حرام می باشد.
قدرت گرفته از : بک لینکس