در این پست از سایت اِمیک, یک پروژه ساده ولی بسیار جالب به نام پروژه چراغ راهنمایی با آردوینو قرار داده شده است. در این پروژه ما با استفاده از برد آردوینو UNO یک چراغ راهنمایی خواهیم ساخت که عملکرد آن دقیقاً مانند چراغ های راهنمایی رانندگی مورد استفاده در چهارراه ها می باشد. در زیر شماتیک این پروژه جالب را مشاهده می کنید:
قبلا نیز همین پروژه را با استفاده از میکروکنترلر AVR در سایت قرار داده بودم که برای مشاهده ان پست می توانید اینجا کلیک کنید.
همانطور که مشاهده می کنید, ما در این پروژه از برد آردوینو UNO استفاده کرده ایم. این پروژه شامل دو چراغ راهنمایی می باشد که هر کدام از آنها برای یک مسیر در چهارراه می باشد. LED1 و LED2 و LED3 چراغ راهنمای اول می باشند که به ترتیب به پایه های 13 و 12 و 11 برد آردوینو متصل شده اند. LED4 و LED5 و LED6 نیز چراغ راهنمای دوم می باشند که به ترتیب به پایه های 10 و 9 و 8 برد آردوینو متصل شده اند.
پایه کاتد همه ی شش LED نیز به هم متصل شده و از طریق مقاومت R1 به منفی تغذیه متصل می باشد. مقاومت R1 برای محدود کردن جریان LED ها و جلوگیری از سوختن آنها استفاده شده است. مقاومت R1 بهتر است 1 وات باشد تا در طولانی مدت بیش از اندازه داغ نشود. LED های استفاده شده در این پروژه نیز LED معمولی 5 میلیمتر می باشند که برای هر کدام از چراغ های راهنمایی باید یک عدد LED قرمز, یک عدد زرد و یک عدد سبز تهیه کنید.
شماتیک این پروژه بسیار ساده است و نکته خاصی ندارد. در انتهای مطلب می توانید کلیپ شبیه سازی پروژه را مشاهده کنید. تغذیه پروژه بالا را می توانید از خود برد آردوینو بگیرید, به این صورت که برد آردوینو را با استفاده از آداپتور راه اندازی کنید و از پایه های 5V و GND آردوینو برای تغذیه استفاده کنید.
برنامه آردوینو :
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 36 37 38 39 40 |
//////// WWW.EMIC.IR //////// void setup() { pinMode(8, OUTPUT); //پین های 8 تا 13 از برد اردوینو خروجی شده اند// pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); pinMode(12, OUTPUT); pinMode(13, OUTPUT); } void loop() { digitalWrite(13, 1); //روشن می شود LED قرمز چراغ راهنمايي اول به ان متصل است برابر يک منطقي مي شود و اين LED پین 13 برد اردوینو که// digitalWrite(12, 0); //خاموش است LED زرد چراغ راهنمايي اول به ان متصل است برابر صفر منطقي مي شود و اين LED پین 12 برد اردوینو که// digitalWrite(11, 0); //خاموش است LED سبز چراغ راهنمايي اول به ان متصل است برابر صفر منطقي مي شود و اين LED پین 11 برد اردوینو که// digitalWrite(10, 0); //خاموش است LED قرمز چراغ راهنمايي دوم به ان متصل است برابر صفر منطقي مي شود و اين LED پین 10 برد اردوینو که// digitalWrite(9, 0); //خاموش است LED زرد چراغ راهنمايي دوم به ان متصل است برابر صفر منطقي مي شود و اين LED پین 9 برد اردوینو که// digitalWrite(8, 1); //روشن می شود LED سبز چراغ راهنمايي دوم به ان متصل است برابر يک منطقي مي شود و اين LED پین 8 برد اردوینو که// delay(10000); //تاخير به مدت 10 ثانيه// digitalWrite(13, 1); //در ادامه حالات ديگر چراغ راهنمايي تعريف شده اند// digitalWrite(12, 0); digitalWrite(11, 0); digitalWrite(10, 0); digitalWrite(9, 1); digitalWrite(8, 0); delay(5000); //تاخير به مدت 5 ثانيه// digitalWrite(13, 0); digitalWrite(12, 0); digitalWrite(11, 1); digitalWrite(10, 1); digitalWrite(9, 0); digitalWrite(8, 0); delay(10000); //تاخير به مدت 10 ثانيه// digitalWrite(13, 0); digitalWrite(12, 1); digitalWrite(11, 0); digitalWrite(10, 1); digitalWrite(9, 0); digitalWrite(8, 0); delay(5000); //تاخير به مدت 5 ثانيه// } |
توضیحات قسمت های مهم برنامه نوشته شده, اگر سوالی داشتید می توانید در قسمت نظرات مطرح کنید. همانطور که در برنامه مشاهده می کنید مقدار تأخیر حالات مختلف روشن شدن چراغ راهنمایی به راحتی در برنامه قابل تغییر است. از انتهای مطلب نیز می توانید فایل های آردوینو و شبیه سازی پروتئوس برای این پروژه را دانلود کنید.
کلیپ شبیه سازی پروژه :
پسورد فایل زیپ : www.emic.ir
نظر یادتون نره…