آموزش آردوینو UNO ( ال ای دی RBG)

به آموزش آردوینو (قسمت ششم – RGB LED) خوش اومدید.

بازبینی اول : در تاریخ ۱۴۰۰/۰۵/۲۱ انجام شد!

RBG LED

همانطور که از اسم RGB LED پیداست این ال ای دی دارای سه پایه قرمز ، سبز ، آبی و یک پایه مشترک آند یا کاتد (بسته به نوع RGB آند مشترک یا کاتد مشترک) است.

پیاده سازی عملی پروژه

برای این پروژه مدار خود را مانند شکل زیر ببندید. پایه های RED , GREEN , BLUE ال ای دی RGB خود را به پایه های آنالوگ مورد نظر خود در برد آردوینو متصل کنید و پایه کاتد مشترک آن را نیز به یکی از GND های برد وصل کنید.

شبیه سازی پروژه در نرم افزار پروتئوس

یک برد آردوینو و یک RGB کاتد مشترک را در پروتئوس از قسمت Devices در سمت چپ نرم افزار به صفحه بیافزایید.پایه های RGB را به پایه های آنالوگ دلخواه آردوینو متصل کرده و پایه کاتد ال ای دی را به زمین متصل کنید.سپس  وارد Instruments شده و VIRTUAL TERMINAL را به صفحه بیافزایید ، RXD ترمینال را به TXD برد و TXD ترمینال را به RXD برد آردوینو متصل کنید.

تابع analogWrite

در قسمت چهارم با تابع digitalWrite آشنا شدید . در تابع analogWrite به جای عدد ۰ و ۱ در قسمت Value میتوان از عددی بین ۰ تا ۲۵۵ استفاده کنیم . این تابع برای نوشتن مقدار آنالوگ (PWM) روی یک پایه استفاده می شود.به طور مثال با این تابع میتوان شدت روشنایی یک LED را مشحص کرد.

analogWrite(pin, value);

تابع Serial.available

این تابع نمایانگر تعداد بایت هایی که از طریق واحد سریال دریافت شده است .این بایت ها شامل دیتایی هستن که در حال حاظر دریافت شده اند و در بافر ارتباط سریال ذخیره شده اند.

Serial.available()

تابع Serial.read

این تابع برای خواندن دیتای دریافتی واحد سریال است.

نکته : این تابع فقط دیتای اول دریافتی را میخواند و در برنامه هایی که تنها یک دیتا از طریق واحد سریال دریافت می شود کاربرد دارد.

Serial.read();

تابع Serial.parseInt

این تابع دیتاهایی که از طریق واحد سریال ارسال میشود دریافت میکند . بر خلاف Serial.read این تابع چندین دیتا را میتواند دریافت کند .

نکته : این تابع تنها توانایی دریافت مقادیری که به صورت int هستند را دارد.

کد های دستوری RGB LED

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

int LED_Red = 9;
int LED_Green = 10;
int LED_Blue = 11;

int Count_Red;
int Count_Green;
int Count_Blue;

در تابع setup یک ارتباط سریال با باد ریت مورد نظرتان آغاز کنید سپس نوع پین های LED را با تابع pinMode مشخص کنید .

void setup()
{
  Serial.begin(9600);
  Serial.println("enter countRed , countGreen and counBlue");

  pinMode(LED_Red, OUTPUT);
  pinMode(LED_Green, OUTPUT);
  pinMode(LED_Blue, OUTPUT);
}

در تابع loop با یک دستور while برسی کنید تا زمانی که دیتایی از طریق واحد سریال دریافت میشود مقادیر آن را در سه متغیر از قبل تعریف شده ذخیره کند.

while (Serial.available())
{
Count_Red = Serial.parseInt();
Count_Green = Serial.parseInt();
Count_Blue = Serial.parseInt();
}

سپس با دستور analogWrite مقادیر هر رنگ را در پین مربوطه بنویسید.

 analogWrite(LED_Red, Count_Red);
  analogWrite(LED_Green, Count_Green);
  analogWrite(LED_Blue, Count_Blue);

انتقال کد به برد از طریق Arduino IDE

ابتدا برد را با کابل USB به رایانه خود متصل کرده سپس یک دور کد را Verify کنید سپس آن را آپلود کنید .

انتقال کد به برد از طریق Proteus

کد را Verify کرده ، مسیر فایل HEX تولید شده را کپی کنید و با دوبار کلیک روی برد آردوینو در پروتئوس آن را به برد انتقال بدهید.

پایان آموزش آردوینو (قسمت ششم – RGB LED)

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

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

قبلا حساب کاربری ایجاد کرده اید؟
گذرواژه خود را فراموش کرده اید؟
Loading...