جستجو برای:
  • شیراز کدرز
    • Empire
    • سیاست حریم خصوصی
  • آموزش ها
    • آموزش آردوینو مقدماتی
      • آموزش آردوینو جلسه اول
      • آموزش آردوینو جلسه دوم
      • آموزش آردوینو جلسه سوم
      • آموزش آردوینو جلسه چهارم
      • آموزش آردوینو جلسه پنجم
      • آموزش آردوینو جلسه ششم
      • آموزش آردوینو جلسه هفتم
      • آموزش آردوینو جلسه هشتم
      • آموزش آردوینو جلسه نهم
      • آموزش آردوینو جلسه دهم
    • آموزش آردوینو مبتدی
      • آموزش آردوینو جلسه یازدهم
      • آموزش آردوینو جلسه دوازدهم
      • آموزش آردوینو جلسه سیزدهم
    • آموزش الکترونیک | بایگانی
      • آموزش الکترونیک مقدماتی درس 1
      • آموزش الکترونیک مقدماتی درس 2
      • آموزش الکترونیک مقدماتی درس 3
      • آموزش الکترونیک مقدماتی درس 4
  • حساب کاربری
    • حساب کاربری من
    • پنل کاربری پیشرفته
    • کیف پول
    • سفارش‌ها
    • خروج
  • فروشگاه
    • محصولات
شیراز کدرز
  • شیراز کدرز
    • Empire
    • سیاست حریم خصوصی
  • آموزش ها
    • آموزش آردوینو مقدماتی
      • آموزش آردوینو جلسه اول
      • آموزش آردوینو جلسه دوم
      • آموزش آردوینو جلسه سوم
      • آموزش آردوینو جلسه چهارم
      • آموزش آردوینو جلسه پنجم
      • آموزش آردوینو جلسه ششم
      • آموزش آردوینو جلسه هفتم
      • آموزش آردوینو جلسه هشتم
      • آموزش آردوینو جلسه نهم
      • آموزش آردوینو جلسه دهم
    • آموزش آردوینو مبتدی
      • آموزش آردوینو جلسه یازدهم
      • آموزش آردوینو جلسه دوازدهم
      • آموزش آردوینو جلسه سیزدهم
    • آموزش الکترونیک | بایگانی
      • آموزش الکترونیک مقدماتی درس 1
      • آموزش الکترونیک مقدماتی درس 2
      • آموزش الکترونیک مقدماتی درس 3
      • آموزش الکترونیک مقدماتی درس 4
  • حساب کاربری
    • حساب کاربری من
    • پنل کاربری پیشرفته
    • کیف پول
    • سفارش‌ها
    • خروج
  • فروشگاه
    • محصولات
0

ورود و ثبت نام

وبلاگ

آموزش آردوینو جلسه هفتم

17 تیر 1399
ارسال شده توسط admin_hb
آموزش آردوینو | مقدماتی ، همه دسته ها
368 بازدید

در جلسات گذشته راه اندازی نمایشگر را با آردوینو آموختیم. اما گاهی اوقات برای نمایش چندین حالت، مقرون به صرفه نیست که از نمایشگر استفاده کنیم. از این روی از LED ها استفاده میکنیم. یکی از این LED ها ال ای دی RGB است.

RGB مخفف Red – Green – Blue به معنای سه رنگ اصلی قرمز، سبز و آبی است. به وسیله این سه رنگ میتوان تمام رنگ ها را به وجود آورد.

یکی از راه های نمایش وضعیت دما، یک سنسور، یک پوتانسیومتر و… چراغ های LED است؛ این چراغ ها قیمت بسیار ارزانی دارند. این قطعات با عنوان دیود نورانی نیز شناخته میشوند. نوعی از دیود های نورانی، ال ای دی های RGB است. این ال ای دی ها دارای سه رنگ اصلی قرمز، سبز و آبی هستند که بدین معناست که میتوان به وسیله آنها تمامی رنگ ها را به وجود آورد…

ال ای دی های RGB معمولی دارای چهار پایه هستند و به دو نوع آند مشترک و کاتد مشترک دسته بندی میشوند. این LED ها از سه ال ای دی تشکیل شده اند که یکی از پایه های آنها با یکدیگر مشترک شده است که اصطلاحا به آن پایه com میگویند.

در زیر دو نوع LED کاتد مشترک و آند مشترک را مشاهده میکنید:

RGB

اتصالات

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

نکته: در این جلسه ما از آردوینو مگا استفاده میکنیم و تفاوتی در بورد شما وجود ندارد!

RGB LED
ال ای دی کاتد
RGB LED
ال ای دی کاتد
RGB Anode
ال ای دی آند

سورس کد

ابتدا کد آردوینو را از آخر همین صفحه دانلود و بر روی آردوینو خود آپلود کنید؛ همچنین برای مشاهده کد به صورت آنلاین بر روی جدول زیر کلیک کنید:

مشاهده آنلاین کد

#define RED 2
#define GREEN 3
#define BLUE 4
#define LED_TYPE "C"

void setup() {
     
     Serial.begin(9600);
     
     pinMode(RED, OUTPUT);
     
     pinMode(GREEN, OUTPUT);
     
     pinMode(BLUE, OUTPUT);

}

void loop() {

     rgb(1, 0, 0);
     Serial.println("Red color");
     delay(1000);

     rgb(0, 1, 0);
     Serial.println("Green color");
     delay(1000);

     rgb(0, 0, 1);
     Serial.println("Blue color");
     delay(1000);

     rgb(1, 1, 0);
     Serial.println("Yellow color");
     delay(1000);

     rgb(1, 0, 1);
     Serial.println("Purple color");
     delay(1000);

     rgb(0, 1, 1);
     Serial.println("Cyan color");
     delay(1000);

     rgb(1, 1, 1);
     Serial.println("White color");
     delay(1000);

     rgb(0, 0, 0);
     Serial.println("No color (Off)");
     delay(1000);

}

void rgb(int rr, int gg, int bb){

     if(LED_TYPE == "C"){

          digitalWrite(RED, rr);

          digitalWrite(GREEN, gg);

          digitalWrite(BLUE, bb);

     }

     else if(LED_TYPE == "A"){

          digitalWrite(RED, !rr);

          digitalWrite(GREEN, !gg);

          digitalWrite(BLUE, !bb);

     }

} 
 

توضیحات: 

در خطوط 1 تا 5 چندین ثابت تعریف شده است. سه خط اول پین متصل به ال ای دی است و ثابت چهارم مشخص کننده نوع ال ای دی است؛ اگر ال ای دی شما از نوع کاتد بود، مقدار “C” و درصورتی که نوع ال ای دی شما آند بود، مقدار “A” را قرار دهید.

#define RED   2 // Red pin
#define GREEN 3 // Green pin
#define BLUE  4 // Blue pin
#define LED_TYPE "C" // Cathode LED  

در آخر کد یک تابع تعریف شده است که به وسیله آن میتوان به LED مقدار دهی کرد. این تابع دارای سه آرگومان است. آرگومان ها مقادیری هستند که در تابع ها مقداری را مشخص میکنند. درواقع آرگومان متغیری است که به یک تابع مقداری را بیان میکند.
عدد اول مقدار رنگ قرمز است (0 نشانه خاموش بودن و 1 نشانه روشن بودن)، آرگومان دوم مقدار رنگ سبز به باینری و آرگومان سوم مقدار رنگ آبی است.

void rgb(int rr, int gg, int bb){
...
}  

در جلسات قبل نحوه فراخوانی یک تابع را گفته ایم. مثلا برای فراخوانی (Call کردن یا صدا زدن) تابع doThis مانند کد زیر عمل میکنیم:

doThis();  

در تابع rgb سه آرگومان وجود دارد پس برای صدا زدن این تابع باید به تمام آنها مقداری را اختصاص دهیم. مثلا برای اینکه مقدار قرمز را  1 منطقی قرار دهیم از کد زیر استفاده میکنیم:

rgb(1, 0, 0); // Red: 1 - Green: 0 - Blue: 0  

در تابع rgb دو شرط وجود دارد. شرط اول مقدار ثابت LED_TYPE که در اول کد تعریف کرده بودیم را چک میکند و درصورتی که با مقدار “C” برابر بود، ال ای دی ها را با مقدار آرگومان ها تنظیم میکند:

if(LED_TYPE == "C"){

     digitalWrite(RED, rr);
     digitalWrite(GREEN, gg);
     digitalWrite(BLUE, bb);

} 

شرط دوم میگوید در غیر اینصورت اگر مقدار LED_TYPE برابر با “A” بود، مقدار آرگومان ها را بر عکس کند. در جلسات قبل گفته شد علامت تعجب “!” یا نقیض، درست را به نادرست / نادرست را به درست / 1 را به 0 / 0 را به 1 تبدیل میکند!

else if(LED_TYPE == "A"){

     digitalWrite(RED, !rr);
     digitalWrite(GREEN, !gg);
     digitalWrite(BLUE, !bb);

} 

در کد بالا تنها تعداد محدودی از رنگ ها را میتوان به وجود آورد. در جلسات آینده که بیشتر با مباحث خروجی آنالوگ آشنا شدیم میتوانیم رنگ های بیشتری تولید کنیم.

با تشکر از شما که در جلسه هفتم همراه ما بودید، درصورت داشتن هرگونه سوال، نظر و یا پیشنهاد در بخش نظرات با ما در ارتباط باشید.

لینک های دانلود دانلود فایل های این جلسه به طور کامل (حجم 940 کیلوبایت)
بعدی
قبلی
اشتراک گذاری:
دانلود فایل کامل پروژه
دانلود فایل
فایل کامل (جلسه هفتم)

پسورد فایل : ندارد گزارش خرابی لینک

برچسب ها: rgb ledآردوینوآموزش آردوینوال ای دی rgbفول کالرچراغ ال ای دی
درباره admin_hb

حسین بذرافکن هستم، برنامه نویس، فریلنسر و عاشق الکترونیک...

نوشته های بیشتر از admin_hb
در تلگرام
کانال ما را دنبال کنید!
در اینستاگرام
ما را دنبال کنید!
مطالب زیر را حتما بخوانید
  • آموزش آردوینو جلسه سیزدهم

    221 بازدید

  • آموزش آردوینو جلسه دوازدهم

    244 بازدید

  • آموزش الکترونیک مقدماتی درس 3

    348 بازدید

  • آموزش الکترونیک مقدماتی درس 2

    305 بازدید

  • آموزش الکترونیک مقدماتی درس 1

    254 بازدید

  • آموزش آردوینو جلسه یازدهم

    455 بازدید

قدیمی تر آموزش کتابخانه SCTL برای استفاده آسان از آردوینو
جدیدتر آموزش آردوینو جلسه هشتم

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:

امروز، پنجشنبه ۱۴ اسفند ۹۹ ساعت ۰۰:۴۴

نوشته های تازه

آموزش آردوینو جلسه سیزدهم

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

بیشتر »
14 آذر 1399

آموزش آردوینو جلسه دوازدهم

در جلسه قبل با توابع کشیدن اشکال در نمایشگر Nokia 5110 آشنا شدیم. در این

بیشتر »
11 آذر 1399

آموزش الکترونیک مقدماتی درس 3

آموزش الکترونیک مقدماتی درس 3 در جلسات گذشته با مباحث بسیاری آشنا شدیم؛ در این

بیشتر »
3 مهر 1399

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت