راه اندازی LED RGB با آردوینو
به نام خدا
مقدمه
راه اندازی LED RGB با آردوینو
در راه اندازی LED RGB با آردوینو قصد داریم چگونه فعال کردن تمام رنگ های آردوینو را با هم یاد بگیریم و اینکه چگونه رنگ های جدید را خلق کنیم.
برای این که با تکنولوژی RGB آشنا بشید یه سری به این لینک بزنید و برگردید.
همان طور در عکس بالا مشاهده میکنید led از ۴ پایه تشکیل شده سه پایه مربوط به رنگ و یک پایه زمین .
اون سه پایه مربوط به رنگ باید به پایه هایpwm آردوینو وصل بشن حالا شاید براتون سوال پیش بیاد چرا از سایر پین ها استفاده نکنیم.
بزارید با یک مثال این را توضیح بدم .
مثلا ما میخواهیم رنگ سفید را تولید کنیم که از سه رنگ قزمز آبی و سبز به طور صد در صد استفاده میکنیم.
اما اگر خواسته باشیم رنگ زرد را تولید کنیم نمیتوانیم از صد در صد رنگ سبز قرمز و سبز استفاده کنیم طبق قانون ترکیب رنگ ها پس باید یک مقدار متغیر را به پایه led اعمال کنیم.
یعنی اگر از پین های دیجیتال استفاده نماییم فقط میتوانیم از صد در صد رنگ ها استفاده نماییم یعنی تنها ۴ رنگ میتوانیم بسازیم پس باید خروجی را به پایه های pwm وصل کرد
تا بتوانیم مقدار ولتاژ هر پایه را از ۰ تا ۵ ولت کنترل کنیم.
بسیار خب هر چه سریعتر بریم سر وقت پروژه
اول یک پروژه ایجاد میکنیم در آردینو در قسمت های قبل نحوه ایجاد پروژه توضیح داده شده .
در قدم بعدی شماتیک مدار را می بندیم در اینجا چون در پروتئوس کتابخانه RGB را نداریم از سه LED استفاده کرده ایم
مواد لازم :
برای تهیه موارد زیر میتوانی رو هر کدام کلیک نمایید تا به صفحه مورد نظر هدایت شوید.
آردوینو UNO
مقاومت ۳۳۰ اهم
ماژول LED RGB ( در اینجا من از پک ۳۷ سنسور آردوینو و استفاده کردم که تمام چیز هایی که شما برای RUN کردن یک پروژه نیاز دارید داره و نیازهرالکترونیک کاره که داشته باشه تو کارگاهش).
برد برد
شماتیک مدار:
خب بعد از اینکه مدار بستید
خودتون آماده برنامه نویسی کنید
من اول سورس کامل برنامه براتون میزارم و در ادامه توضیحات خط به خط خدمتتون میدم.
سورس کامل برنامه :
برای دانلود کامل برنامه و فایل های پروژه به صورت رایگان به پایین صفحه مراجعه کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
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 را تعیین کردیم.
1 2 3 4 5 |
int redpin=9; int greenpin=10; int bluepin=11; |
در دستور Void Setup تمام پایه هایی که به آردوینو متصل هستند را خروجی قرار میدهیم در آموزش های قلبی درباره ساختار این دستور توضیح داده شده .
1 |
void setup() { |
دستور زیر پایه شماره ۹ یا همون پایه LED RED (قرمز) را خروجی قرار میدهیم.
1 |
pinMode(redpin,OUTPUT); |
دستور زیر پایه LED GREEN را خروجی میکند.
1 |
pinMode(greenpin,OUTPUT); |
دستور زیر پایه LED BLUE را خروج میکند.
1 2 3 |
pinMode(bluepin,OUTPUT); } |
بسیار خب خوب دقت کنید چون به قسمت مهم برنامه رسیدیم در اینجا با یک نکته از زبان ++c توضیحات را ادامه خواهیم داد .
[hot_posts]
تعریف تابع :
وقتی خطوط برنامه ما زیاد می شود درک، پیگیری، خطایابی و دیگر اعمال بر روی برنامه دشوار خواهد شد. توابع ابزاری هستند که به ما در بهبود برنامه کمک می کنند و برنامه نویسی ساخت یافته را ارائه می دهند، بدین معنا که برنامه اصلی به قسمتهای منطقی و مستقل کوچکتری تقسیم می شود که توابع نام دارند.
مثال زیر دقت کنید:
(لیست پارمترها) نوع تابع <نوع بازگشتی>
}
بدنه تابع
{
برای استفاده از یک تابع در برنامه نویسی در مرحله اول باید تابع خود را تعریف نماییم تا مشخص کنیم که چه کاری را باید انجام دهد. در مثال بالا ساختار اصلی تعریف یک تابع در برنامه نویسی C++ را مشاهده می کنید .
یک تابع وظیفه ای شبیه به یک ماشین دارد که یک سری ورودی را می گیرد و با انجام عملیات برروی ورودیهای دریافتی، خروجی یا خروجی هایی را تحویل می دهد .
فرم کلی تابع در زبان برنامه نویسی++C :
برای دانلود کامل برنامه و فایل های پروژه به صورت رایگان به پایین صفحه مراجعه کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#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 را روی آن نهادیم .
1 |
void RGB(int red,int green,int blue) |
و درون تابع RGB پارامترهایی با نام red, green,blue تعریف کردیم.
و هر کدام مقداری را به خود اختصاص داده اند که در حلقه LOOP آنهار تغییر میدهیم.
خط بعدی برنامه مقادیر پارامتر RGB را در پایه های مورد نظر یعنی قرمز و آبی و سبز قرار میدیم.
1 2 3 4 5 6 7 8 9 |
{ analogWrite(redpin,red); analogWrite(greenpin,green); analogWrite(bluepin,blue); } |
حال دستور Void loop تابع RGB را فرا میخوانیم و طبق مثال زیر مقدار هر led را تغییر میدهیم و رنگ مورد نظرخود را خواهیم ساخت و در بین هر رنگ تاخیری را قرار میدهیم.
RGB(قرمز , سبز , آبی );
Delay(1000);
حال میتوانید رنگ ها مورد علاقه خود رابسازید وبا تغییر مقدار هر رنگ از ۰ تا۲۵۵ میتوانید مقدار آن را کم و یا زیاد کنید که این خود باعث خلق رنگ جدید میگردد.
برای دانلود کامل برنامه و فایل های پروژه به صورت رایگان به پایین صفحه مراجعه کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
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); } |
نتیجه
در این آموزش طریقه روشن کردن LED RGB را فهمیدیم از این روش شما می توانید رنگ های مختلفی ایجاد کنید شما می توانید
از این پروژه در آموزش های بعد که ما در مورد WIFI صحبت می کنیم از راه دور با گوشی LED ها را کنترل کنید و برای خود رنگ بسازید
موفق و پیروز باشید
شما عزیزان میتوانید برای حمایت از ربات افزار و همچنین دریافت فیلم و اخبار تکنولوژی عضو اینستاگرام ربات افزار شوید
- در صورت مشکل در لینک دانلود یا خود فایل حتما در بخش خرابی لینک برامون بنویسید تا در سریع ترین زمان رسیدگی کنیم
- توجه فرمایید که اعلام گزارش خربی باعث بهتر شدن خدمات ما به شما خواهد بود
- برای دریافت لینک دانلود یک بار ثبت نام کنید و به صورت مستقیم دانلود کنید
برای مشاهده لینک دانلود لطفا وارد حساب کاربری خود شوید!
وارد شویدپسورد فایل : robotafzar.com گزارش خرابی لینک
درباره هادی رحمتی
از زمانی که ابتدایی بودم ساختنو دوست داشتم دلم میخواست هر روز یه چیز جدید بسازم . الان به این فکر میکنم اگه همه یه چیزی بسازن چقدر پیشرفت میکنیم. نه یادگیری کار هایی که هر روز افراد زیادی یاد میگیرند و یه معیاری به نام نمره براش تعریف شده.
نوشته های بیشتر از هادی رحمتیمطالب زیر را حتما مطالعه کنید
راه اندازی سروو موتور با آردوینو + پروژه بازو رباتیک
راه اندازی ماژول التراسونیک srf-05 با آردوینو
راه اندازی OLED 7 PIN با آردوینو
آموزش راه اندازی کنترل LED با جوی استیک توسط آردوینو + پروژه
آموزش PWM و راه اندازی ماژول L298 با آردوینو
راه اندازی کی پد و نمایشگر 2*16 توسط آردوینو
4 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام
ممنون بابت فایل آموزشیتون
من میخام یک سی ان سی کوچیک بسازم
میتونید راهنماییم کنید
ممنون میشم
۰۹۱۲۲۲۴۹۱۱۰ محمد رضا کردی
سلام بله حتما خوش حال میشیم کمک کنیم
باهاتون تماس گرفته میشه
سلام وقتتون بخیر
بنده میخوام یک آباژور رو به وسیله یک کنترل
روشنایی و تغییر رنگش رو مدیریت کنم.
لطفا صفر تا صد کار رو برام توضیح بدین.
سلام ابوالفضل عزیز
همین پروژه شما با یک کنترل RGB باید بسازی .
کنترل در بازار یا فروشگاه ربات افزار هست تهیه کن بعد به برنامت اضافه کن اگر فلان کد دریافت کردی رنگ RGB فلان رنگ بشه .
باید برای همه رنگ ها تعریف کنی ولی یکم پیشرفته تر بخوای بنویشی با ید کد رنگ تغییر بدی اینجوری نیاز نیست رنگ ها از قبل تعریف کنی.