آموزش کنترل LED RGB با برد آردوینو

محتویات
سلام. آموزش کامل کنترل LED RGB با برد Arduino (آموزش آردوینو قسمت #3) ال ای دی RGB چیست؟ را آماده کردیم.
آموزش کنترل ال ای دی RGB با آردوینو
در قسمت قبلی ما به طور کامل اتصال برد آردوینو به کامپیوتر را مورد بحث قرار دادیم و سپس آپلود یک پروژه ساده را توضیح دادیم.
قسمت قبلی : آموزش کامل ایجاد و آپلود کردن یک پروژه در Arduino
در این قسمت نیز مانند قسمت قبلی ما یک پروژه ساده آردوینو را خط به خط توضیح میدهیم. ابتدا به طور کامل 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
تشکر میکنم واقعا خوبه آموزشاتون فقط یه درخواست دارم ، مایی که از 0 شروع میکنیم بعضی از اصطلاح های حرفه ای که به کار میبرید رو نمیفهمیم لطفا موقع استفاده یه توضیح خیلی مختصر بدید ممنون ♥
سلام عزیز
خوشحالم که مطالب برای شما مفید بوده
هر قسمتی که متوجه نشدید میتوانید در قسمت نظرات یا در انجمن بپرسید راهنمایی میکنیم
همچنین برای یادگیری کامل آردوینو میتوانید دوره آموزش آردوینو را مشاهده کنید.
سلام و درود
ببخشید من این کار را با آردوینو نانو انجام دادم و ماژول rgb تک سلول یعنی یک پیلسلی خریدم و درست کردم اگر آن را بروی ریسه آن را درست کنم باید چه کنم
سلام درود
از برنامه آموزشي شما بسيار لذت بردم .
بسيار گويا و واضح و بي نياز از توضيح است
متشكرم از شما
سلام عزیز
خوشحالم که براتون مفید واقع شده
جناب مهندس رحیمی سلام و عرض احترام
درابتدا متشکرم بابت انتشار مطالب عالی و جامع
سوال اول اینکه چرا از ال ای دی مثبت مشترک استفاده کردین؟؟آیا خاصیت pwm با این آموزش قابل اجرا هست؟؟
سوال دوم چرا در فروشگاه آیرنکس ال ای دی آرجی بی منفی مشترک موجود نیست؟بسته تعداد زیاد
سوال سوم میخواهم جریان مصرفی تا حداقل ۳ آمپر از آردوینو بگیرم بر فرض ۱۰۰ عدد ال ای دی آر جی بی
همانطور که در نظرات دوستان اشاره شده لطفا شماتیک و قطعات را آموزش بدین
میخواهم رقص نور۲۰۰ ال ای دی ۳ کانال با آر جی بی و آردوینو بسازم که جریان خروجی آردوینو کفایت نمیکنه
ماژول l298 به نظرتون مناسب هست؟؟
متشکرم از بابت همه چی
عالی عالی
سلام عزیز
بله قابل اجرا هست
محصولات فروشگاه تنوع بالایی ندارد و به احتمال زیاد فروشگاه جمع شود
سلام مجدد
لطفا به سوال سوم پاسخ بدین
از جمع آوری فروشگاه هم ناراحت هستم…
متشکرم
سلام وقتتون بخیر
اگر یک ورودی هم داشته باشیم مثلا دکمه تاچ، کد نویسی به چه صورت میشه؟
سلام عزیز، جهت یادگیری برنامه نویسی آردوینو، دوره آموزش آردوینو رو مشاهده کنید.
سلام من نه انگلیسی بلدم نل کد نویسی چطور باید پین کدها ونحوه عمل کردن آن را یادبگیرم لطفا بهم یاد بدید
سلام جناب. قسمت آموزش رایگان آردوینو رو مشاهده یا در دوره آموزش آردوینو ثبت نام کنید.
سلام وقتتون بخیر
بنده میخوام یک آباژور رو به وسیله یک کنترل
روشنایی و تغییر رنگش رو مدیریت کنم.
لطفا صفر تا صد کار رو برام توضیح بدین.
سلام. جناب این یک پروژه کامله چطور من صفر تا صد رو اینجا براتون توضیح بدم
اگر لطف کنید این فایلها را به صورت pdf در دسترس قرار بدید خیلی بهتره سپاس از آموزش
سلام جناب. در نحوه نمایش کد ها قالب سایت بهتر عمل میکنه. ممنونم از نظرتون
سلام
امکانش هست با ال ای دی های بیشتر این پروژه رو انجام داد
مثلا با ۴۰۰ تا ال ای دی
سلام عزیز، بله میشه انجام داد یکم شماتیک تغییر میکنه.
درود و احترام ممنون از آموزش
در نوع کاتد مشترک فقط کافیه به GND متصل بشه یا چیز دیگه ایی هم نیاز داره؟
چون بعضی جاها گفتن ترانزیستور لازمه فک کنم
سلام جناب. بله در تعداد کم نیازی به چیز دیگه ای نیست. در صورت که از تعداد بالایی ال ای دی استفاده میکنید یا در کل جریان مصرفی بالایی دارید باید از اجزای دیگه هم استفاده کنید.
ممنون از وقتی که گذاشتید و جواب دادید
قربان شما. موفق باشید.