اتصال LED و کنترل روشنایی با PWM در آردوینو

قسمت 40
مشاهده سایر جلسات آموزش
13 بازدید
۱۴۰۴-۰۹-۰۱
5 دقیقه
  • نویسنده: Arduino captain
  • درباره نویسنده: من کاپیتان آردوینو، اسمم میلاده و اینجا هستم تا تجربیاتم در رابطه با آردوینو رو با شما به اشتراک بزارم!

در قسمت 39 از آموزش آردوینو به بررسی خروجی تصویری و کنترل LED با خروجی دیجیتال و PWM پرداختیم. در این قسمت قصد داریم درباره اتصال و استفاده از LEDها و همچنین، تنظیم روشنایی یک LED صحبت کنیم.

اتصال و استفاده از LEDها

فرض کنید می‌خواهید یک یا چند LED را کنترل کنید و مقاومت مناسب را برای محدود کردن جریان انتخاب کنید تا به LEDها آسیب نرسد.

روشن و خاموش کردن LED با آردوینو کار ساده‌ای است. در برخی از مثال‌های قسمت‌های قبلی نیز این قابلیت نشان داده شده است. در این قسمت، روش انتخاب و استفاده از LEDهای خارجی توضیح داده می‌شود. شکل 1 نحوه سیم‌کشی سه LED را نشان می‌دهد، اما می‌توانید این اسکچ را تنها با یک یا دو LED نیز اجرا کنید.

اتصال LED و کنترل روشنایی با PWM در آردوینو

شکل 1: اتصال LEDهای خارجی

نماد شماتیکی برای کاتد (پایه‌ی منفی) حرف K است، نه C. حرف C در نقشه‌های شماتیکی برای خازن (capacitor) استفاده می‌شود.

اسکچ (یا کد) زیر سه عدد LED را که به پین‌های ۳، ۵ و ۶ متصل هستند، به ترتیب و هر کدام به مدت یک ثانیه روشن می‌کند:

در این اسکچ، پین‌های متصل به LEDها در تابع setup به‌عنوان خروجی تنظیم می‌شوند. سپس در تابع loop، تابع blinkLED برای هر سه پین فراخوانی می‌شود تا LED مربوط به آن پایه چشمک بزند. تابع blinkLED پین مشخص‌شده را به مدت یک ثانیه (۱۰۰۰ میلی‌ثانیه) در حالت روشن (HIGH) قرار می‌دهد.

از آنها که آندهای LED به پین‌های آردوینو وصل شده‌اند و کاتدها به زمین متصل هستند، زمانی که پین در حالت ولتاژ بالا (HIGH) قرار دارد، LED روشن می‌شود و وقتی پین در حالت ولتاژ پایین (LOW) باشد، خاموش می‌شود.

شما می‌توانید کاری کنید که LED هنگام LOW شدن پین روشن شود؛ به این صورت که کاتدها را به پین‌ها و آندها را به زمین وصل کنید (مقاومت‌ها را می‌توان در هر طرف LED قرار داد).

زمانی که LEDها طوری وصل شوند که آند آن‌ها به +5 ولت متصل باشد، همان‌طور که در شکل 2 نشان داده شده، LEDها زمانی روشن می‌شوند که پین در حالت LOW (ولتاژ پایین) باشد. (اثر بصری معکوس می‌شود — یکی از LEDها برای یک لحظه خاموش می‌شود در حالی که دو LED دیگر روشن خواهند بود).

اتصال LED و کنترل روشنایی با PWM در آردوینو

شکل 2: وصل کردن LEDهای خارجی به‌طوری که کاتد آن‌ها به پین‌ها متصل باشد

✅نکته

LEDها نیاز به یک مقاومت سری برای کنترل جریان دارند، در غیر این صورت به‌سرعت می‌سوزند. LEDهای خارجی باید از طریق یک مقاومت سری، چه در سمت آند و چه در سمت کاتد، متصل شوند.

برای کنترل جریان عبوری از LED هنگام روشن شدن آن، یک مقاومت سری با LED قرار داده می‌شود. برای محاسبه مقدار این مقاومت، باید ولتاژ منبع تغذیه (VS، معمولاً ۵ ولت)، ولتاژ مستقیم LED (VF) و میزان جریانی که می‌خواهید از LED عبور کند (I) را بدانید.

فرمول محاسبه مقاومت بر حسب اهم (که به قانون اهم معروف است) به‌صورت زیر است:

R = (VS – VF) / I

برای مثال، اگر بخواهیم یک LED با ولتاژ مستقیم ۱.۸ ولت را با جریان ۱۵ میلی‌آمپر و با ولتاژ منبع تغذیه ۵ ولت راه‌اندازی کنیم، مقادیر به‌صورت زیر خواهد بود:

شاید برای شما مفید باشد:
سیگنال دیفرانسیلی | قسمت 15 آموزش آلتیوم دیزاینر

Vs = ۵ (برای برد آردوینو ۵ ولتی)

VF = ۱.۸ (ولتاژ مستقیم LED) 

I = 0.015 (۱ میلی‌آمپر [mA] برابر یک هزارم آمپر است، بنابراین ۱۵ میلی‌آمپر برابر ۰.۰۱۵ آمپر است)

ولتاژ عبوری از LED در حالت روشن (Vs – VF) برابر است با ۱.۸ – ۵ ولت، یعنی ۳.۲ ولت. 

بنابراین، مقدار مقاومت سری به‌صورت زیر محاسبه می‌شود:

۳.۲ تقسیم بر ۰.۰۱۵ که برابر با ۲۱۳ اهم است.

ازآنجاکه مقدار ۲۱۳ اهم یک مقدار استاندارد مقاومت نیست، می‌توان آن را به مقدار استاندارد بالاتر یعنی ۲۲۰ اهم گرد کرد.

در شکل 2، این مقاومت بین کاتد و زمین قرار داده شده است، اما می‌توان آن را در سمت دیگر LED نیز وصل کرد (یعنی بین منبع ولتاژ و آند).

✅نکته

پین‌های آردوینو Uno و Mega حداکثر جریان مشخصی برابر با ۴۰ میلی‌آمپر دارند.

تنظیم روشنایی یک LED

فرض کنید می‌خواهید شدت روشنایی یک یا چند LED را از برنامه خود کنترل کنید.

هر LED را به یک خروجی آنالوگ (PWM) وصل کنید. از سیم‌کشی نشان داده شده در شکل 1 استفاده کنید.

اسکچ باعث می‌شود LED‌ها از حالت خاموش به حداکثر روشنایی و سپس دوباره به حالت خاموش تغییر کنند، به‌طوری‌که هر چرخه حدود پنج ثانیه طول می‌کشد:

این از همان سیم‌کشی برنامه قبلی استفاده می‌کند، اما اینجا پین‌ها با استفاده از analogWrite کنترل می‌شوند، نه digitalWrite.

تابع analogWrite از PWM برای کنترل توان LED استفاده می‌کند؛ برای اطلاعات بیشتر در مورد خروجی آنالوگ به قسمت قبلی مراجعه کنید.

برنامه شدت نور را با افزایش (در حالت روشن شدن) یا کاهش (در حالت خاموش شدن) مقدار متغیر brightness در هر بار اجرای حلقه تنظیم می‌کند.

این مقدار به تابع analogWrite برای سه LED متصل داده می‌شود.

  • حداقل مقدار برای analogWrite برابر 0 است که ولتاژ پین را روی 0 نگه می‌دارد.
  • حداکثر مقدار 255 است (معادل 5 ولت در برد 5 ولتی یا 3.3 ولت در برد 3.3 ولتی).

✅نکته

بهتر است محدوده مقادیر را به بازه ۰ تا ۲۵۵ محدود کنید؛ مقادیری خارج از این بازه ممکن است نتایج غیرمنتظره‌ای ایجاد کنند.

وقتی مقدار متغیر brightness به بیشترین مقدار برسد، شروع به کاهش خواهد کرد، زیرا علامت افزایش از 1+ به 1– تغییر می‌کند (اضافه کردن 1– به یک مقدار همانند کم کردن 1 از آن مقدار است).

بردهایی مانند Due ،Zero و MKR1000 می‌توانند بازه PWM را تا حداکثر ۴۰۹۵ داشته باشند، اگرچه به طور پیش‌فرض همه آن‌ها روی مقدار استاندارد ۲۵۵ قرار دارند.

اگر نیاز به استفاده از این وضوح بالاتر دارید، می‌توانید با استفاده از تابع analogWriteResolution آن را تنظیم کنید.

اطلاعات
13
0
0
اشتراک و حمایت
profile نویسنده: Arduino captain متخصص الکترونیک

من کاپیتان آردوینو، اسمم میلاده و اینجا هستم تا تجربیاتم در رابطه با آردوینو رو با شما به اشتراک بزارم!


ویراستار: Shadow
مقالات بیشتر

slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. جستجو در آیسی
family

سیسوگ‌شاپ | فروشگاه محصولات Quectel

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
family

سیکار | اولین مرجع متن باز ECU در ایران

بررسی و ارائه اطلاعات مربوط به ECU (واحد کنترل الکترونیکی) و نرم‌افزارهای متن باز مرتبط با آن برو به سیکار
become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله

خانواده سیسوگ

سیسوگ‌شاپ

فروشگاه محصولات Quectel

پالت
سیسوگ فروم

محلی برای پاسخ پرسش‌های شما

سیسوگ جابز
سیسوگ
سیسوگ فروم
سی‌کار

اولین مرجع متن باز ECU در ایران

سیسوگ مگ
آی‌سی

موتور جستجوی قطعات الکترونیکی

سیسوگ آکادمی
پالت

بازار خرید و فروش قطعات الکترونیک

دیدگاه ها

become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله