طراحی چراغ راهنمایی رانندگی با Proteus
پروژه طراحی چراغ راهنمایی رانندگی را با استفاده از مدار های ترتیبی در نرم افزار Proteus آماده کرده ایم که در ادامه به تشریح جزئیات آن به صورت تصویری می پدازیم.
معرفی پروژه طراحی چراغ راهنمایی رانندگی :
در این پروژه ما با استفاده از مدار های ترتیبی شامل فیلیپ فلاپ ها و گیت های منطقی، شمارنده های تک رقمی داریم که می تواند نزولی یا صعودی شمارش کند. در این پروژه به دلیل اینکه در چراغ راهنمایی و رانندگی به صورت نزولی شمار می کند، ما هم از حالت نزولی شمار فلیپ فلاپ ها از نوع D استفاده کرده ایم.
همانطور که در تصویر بالا مشاهده می شود، ورودی را به مکمل خروجی متصل کردیم که پایه های ست برای مقدار دهی به فلیپ فلاپ و ست کردن آن استفاده می شود و همچنین از پایه ریست نیز برای صفر کردن مقدار خروجی فلیپ فلاپ استفاده می شود و از منبع کلاک پالسی با فرکانس ۱ هرتز استفاده کردیم، همچنین برای صعودی شمردن از خود خروجی فلیپ فلاپ استفاده شود امادر این پروژه برای نزولی شمردن می باست از مکمل خروجی فلیپ فلاپ استفاده کنیم.
استفاده از فلیپ فلاپ ها :
چهار فلیپ فلاپ را به هم متصل می کنیم تا یک شمارنده ۴ بیتی داشته باشیم.
همانطور که در شکل بالا مشخص است، چهار فلیپ فلاپ را به هم وصل کردیم و از مکمل خروجی قبلی برای کلاک فلیپ فلاپ بعدی استفاده می شود که در این حالت فلیپ فلاپ نزولی می شمارد. در عدد یکان شمارنده از ۹ می شمارد تا صفر و دوباره ریست می شود و این عمل ادامه پیدا می کند. برای هر بار انجام این شمارش یک واحد از شمارنده دهگان شمارنده کم می شود تا دو شمارنده به عدد صفر برسند یعنی طبق سوال ۶۰ ثانیه سپری شود.
برای دهگان این شمارنده نیز عین همین ترکیب را داریم با این تفاوت که در هر بار شمارش از ۶ تا صفر را می شمارد که کلاک خود را از یکان شمارنده می گیرد، به این ترتیب که وقتی یکان شمارنده از ۹ به ۰ رسید یک واحد از دهگان شمارنده کم می شود که این روال تا صفر شدن دهگان شمارنده ادامه پیدا می کند یعنی تا زمانی که ۶۰ ثانیه سپری می شود.
در این پروژه یک کلید داریم که با فشردن آن این شمارش آغاز می شود و ۶۰ ثانیه را می شمارد و پس از سپری شدن ۶۰ ثانیه اگر بخواهیم دوباره این مدت را تمدید کنیم یک بار کلید را قطع و وصل می کنیم و دوباره ۶۰ ثانیه دیگر شمارنده می شمارد و همچنین هرگاه بخواهیم قبل از ۶۰ ثانیه شمارش را متوقف کنیم می توانیم با قطع کلید شمارنده را متوقف کنیم.
در قسمت دهگان شمارنده مشابه یکان شمارنده شکل زیر را داریم:
همانطور که مشاهده می شود ورودی را به مکمل خروجی متصل کردیم و پایه های ست برای مقدار دهی به فلیپ فلاپ و ست کردن آن استفاده می شود و پایه ریست به منظور صفر نمودن مقدار خروجی فلیپ فلاپ بکار می رود و پس از رسیدن دهگان شمارنده به صفر مقدار همه فلیپ فلاپ ها به مقدار اولیه آن ریست خواهند شد.
به جهت اینکه شمارنده نزولی بشمارد از مکمل خروجی ها استفاده شده است و با گیت های منطقی شرط رسیدن به مقدار صفر در این شمارنده بررسی شده که پس از درستی این بررسی پایه های ریست فلیپ فلاپ فعال می شوند و همچیننپایه های ست و ریست با صفر فعال می شوند و با یک غیر فعال می شوند.
از یک چراغ راهنمایی و رانندگی نیز استفاده کردیم که مطابق زیر است:
در این چراغ راهنمایی رانندگی ۶۰ ثانیه باید سبز باشد که چند ثانیه اخر از این ۶۰ ثانیه چراغ سبز باید غیر فعال و چراغ زرد به معنی احتیاط فعال شود. برای غیر فعال شدن چراغ سبز و فعال شدن چراغ زرد از گیتxor استفاده کردیم.
برای اینکه همین چراغ قرمز را در طرف دیگر چهارراه داشته باشیم، یعنی مقدار ۶۰ ثانیه را نزولی بشمارد با این تفاوت که چراغ قرمز باشد، عین همین ترکیب را برای چراغ قرمز داریم که با فشردن یک کلید هر دو چراغ سبز و قرمز فعال می شود و همچنین با قطع کلید چراغ ها غیر فعال خواهند شد.
در شکل زیر شمارش چراغ سبز را که از ۶۰ تا صفر ادامه دارد را مشاهده می کنیم:
همزمان در طرف دیگر چهار راه چراغ قرمز است که ۶۰ ثانیه را نزولی می شمارد که در شکل زیر شمارش چراغ قرمز را می بینیم:
دو چراغ سبز و قرمز در یک زمان شروع به شمارش می کنند و در یک زمان مقدار هر دو به صفر می رسد. در چراغ سبز وقتی شمارش چراغ سبز رو به پایان است، چراغ سبز خاموش و چراغ زرد به معنی احتیاط روشن خواهد شد که شکل آن در زیر امده است:
پس از اینکه شمارش به انتها یعنی صفر رسید چراغ زرد نیز خاموش می شود، همچنین در شکل زیر در یک تصویر شمارش چراغ سبز و قرمز را با هم مشاهده می کنید:
همانطور که مشاهده می کنید با فشردن کلید چراغ ها فعال و شمارش از ۶۰ تا صفر در هر دو چراغ اغاز می شود و هر زمان بخواهیم چراغ ها غیر فعال شوند، می توانیم کلید را قطع کنیم. از گیت های مختلف در این پروژه برای اعمال مقادیر به فلیپ فلاپ ها و بررسی زمان ریست شدن فلیپ فلاپ ها استفاده شده است.
مشاهده ویدئو در این باره
سلام چجوری میتونیم تعیین کنیم که مثلا چراغ سبز برای یک مسیر به مدت 38 ثانیه روشن باشه؟