آموزش آردوینو پروژه های آردوینو

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

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

در این پست قصد داریم بر روی یکی از پین‌های آردوینو Arduino، موج مربعی ایجاد کنیم. موج مربعی یا PWM همان قطع و وصل کردن ولتاژ ۰ و ۵ ولت با بازه زمانی مشخص (بین ۱ تا ۲ میلی ثانیه برای سروو موتور ها و موتور براشلس) هست. بعد با کم و زیاد کردن طول موج میزان خروجی پین آردوینو Arduino را تنظیم کنیم. سپس پین ۹ آردوینو را به پایه ی مثبت LED وصل کرده و میزان نور را تغییر میدهیم. برای آشنایی بیشتر با موج مربعی این پست را مطالعه نمایید.

 


اتصالات


 

Fade

 


کد آردوینو برنامه کنترل نور LED


این کد یک نمونه ساده از کنترل شدت نور LED با استفاده از PWM (Pulse-Width Modulation) است.  تعریف متغیر led برای ذخیره شماره پین متصل به LED است. در اینجا، پین شماره ۹ برای اتصال LED انتخاب شده است. تعریف متغیر brightness برای نگه‌داری شدت نور LED. مقدار اولیه این متغیر در اینجا صفر است. تعریف متغیر fadeAmount برای نمایش افزایش و کاهش شدت نور LED به مقدار ۵ واحد. این مقدار نشان می‌دهد که چقدر در هر مرحله شدت نور LED افزایش یا کاهش می‌یابد.به طور خلاصه، این کد LED را روشن و خاموش کرده و شدت نور LED را به صورت تدریجی افزایش و کاهش می‌دهد. این افزایش و کاهش تدریجی از تغییرات PWM بهره می‌برد تا شدت نور LED به صورت نرم و انعطاف‌پذیر تغییر کند.

int led = 9;          
int brightness = 0;   
int fadeAmount = 5;   

void setup()  { 
  pinMode(led, OUTPUT);
} 

void loop()  { 
  analogWrite(led, brightness);    
  brightness = brightness + fadeAmount;
  if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ; 
  }     
  delay(30);                            
}

 


تحلیل کد آردوینو


معرفی پین متصل به LED

int led = 9;          

 

تعریف دو متغییر و مشخص کردن مقدار درون آنها

int brightness = 0;   
int fadeAmount = 5;   

 

خروجی قرار دادن پین LED در حلقه ی Setup

void setup()  { 
  pinMode(led, OUTPUT);
} 

 

اعمال مقدار آنالوگ brightness بر روی پین LED

  analogWrite(led, brightness);    

 

جمع دو مقدار fadeAmount و brightness و ریخت آن درون متغییر  brightness

  brightness = brightness + fadeAmount;

 

قرار دادن مقدار brightness بین ۰ تا ۲۵۵ در حلقه ی if

  if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ; 
  }

 

صبر به مدت ۳۰ میلی ثانیه (این عدد قابل تغییر است و میتوانید میزان روشن بودن را با تغییر این عدد ، کم و زیاد کنید)

  delay(30);                            
}

 

اگر از میزان درخشندگی LED راضی نیستید میتوانید مقاومت کمتری سر راه LED قرار دهید.

 


وسایل مورد نیاز


برد آردوینو UNO – یک عدد — خرید از فروشگاه
مقاومت ۲۲۰ اهم – یک عدد
LED – یک عدد

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 

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

حسین فهیمی

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

۵ دیدگاه

  • سلام من یک مبتدی هستم که برای اولین بار با آردینو کار میکنم .
    این کد ها رو باید فقط در برنامه واسط آردینو کپی و انتقال دهیم و عدد متغیر که میزان نور ال ای دی را تغیر میدهد کدام است با سپاس .

  • سلام و درود ببخشید
    میشه کاری کرد که وقتی در برد ولتاژ مثبت و منفی را دریافت کرده باشد ال ای دی قرمز آروم روشن و آروم خاموش بشه

  • سلام
    برای کنترل یک ال ای دی به نحوی که ۳۳ بار در ثانیه خاموش روشن شود، چگونه از اردوینو استفاده کنم. کد این دستور در اینترنت موجود است. ایا بایستی کامپیوتر حین کارکرد اردوینو وصل باشد.؟