آموزش کنترل LED RGB با برد آردوینو
سلام. آموزش کامل کنترل LED RGB با برد Arduino (آموزش آردوینو قسمت #3) ال ای دی RGB چیست؟ را آماده کردیم.
محتویات
آموزش کنترل ال ای دی RGB با آردوینو
در قسمت قبلی ما به طور کامل اتصال برد آردوینو به کامپیوتر را مورد بحث قرار دادیم و سپس آپلود یک پروژه ساده را توضیح دادیم.
قسمت قبلی : آموزش کامل ایجاد و آپلود کردن یک پروژه در Arduino (آموزش آردوینو #2)
در این قسمت نیز مانند قسمت قبلی ما یک پروژه ساده آردوینو را خط به خط توضیح میدهیم. ابتدا به طور کامل LED RGB را تشریح میکنیم و نحوه کار آن را توضیح میدهیم. قبل از اینکه به مباحث سنگین تر در زمینه آردوینو برسیم تصمیم گرفتیم یک پروژه دیگر را نیز توضیح دهیم تا به طور کامل به محیط آردوینو و تابع های void setup و void loop مسلط شوید.
همچنین اگر میخواهید الکترونیک را با فیلم های آموزشی یاد بگیرید، روی دوره آموزش الکترونیک کلیک کنید.
ال ای دی RGB چیست؟
در این پروژه قصد داریم LED RGB (قرمز سبز آبی ) را به Arduino Uno متصل کنیم. یک LED معمولی RGB در شکل زیر نشان داده شده است:
RGB LED دارای چهار پین است :
- PIN1 : ترمینال منفی رنگ 1 در آند مشترک یا ترمینال رنگ 1 مثبت در کاتد مشترک
- PIN2 : مثبت برای هر سه رنگ در نوع آند مشترک یا منفی مشترک برای هر سه رنگ در نوع کاتد مشترک RGB LED.
- PIN3 : ترمینال منفی رنگ 2 در آند مشترک یا ترمینال رنگ 2 مثبت در کاتد مشترک
- PIN4 : ترمینال منفی رنگ 3 در آند مشترک یا ترمینال رنگ 3 مثبت در کاتد مشترک
بنابراین دو نوع LED RGB وجود دارد، یکی نوع کاتد مشترک (منفی مشترک) و دیگری نوع آند مشترک (مثبت مشترک) است. در ال ای دی RGB کاتد مشترک، سه ترمینال مثبت وجود دارد که هر ترمینال یک رنگ را روشن میکند. و در نوع آند مشترک نیز سه ترمینال منفی وجود دارد که هر کدام یک رنگ را کنترل میکنند.
ال ای دی RGB کاتد مشترک
مدار داخلی یک LED RGB کاتد مشترک مانند تصویر زیر است.
در نوع كاتد مشترک ، اگر بخواهیم قرمز روشن باشد ، باید پین LED RED را به مثبت متصل كنیم و منفی آن را به GND متصل كنیم. در مورد بقیه رنگ ها هم همینطور است.
ال ای دی RGB آند مشترک
مدار داخلی یک ال ای دی RGB آند مشترک در تصویر زیر نشان داده شده است.
در نوع آند مشترک نیز به همین شکل فقط باید پین مشترک را به قسمت + مدار و برای روشن شدن هر رنگ ، ترمینال مربوط به آن رنگ را به GND متصل کنیم.
مدار پروژه کنترل LED RGB
در این پروژه ما پین مثبت مشترک ال ای دی RGB را به منبع تغذیه 5 ولت آردوینو با استفاده از یک مقاومت 1 کیلو اهم متصل کردیم. در تصویر زیر میتوانید شماتیک را که در نرم افزار Fritzing کشیده شده است مشاهده کنید :
پین های منفی (1 ، 3 ، 4) از RGB LED به پین های 2 ، 3 و 4 آردوینو متصل شده است.
قطعات مورد نیاز پروژه
- برد آردوینو Uno
- LED RGB (آند مشترک)
- مقاومت 1 کیلو اهم
کد پروژه LED RGB در آردوینو
خب بالاخره رسیدیم به بخش نوشتن کد. ابتدا با رعایت نکات آموزش قبل ، برد آردوینوی مناسب را انتخاب کنید و پورت COM مناسب را انتخاب کنید.
در قسمت قبلی ما توضیح دادیم که تابع void setup() برای تنظیم پین ها و … به کار میرود و تابع void loop() برای تکرار یک چرخه ی مناسب استفاده میشود.
بنابراین در این پروژه هم ابتدا void setup() را مینویسیم. در این قسمت پین ها و نوع آن را تنظیم میکنیم.
void setup() { pinMode(2, OUTPUT); // تنظیم پین 2 به عنوان خروجی pinMode(3, OUTPUT); // تنظیم پین 2 به عنوان خروجی pinMode(4, OUTPUT); // تنظیم پین 2 به عنوان خروجی }
سپس به قسمت void loop() میرویم و چرخه ی تکرار شونده را تنظیم میکنیم. همانطور که گفتیم ، ما از ال ای دی RGB آند مشترک استفاده میکنیم. یعنی وقتی مقدار High به هر پین ال ای دی بدهیم خاموش است و فقط هنگامی روشن میشود که به آن مقدار Low یا همان GND را متصل کنیم.
پس چی شد ؟ به کد زیر دقت کنید. در این قسمت ما ابتدا پین 2 را 0.5 ثانیه روشن میکنیم و سپس آن را 0.5 ثانیه خاموش میکنیم.
void loop() { digitalWrite(2, LOW); // GND به پین 2 delay(500); // به مدت 0.5 ثانیه digitalWrite(2, HIGH); // پین 2 + متصل شود delay(500);// به مدت 0.5 ثانیه }
متوجه شدید ؟ یعنی اگر ما از ال ای دی RGB کاتد مشترک استفاده میکردیم قضیه برعکس میشد. یعنی با Low شدن پین LED خاموش میشد و با High شدن آن ال ای دی روشن میشد.
فیلم نهایی عملکرد پروژه
کد کامل پروژه
کد کامل پروژه را در باکس زیر میبینید.
void setup() { pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); } void loop() { digitalWrite(2, LOW); delay(500); digitalWrite(2, HIGH); delay(500); digitalWrite(3, LOW); delay(500); digitalWrite(3, HIGH); delay(500); digitalWrite(4, LOW); delay(500); digitalWrite(4, HIGH); delay(500); }
امیدوارم که ایجاد پروژه ساده را به خوبی یاد گرفته باشید، در قسمت های بعد به سطح بالاتر برنامه نویسی برای آردوینو میرویم.
فسمت بعدی : آموزش کامل آنالوگ به دیجیتال در آردوینو – ADC Arduino (آموزش آردوینو #4)
سلام من نه انگلیسی بلدم نل کد نویسی چطور باید پین کدها ونحوه عمل کردن آن را یادبگیرم لطفا بهم یاد بدید
سلام جناب. قسمت آموزش رایگان آردوینو رو مشاهده یا در دوره آموزش آردوینو ثبت نام کنید.
سلام وقتتون بخیر
بنده میخوام یک آباژور رو به وسیله یک کنترل
روشنایی و تغییر رنگش رو مدیریت کنم.
لطفا صفر تا صد کار رو برام توضیح بدین.
سلام. جناب این یک پروژه کامله چطور من صفر تا صد رو اینجا براتون توضیح بدم
اگر لطف کنید این فایلها را به صورت pdf در دسترس قرار بدید خیلی بهتره سپاس از آموزش
سلام جناب. در نحوه نمایش کد ها قالب سایت بهتر عمل میکنه. ممنونم از نظرتون
درود و احترام ممنون از آموزش
در نوع کاتد مشترک فقط کافیه به GND متصل بشه یا چیز دیگه ایی هم نیاز داره؟
چون بعضی جاها گفتن ترانزیستور لازمه فک کنم
سلام جناب. بله در تعداد کم نیازی به چیز دیگه ای نیست. در صورت که از تعداد بالایی ال ای دی استفاده میکنید یا در کل جریان مصرفی بالایی دارید باید از اجزای دیگه هم استفاده کنید.
ممنون از وقتی که گذاشتید و جواب دادید
قربان شما. موفق باشید.