Press "Enter" to skip to content

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

در این جلسه نحوه کنترل ال ای دی RGB را با استفاده از برد آردوینو اونو آموزش میدهیم. در این آموزش ما سه پایه از برد آردوینو را کنترل میکنیم و به ترتیب رنگ ها را با استفاده از LED RGB تولید میکنیم.

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

در این پروژه ال ای دی RGB کاتد مشترک استفاده میشود. پایه مشترک با استفاده از یک مقاومت 220 اهم به پایه GND آردوینو متصل میشود. اتصال دیگر پایه های ال ای دی به آردوینو به شرح زیر است:

  • پایه قرمز > پایه 7 آردوینو
  • پایه سبز > پایه 6 آردوینو
  • پایه آبی > پایه 5 آردوینو

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

قطعات مورد نیاز

  • آردوینو اونو
  • ال ای دی RGB
  • مقاومت 220 اهم

دستورات کنترل ال ای دی RGB با آردوینو

در قسمت void setup پیکربندی های لازم را انجام میدهیم. ما پایه های 7، 6 و 5 را به عنوان خروجی تعریف میکنیم تا ال ای دی RGB را کنترل کنند.

void setup() {
pinMode(7, OUTPUT); // تعیین پایه ها به عنوان خروجی
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
}

در قسمت void loop هر رنگ را 1 ثانیه روشن و سپس خاموش میکنیم. شما میتوانید چند رنگ را با هم روشن کنید تا رنگ های جدیدی خلق شود. مثلا اگر پایه 7 (متصل به رنگ قرمز) و پایه 5 (متصل به رنگ آبی) را روشن کنید، ال ای دی شما رنگ بنفش را تولید میکند.

void loop() {
digitalWrite(7, HIGH); // روشن کردن فقط رنگ قرمز
digitalWrite(6, LOW);
digitalWrite(5, LOW); 

delay(1000); // تاخیر 1 ثانیه 

digitalWrite(7, LOW); // روشن کردن فقط رنگ سبز
digitalWrite(6, HIGH);
digitalWrite(5, LOW); 

delay(1000); // تاخیر 1 ثانیه 

digitalWrite(7, LOW); // روشن کردن فقط رنگ آبی
digitalWrite(6, LOW);
digitalWrite(5, HIGH); 

delay(1000); // تاخیر 1 ثانیه 
}

کد کامل:

void setup() {
pinMode(7, OUTPUT); // تعیین پایه ها به عنوان خروجی
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
}

void loop() { 
digitalWrite(7, HIGH); // روشن کردن فقط رنگ قرمز
digitalWrite(6, LOW);
digitalWrite(5, LOW); 

delay(1000); // تاخیر 1 ثانیه 

digitalWrite(7, LOW); // روشن کردن فقط رنگ سبز
digitalWrite(6, HIGH);
digitalWrite(5, LOW); 

delay(1000); // تاخیر 1 ثانیه 

digitalWrite(7, LOW); // روشن کردن فقط رنگ آبی
digitalWrite(6, LOW);
digitalWrite(5, HIGH); 

delay(1000); // تاخیر 1 ثانیه 
}
5/5 - (1 امتیاز)

    دیدگاهتان را بنویسید

    نشانی ایمیل شما منتشر نخواهد شد.