🌗 PWM در آردوینو — چطور نور LED را کم و زیاد کنیم

پایه‌های دیجیتال آردوینو فقط دو حالت دارند: روشن یا خاموش. پس چطور می‌شود LED را نصفه‌نور کرد؟ جواب یک ترفند هوشمندانه است به نام PWM.

ترفند چیست؟

پایه را خیلی سریع — صدها بار در ثانیه — روشن و خاموش می‌کنیم. اگر نصف زمان روشن باشد، چشم ما آن‌قدر سریع نیست که سوسو را ببیند و LED را نصف‌نور می‌بیند. به درصد زمان روشن‌بودن، چرخه‌ی کار می‌گویند.

کدام پایه‌ها؟

در آردوینو Uno فقط پایه‌های علامت‌دار با ~ یعنی ۳، ۵، ۶، ۹، ۱۰ و ۱۱. روی بقیه‌ی پایه‌ها analogWrite فقط مثل روشن و خاموش ساده عمل می‌کند.

کد محو شدن نور

const int led = 9;   // باید پایه‌ی PWM باشد

void setup() {
  pinMode(led, OUTPUT);
}
void loop() {
  for (int v = 0; v <= 255; v++) {   // روشن شدن نرم
    analogWrite(led, v);
    delay(6);
  }
  for (int v = 255; v >= 0; v--) {   // خاموش شدن نرم
    analogWrite(led, v);
    delay(6);
  }
}

سه نکته

کجا دیگر به کار می‌آید؟

سرعت موتور DC، ساختن رنگ با LED RGB، و فرمان دادن به سروو — همه با PWM.

محو شدن نور را توی شبیه‌ساز ببین 🌗

مقاله‌های دیگر

🤖

آردوینو چیست؟ راهنمای کامل برای شروع از صفر

بهترین شبیه‌ساز مدار آنلاین فارسی — چرا شبیه‌ساز، و چرا روبومیکر؟

💡

ساده‌ترین پروژه الکترونیک برای بچه‌ها: روشن‌کردن یک LED