ساخت چراغ راهنما با آردوینو UNO

1 سال پیش | 543 مشاهده شده

در این آموزش نحوه ی ساخت پروژه چراغ راهنما با بردهای آردوینو را قدم به قدم آموزش می دهیم. بردهای آردوینو بردهایی هستند که برای آموزش الکترونیک طراحی شده اند. در آموزش های فعلی ما بردهای نوع UNO کار می کنیم. یک چراغ راهنما دارای سه چراغ قرمر، سبز و زرد می باشد. ما می خواهیم سه LED به رنگ قرمز، سبز و زرد را به برد آردوینو متصل کنیم و از طریق برنامه نویسی مدت زمان روشن و خاموش بودن هریک را مشخص کنیم.

لیست قطعات و ابزارهای مورد نیاز

  • یک عدد برد آردوینو UNO
  • سه عدد LED به رنگ های قرمز، سبز و زرد
  • سه عدد مقاومت 100 اهمی
  • یک عدد برد بورد
  • سیم های رابط به اندازه کافی

تحلیل مدار و برنامه آردوینو

مطابق شکل پین 2 را به پایه مثبتLED سبز و پین 3 را به پایه مثبت LED قرمز و پین 4 را به پایه مثبت LED زردمتصل می کنیم. پایه گراند را به وسیله مقاومت 100 اهمی به پایه منفی هر LED متصل می کنیم. در خطوط ابتدای شماره پورت برای هر LED و زمان تاخیر آن را مشخص می کنیم. در بخش هدربرد هر پایه ای سی یک اسم مشخص یا شماره ای دارد که ما می توانیم با آن نام، مکان پایه و کاربرد آن را در برنامه نویسی مشخص کنیم. برای مثال پایه 2 یا 3 یا 4 هرکدام به یکی از پایه های آی سی AVR (ATmega) متصل شده است. واحدهای تاخیز زمانی برحسب میلی ثانیه است.

در بخش دوم بلاک ما باید نوع پایه های ذکر شده را مشخص کنیم. برای اینکه یک پایه بتواند LED را روشن کند حتما باید نوع آن خروجی یا OUTPUT تعریف شود. این عملیات در تابع setup تعریف شده است.

سپس سه تابع به نام yellow_light، green_light و red_light تعریف کرده ایم. هرکدام از این تابع ها نحوه ی روشن شدن هریک از چراغ های راهنما یا به عبارتی LED ها را مشخص می کند.

لوپ اجرای برنامه:

لوپ اجرای برنامه تابع loop انجام می دهد. این تابع تا زمانی که برد روشن است اجرا می شود. هر LED را به ترتیب به اندازه ی مدت زمانی که تعیین شده روشن می کند، سپس LED را خاموش کرده و به سراغ LED بعدی می رود.

شما به سادگی توانستید یک چراغ راهنما را برنامه نویسی کنید!

شکل 1: نحوه ی وصل کردن ال ای دی ها به پین های آردوینو
// variables
int GREEN = 2;
int YELLOW = 3;
int RED = 4;
int DELAY_GREEN = 5000;
int DELAY_YELLOW = 2000;
int DELAY_RED = 5000;

// basic functions    
void setup()
{
  pinMode(GREEN, OUTPUT);
  pinMode(YELLOW, OUTPUT);
  pinMode(RED, OUTPUT);
}
void green_light()
{
  digitalWrite(GREEN, HIGH);
  digitalWrite(YELLOW, LOW);
  digitalWrite(RED, LOW);
}

void yellow_light()
{
  digitalWrite(GREEN, LOW);
  digitalWrite(YELLOW, HIGH);
  digitalWrite(RED, LOW);
}

void red_light()
{
  digitalWrite(GREEN, LOW);
  digitalWrite(YELLOW, LOW);
  digitalWrite(RED, HIGH);
}
void loop()
{
  green_light();
  delay(DELAY_GREEN);
  yellow_light();
  delay(DELAY_YELLOW);
  red_light();
  delay(DELAY_RED);
}






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

در سایت ما نظر خود را بیان کنید.