تغییر رنگ RGB LED با Arduino — راهنمای کاربردی

۱۵۷۵ بازدید
آخرین به‌روزرسانی: ۲۳ اردیبهشت ۱۴۰۲
زمان مطالعه: ۲ دقیقه
تغییر رنگ RGB LED با Arduino — راهنمای کاربردی

در این مطلب نحوه تولید رنگ‌های مختلف و دلخواه با استفاده از RGB LED و برد‌های Arduino توضیح داده خواهد شد و در اصل با یک ویدیوی کوتاه به مبحث تغییر رنگ RGB LED با Arduino خواهیم پرداخت.

فهرست مطالب این نوشته

فیلم آموزشی تغییر رنگ RGB LED با Arduino

دانلود ویدیو

 

LEDهای RGB از سه LED با رنگ‌های اصلی قرمز، سبز و آبی ساخته شده است. شکل ۱ دیود سه‌رنگ و پایه‌های آن را نشان می‌دهد. کاتد همه دیودها به همدیگر متصل است و به زمین متصل می‌شود و سه پایه دیگر نیز از آی‌سی خارج شده‌اند تا با اعمال ولتاژ مناسب به آنها، رنگ‌های دلخواه تولید شود.

در آی‌سی LEDهای سه‌رنگ چهار پایه وجود دارد که بلند‌ترین پایه همان زمین است و سایر پایه‌ها به ترتیب مربوط به LEDهای قرمز، سبز و آبی هستند.

دیود سه رنگ
شکل 1: ‌دیود سه رنگ

مطابق شکل ۲، با ترکیب رنگ‌های اصلی مي‌توان هر رنگ دلخواهی را تولید کرد. برای مثال اگر رنگ‌های قرمز و سبز با نسبت یکسان ترکیب شوند، رنگ زرد و اگر رنگ‌های قرمز و آبی با ترکیب یکسان ترکیب شوند، رنگ بنفش تولید خواهد شد.

رنگ‌های اصلی و ترکیب آنها
شکل 2: رنگ‌های اصلی و ترکیب آنها

برای تولید سایر رنگ‌های دلخواه، کافی است که به جای ولتاژ ۰ یا ۵ ولت به پایه‌های آی‌سی یک سیگنال PWM اعمال شود. در این صورت با تغییر چرخه کاری PWM می‌توان شدت هر کدام از نورها را کنترل کرد و نور را به رنگ دلخواه درآورد.

برای کنترل رنگ RGB LED از طریق برد آردیونو Uno اتصالات سخت‌افزاری همانند شکل ۳ پیاده‌سازی می‌شود. پایه دوم LED که همان زمین است به زمین برد آردیونو متصل می‌شود و پایه‌های اول، سوم و چهارم نیز به ترتیب به پین‌های دیجیتال ۱۱، ۱۰ و ۹ متصل خواهند شد.

اتصال LED سه‌رنگ به Uno
شکل 3: اتصال LED سه‌رنگ به Uno

سپس با استفاده از برنامه زیر و از طریق سریال مانیتور، می‌توان نور LED را کنترل کرد. ابتدا پین‌های دیجیتال ۱۱، ۱۰ و ۹ به عنوان پین‌های کنترل LEDهای قرمز، سبز و آبی تعریف می‌شوند. سپس داخل حلقه setup نوع این پین‌ها را به عنوان خروجی‌های دیجیتال تعریف و ارتباط سریال را با سرعت 9600 بایت بر ثانیه شروع می‌کنیم.

در حلقه اصلی نیز که همواره تکرار می‌شود، ابتدا میزان شدت نورهای قرمز، سبز و آبی (با اعداد صحیح بازه ۰ تا ۲۵۵) از طریق پورت سریال وارد می‌شود و سپس با دستور analogWrite سیگنال PWM با چرخه‌کاری‌های وارد‌شده در پورت سریال در پایه‌های تعریف‌شده، تولید می‌شود و رنگ LED به رنگ دلخواه درمی‌آید.

1const int redPin = 11;
2const int greenPin = 10;
3const int bluePin = 9;
4void setup() {
5pinMode(redPin, OUTPUT);
6pinMode(greenPin, OUTPUT);
7pinMode(bluePin, OUTPUT);
8Serial.begin(9600);
9Serial.println("Enter R G B (E.g. 255 100 200)");
10}
11void loop() {
12if (Serial.available()) {
13int red = Serial.parseInt();
14int green = Serial.parseInt();
15int blue = Serial.parseInt();
16analogWrite(redPin, red);
17analogWrite(greenPin, green);
18analogWrite(bluePin, blue);
19}
20}

در صورتی که مطلب بالا برای‌ شما مفید بوده است، آموزش‌ها و مطالبی که در ادامه آمده‌اند نیز به شما پیشنهاد می‌شوند:

^^

بر اساس رای ۹ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
مجله فرادرس
۱ دیدگاه برای «تغییر رنگ RGB LED با Arduino — راهنمای کاربردی»

سلام دوست عزیز من داشتم برنامه رو نگاه میکردم شما برای red pin در قسمت اول برنامه پایه تعریف نکردید یا من اشتباه میکنم

نظر شما چیست؟

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