رباتیک و هوافضا

چراغ کنترل ترافیک(راهنمایی و رانندگی) سه راه با آردوینو

ساخت چراغ کنترل ترافیک(راهنمایی و راننده گی) سه راه با آردوینو

به نام خدا

چراغ کنترل ترافیک(راهنمایی و راننده گی) سه راه با آردوینو

 

ساخت چراغ کنترل ترافیک(راهنمایی و راننده گی) سه راه با آردوینو

 

آردوینو یکی از محبوب ترین کنترل کننده منبع باز است ،برای انجام پروژه های DIY( Do it yourself) بسیار مفید است . این چراغ راهنمایی سه راه بر پایه ی آردوینو ،برای درک کار چراغ راهنمایی که ما در اطراف خود میبینیم مفید است.ما در اینجا یه نمونه ی ساده از چراغ راهنمایی برای سه راه یا سه طرف نشان داده ایم.

 

وسایل مورد نیاز:

  1. سه LED به رنگ های قرمز،سبز و زرد
  2. مقاومت ۲۲۰ اهم
  3. ورقه کاغذ
  4. اتصال دوسر شاخه (نرینگی)
  5. برد آردوینو با کابل IDE

مدار الکتریکی پروژه:

مدار کنترل کننده ی ترافیک آردوینو در تصویر زیر آمده است.

 

 

ساخت چراغ کنترل ترافیک(راهنمایی و راننده گی) سه راه با آردوینو

 

این مدار را به آسانی میتوان روی beredbord پیاده سازی کرد، که در زیر مراحل کار توضیح داده شده است:

  1. LED ها را به ترتیب قرمز،سبزو زرد در برد بورد قرار دهید.
  2. پایه منفی LED هارا با مقاومت ها به صورت سری متصل کنید و سر دیگر مقاومت ها را به زمین وصل کنید.
  3. طبق تصویر انتهای دیگر سیم ها را به پین های متوالی آردوینو (۲،۳،۴،…۱۰) متصل کنید.
  4. زمین برد بورد خود را بع زمین آردوینو متصل کنید.

 

این مدار را به آسانی میتوان روی beredbord پیاده سازی کرد، که در زیر مراحل کار توضیح داده شده است 1. LED ها را به ترتیب قرمز،سبزو زرد در برد بورد قرار دهید 2. پایه منفی LED هارا با مقاومت ها به صورت سری متصل کنید و سر دیگر مقاومت ها را به زمین وصل کنید 3. طبق تصویر انتهای دیگر سیم ها را به پین های متوالی آردوینو (2،3،4،...10) متصل کنید 4. زمین برد بورد خود را بع زمین آردوینو متصل کنید

 

برنامه  نحوه ی کار پروژه:

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

بیشتر بخوانید...  در باز کن اتوماتیک با آردوینو

در برنامه ابتدا پین های (۲،۳،…،۱۰)را به عنوان خروجی در تنظیمات voide() برای ۹lED (برای سه طرف یعنی روبه رو، چپ و راست )اعلام می کنیم.

 

void setup() {
  // configure the output pins
  pinMode(2,OUTPUT);
  pinMode(3,OUTPUT);
  pinMode(4,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(6,OUTPUT);
  pinMode(7,OUTPUT);
  pinMode(8,OUTPUT);
  pinMode(9,OUTPUT);
  pinMode(10,OUTPUT);

 

سپس در تابع  void loop()  کد ما را برای خاموش و روشن کردن چراغ های ترافیکی، همانطور که گفته شده می نویسید.

 

void loop() 
{
  digitalWrite(4,1);
  digitalWrite(5,1);
  digitalWrite(8,1);
  digitalWrite(2,0);
  digitalWrite(6,0);  //enables the 1st set of signals
  digitalWrite(3,0);
  digitalWrite(7,0);
  digitalWrite(10,0);
  digitalWrite(9,0);
  delay(5000);
  .... ......
  ..... ......

نحوه ی کار این مدار به این صورت است که ابتدا سمت رو به جلو (سبز)باز می شود ،در حالی که دو طرف دیگر (یعنی چپ و راست ) چراغ قرمز با تاخیر ۵ ثانیه ای روشن هستند، سپس نوز زرد در سمت راست برای ۱ ثانیه روشن و سپس چراغ سبز روشن میشود و دوطرف دیگر (چپ و روبه رو ) چراغ های قرمز با تاخیر ۵ ثانیه ای روشن می شود، بعد از آن در سمت چپ چراغ زرد با تاخیر ۱ ثانیه ای روشن و سپس چراغ سبز روشن میشود و دو طرف دیگر (روبه رو و راست) چراغ قرمز با تاخیر ۵ ثانیه ای روشن می شود.این روند در تابع void loop() برای این برنامه آمده است، شما میتوانید تاخیر های ذکر شده برای چراغ های قرمز، زرد و سبز برای خاموش و روشن شدن را به صورت دلخواه تغییر دهید.

بیشتر بخوانید...  ساخت چت روم خصوصی بوسیله آردینو, ماژول nRF24L0 و Processing

کد کامل آردوینو برای پروژه چراغ راهنمایی آردوینو در زیر آماده شده است.

دانلود کد:

دانلود فایل

 

void setup() {
  // configure the output pins
  pinMode(2,OUTPUT);
  pinMode(3,OUTPUT);
  pinMode(4,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(6,OUTPUT);
  pinMode(7,OUTPUT);
  pinMode(8,OUTPUT);
  pinMode(9,OUTPUT);
  pinMode(10,OUTPUT);
}
void loop() 
{
  digitalWrite(4,1);
  digitalWrite(5,1);
  digitalWrite(8,1);
  digitalWrite(2,0);
  digitalWrite(6,0);  //enables the 1st set of signals
  digitalWrite(3,0);
  digitalWrite(7,0);
  digitalWrite(10,0);
  digitalWrite(9,0);
  delay(5000);
   
  digitalWrite(6,1);     //enables the yellow
  digitalWrite(5,0);  
  delay(1000);
  
  digitalWrite(2,1);
  digitalWrite(8,1);
  digitalWrite(7,1);
  digitalWrite(3,0);    //enables the 2nd set of signals
  digitalWrite(6,0);
  digitalWrite(9,0);
  digitalWrite(5,0);
  digitalWrite(10,0);
  digitalWrite(4,0);
  delay(5000);
  
  digitalWrite(9,1);          //enables yellow
  digitalWrite(8,0);        
  delay(1000);
  
  digitalWrite(5,1);
  digitalWrite(2,1);
  digitalWrite(10,1);
  digitalWrite(6,0);
  digitalWrite(8,0);           //enables the 3rd set of signal
  digitalWrite(4,0);
  digitalWrite(7,0);
  digitalWrite(3,0);
  digitalWrite(4,0);
  digitalWrite(9,0);
  delay(5000);
  
  digitalWrite(3,1);           //enables yellow
  digitalWrite(2,0);
  delay(1000);
}

 

 

دیدگاه‌ها (0)

*
*