راه اندازی LED RGB با آردوینو

به نام خدا

راه اندازی LED RGB با آردوینو

در این آموزش قصد داریم چگونه فعال کردن تمام رنگ های آردوینو را با هم یاد بگیریم و اینکه چگونه رنگ های جدید را خلق کنیم.

برای این که با تکنولوژی RGB آشنا بشید یه سری به این لینک بزنید و برگردید.

 

 

همان طور در عکس بالا مشاهده میکنید led از ۴ پایه تشکیل شده  سه پایه مربوط به رنگ و یک پایه زمین .

اون سه پایه مربوط به رنگ باید به پایه هایpwm آردوینو وصل بشن حالا شاید براتون سوال پیش بیاد  چرا از سایر پین ها استفاده نکنیم.

  بزارید با یک مثال این را توضیح بدم .

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

اما اگر خواسته باشیم رنگ زرد را تولید کنیم نمیتوانیم از صد در صد رنگ سبز قرمز و سبز استفاده کنیم طبق قانون ترکیب رنگ ها پس باید یک مقدار متغیر را به پایه led  اعمال کینم.

 

 

 یعنی اگر از پین های دیجیتال استفاده نماییم فقط میتوانیم از صد در صد رنگ ها استفاده نماییم یعنی تنها ۴ رنگ میتوانیم بسازیم پس باید خروجی را به پایه های pwm  وصل کرد

تا بتوانیم مقدار ولتاژ هر پایه را از ۰ تا ۵ ولت کنترل کنیم.

بسیار خب هر چه سریعتر بریم سر وقت پروژه

اول یک پروژه ایجاد میکنیم در آردینو در قسمت های قبل نحوه ایجاد پروژه توضیح داده شده بازدن روی لینک زیر میتوانید این آموزش را یاد بگیرید.

(لینک آموزش ایجاد پروژه)

در قدم بعدی شماتیک مدار را می بندیم در اینجا چون در پروتئوس کتابخانه RGB را نداریم از سه LED استفاده کرده ایم

مواد لازم :

برای تهیه موارد زیر میتوانی رو هر کدام کلیک نمایید تا به صفحه مورد نظر هدایت شوید.

شماتیک مدار:

 

 

 

خب بعد از اینکه مدار بستید

خودتون آماده برنامه نویسی کنید

من اول سورس کامل برنامه براتون میزارم و در ادامه توضیحات خط به خط خدمتتون میدم.

سورس کامل برنامه :

 

int redpin=9;
int greenpin=10;
int bluepin=11;
void setup() {
  // put your setup code here, to run once:
pinMode(redpin,OUTPUT);
pinMode(greenpin,OUTPUT);
pinMode(bluepin,OUTPUT);
}
void loop() {
RGB(255,255,255);   \\white
delay(1000);
RGB(255,255,0);     \\yellow
delay(1000);
RGB(0,255,255);     \\ Pale blue
delay(1000);
RGB(255,0,255);      \\Purple
delay(1000);
RGB(255,0,0);         \\red
delay(1000);
RGB(0,255,0);         \\green
delay(1000);
RGB(0,0,255);         \\blue
delay(1000);  
RGB(0,0,0);            \\ not color
delay(1000);
}
void RGB(int red,int green,int blue){
analogWrite(redpin,red);
analogWrite(greenpin,green);
analogWrite(bluepin,blue);
}

خب حالا میخوام ریز برنامه خدمتتون بگم

خط اول تا قبل از تابع Void متغیری ایجاد کردیم  و شماره پایه هر lED را تعیین کردیم.

int redpin=9;

int greenpin=10;

int bluepin=11;

در دستور Void Setup تمام پایه هایی که به آردوینو متصل هستند را خروجی قرار میدهیم در آموزش های قلبی درباره ساختار این دستور توضیح داده شده .

void setup() {

دستور زیر پایه شماره ۹ یا همون پایه LED RED (قرمز) را خروجی قرار میدهیم.

  pinMode(redpin,OUTPUT);

دستور زیر پایه LED GREEN را خروجی میکند.

pinMode(greenpin,OUTPUT);

دستور زیر پایه LED BLUE را خروج میکند.

pinMode(bluepin,OUTPUT);

}

بسیار خب خوب دقت کنید چون به قسمت مهم برنامه رسیدیم

در اینجا با یک نکته از زبان ++c توضیحات را ادامه خواهیم داد .

تعریف تابع :

وقتی خطوط برنامه ما زیاد می شود درک، پیگیری، خطایابی و دیگر اعمال بر روی برنامه دشوار خواهد شد.

توابع ابزاری هستند که به ما در بهبود برنامه کمک می کنند و برنامه نویسی ساخت یافته را ارائه  می دهند،

بدین معنا که برنامه اصلی به قسمتهای منطقی و مستقل کوچکتری تقسیم می شود که توابع نام دارند.

مثال زیر دقت کنید:

(لیست پارمترها)     نوع تابع         <نوع بازگشتی>

}

بدنه تابع

{

برای استفاده از یک تابع در برنامه نویسی در مرحله اول باید تابع خود را تعریف نماییم تا مشخص کنیم که چه کاری را باید انجام دهد.

 در مثال بالا ساختار اصلی تعریف یک تابع در برنامه نویسی C++ را مشاهده می کنید .

یک تابع وظیفه ای شبیه به یک ماشین دارد که یک سری ورودی را می گیرد و با انجام عملیات برروی ورودیهای دریافتی، خروجی یا خروجی

هایی را تحویل می دهد .

فرم کلی تابع در زبان برنامه نویسی++C  :

#include <stdio.h>

Void functionName (int x,int y);                                     الگوی تابع

Int main()

{

int a,b;

functionName(a ,b);                               فراخوانی تابع

…..

Return 0;

}

Void functionName(int  x,int y)

{                                                                  تعریف تابع                                            

Cout<<x<<”,<<y;                                         بدنه تابع

}

 

خب به ادامه برنامه بپردازیم.

در اینجا برای درک بهتر از آخر به اول برنامه را توضیح میدیم

همان طور که در بالا توضیح دادیم برای کوتاه کردن خطوط برنامه تابع میسازیم در اینجا تابعی را ساختیم و نام RGB را روی آن نهادیم .

void RGB(int red,int green,int blue)

و درون تابع RGB پارامترهایی با نام red, green,blue تعریف کردیم.

و هر کدام مقداری را به خود اختصاص داده اند که در حلقه LOOP آنهار تغییر میدهیم.

خط بعدی برنامه مقادیر پارامتر RGB را در پایه های مورد نظر یعنی قرمز و آبی و سبز قرار میدیم.

{

analogWrite(redpin,red);

analogWrite(greenpin,green);

analogWrite(bluepin,blue);

}

حال دستور Void loop تابع RGB را فرا میخوانیم و طبق مثال زیر مقدار هر led را تغییر میدهیم و رنگ مورد نظرخود را خواهیم ساخت و در بین هر رنگ تاخیری را قرار میدهیم.

RGB(قرمز , سبز , آبی );

Delay(1000);

حال میتوانید رنگ ها مورد علاقه خود رابسازید وبا تغییر مقدار هر رنگ از ۰ تا۲۵۵ میتوانید مقدار آن را کم و یا زیاد کنید که این خود باعث خلق رنگ جدید میگردد.

 

void loop() {

RGB(255,255,255);                                      \\white 

delay(1000);

RGB(255,255,0);                                           \\yellow

delay(1000);

RGB(0,255,255);                                             \\pale blue

delay(1000);

RGB(255,0,255);                                              \\purple 

delay(1000);

RGB(255,0,0);                                                 \\red

delay(1000);

RGB(0,255,0);                                                \\ green

delay(1000);

RGB(0,0,255);                                               \\blue

delay(1000); 

RGB(0,0,0);                                                  \\not color

delay(1000);

}

 

 

موفق و پیروز باشید

شما عزیزان میتوانید برای حمایت از ربات افزار و همچنین دریافت فیلم و اخبار تکنولوژی عضو کانال تلگرامی ربات افزار شوید

 

 

3 thoughts on “راه اندازی LED RGB با آردوینو

  1. محمو رضا کردی says:

    سلام
    ممنون بابت فایل آموزشیتون
    من میخام یک سی ان سی کوچیک بسازم
    میتونید راهنماییم کنید
    ممنون میشم
    ۰۹۱۲۲۲۴۹۱۱۰ محمد رضا کردی

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

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