Press "Enter" to skip to content

PWM در آردوینو و کنترل نور LED

در این مطلب نحوه راه اندازی PWM در برد آردوینو را آموزش میدهیم. نحوه ایجاد موج PWM و کنترل میزان نور LED آموزش داده میشود.

مدار PWM با آردوینو

در این مدار پایه آند ال ای دی به پایه شماره 3 آردوینو متصل میشود و پایه کاتد ال ای دی به GND آردوینو متصل میشود.

مدار PWM با آردوینو

برد آردوینو Uno دارای 6 کانال PWM است. برای ایجاد موج PWM باید از این 6 پایه استفاده کنید. پایه هایی که قابلیت PWM دارند روی برد با علامت ~ مشخص شده اند. در تصویر بالا مشاهده میکنید که پایه های 3، 5، 6، 9، 10 و 11 علامت ~ دارند و میتوانند خروجی PWM ایجاد کنند.

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

  • آردوینو Uno
  • LED
  • سیم جامپر
  • برد بورد

کد PWM در آردوینو

در ابتدای کد در قسمت void setup ما باید پین 3 را به عنوان خروجی تعریف کنیم. میتوانید به جای پین 3 از پین های دیگر که قابلیت PWM دارند هم استفاده کنید.

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

سپس در قسمت void loop با استفاده از تابع analogWrite موج PWM را ایجاد میکنیم.

void loop(){
analogWrite(3, 150);
}

پارامتر اول تابع analogWrite شماره پین مورد نظر است. پارامتر دوم هم مقدار چرخه وظیفه PWM را تعیین میکند. PWM در آردوینو اونو 8 بیتی است. بنابراین پارامتر دوم میتواند عددی بین 0 تا 255 باشد. عدد 0 ال ای دی را خاموش میکند و عدد 255 ال ای دی را با نهایت قدرت روشن میکند. ما در کد این مقدار را 150 در نظر گرفتیم یعنی حدودا ال ای دی ما نیمه روشن خواهد بود.

حالا شما میتوانید از حلقه for استفاده کنید و روشنایی ال ای دی را از 0 تا 255 تغییر دهید. برای این منظور قسمت void loop ما به این شکل میشود.

void loop(){

for (int a=0; a<=255;a++) {
analogWrite(3, a);
delay(8);
}
}

در کد بالا متغیر a هر 8 میلی ثانیه +1 میشود تا زمانی که به 255 برسد. هربار عدد تغییر میکند دستور analogWrite با عدد جدید اجرا میشود و بنابراین نور ال ای دی از 0 شروع میشود و به 255 میرسد. زمانی که به 255 رسید حلقه دوباره اجرا میشود و نور LED از 0 به 255 میرود.

 

5/5 - (3 امتیاز)
  1. حیدر حیدر

    شما بینظیرید مهندس گل. ولی نمدانم چرا روی اردوینو من الذی کامل روشنه

    • تیم آردوینو تیم آردوینو

      لطف دارید
      ممکن هست برد شما سوخته باشه، میتونید کد جدید آپلود کنید؟

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

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