فهرست مطالب:
- تدارکات
- مرحله 1: نحوه عملکرد آن را مشخص کنید: چراغ راهنمایی عابر پیاده
- مرحله 2: ساختن مدار
- مرحله 3: ایجاد ماشین دولتی
- مرحله 4: اجرای مثال
- مرحله 5: کد C ++ ایجاد می شود
- مرحله 6: مثال را دریافت کنید
تصویری: State State Machine در آردوینو - چراغ راهنمایی عابر پیاده: 6 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
سلام! من قصد دارم به شما نشان دهم که چگونه با استفاده از YAKINDU Statechart Tools یک چراغ راهنمایی عابر پیاده را برای Arduino در C ++ با دستگاه حالت محدود برنامه ریزی کنید. این امر قدرت ماشین های دولتی را نشان می دهد و می تواند به عنوان نقشه ای برای پروژه های بعدی مورد استفاده قرار گیرد.
تدارکات
شما فقط به یک آردوینو ، چند دکمه فشاری ، LED ، Jumper و مقاومت احتیاج دارید.
سخت افزار
- دکمه فشاری 2 برابر
- 2 برابر چراغ راهنمایی یا می توانید از LED های با مقاومت 220 اهم استفاده کنید
- 2x مقاومت 10k اهم
- تخته نان
- بلوز
- Arduino Uno/Mega (یا هر دستگاه دیگری که حداقل 8 GPIO داشته باشد)
نرم افزار
- ابزارهای YACINDU Statechart
- Eclipse C ++ IDE برای آردوینو
مرحله 1: نحوه عملکرد آن را مشخص کنید: چراغ راهنمایی عابر پیاده
در ابتدا ، ما باید نحوه عملکرد چراغ راهنمایی عابر پیاده را مشخص کنیم. من سعی کردم نکات مهم را خلاصه کنم:
- از دو چراغ راهنمایی استفاده می شود - یکی برای اتومبیل ها و دیگری برای عابران پیاده
- چراغ راهنمایی را می توان با استفاده از یک دکمه روشن کرد
- عابران پیاده می توانند با فشردن یک دکمه تقاضای عبور از خیابان را داشته باشند
- چراغ راهنمای خاموش با چشمک زدن هر دو LED زرد نشان داده می شود
- پس از روشن شدن ، چراغ راهنمایی در حالت ایمن 10 ثانیه منتظر می ماند
- پس از حالت ایمن ، خودروها همیشه فاز سبز دارند تا زمانی که عابر پیاده درخواست خود را شروع کند
- درخواست عابر پیاده برای عبور با روشن کردن LED زرد نشان داده شده است
علاوه بر این ، برخی از رویدادهای زمانی بسته به نحوه عملکرد چراغ راهنمایی وجود دارد.
مرحله 2: ساختن مدار
بیایید راه اندازی مدار را شروع کنیم. در مثال من ، همانطور که در تصویر پیش نمایش مشاهده می کنید ، من از Arduino Mega 2560 استفاده کرده ام ، اما هر Arduino دیگری با حداقل هشت GPIO باید خوب باشد. علاوه بر این ، من چند چراغ راهنمایی 5 ولت در آمازون خریدم. کافی است آردوینوی Traffic Light را جستجو کنید. در غیر این صورت ، می توانید به سادگی از شش LED مختلف استفاده کنید. علاوه بر این ، شما نیاز به دو دکمه فشاری و دو مقاومت 10k اهم دارید.
سه چراغ LED سمت چپ برای تردد خودروها و سه LED سمت راست برای عابران پیاده استفاده می شود که در آن رنگ زرد می تواند نشان دهنده درخواست باشد.
مرحله 3: ایجاد ماشین دولتی
بنابراین ، همانطور که می بینید دو حالت اصلی با اعضای مرکب وجود دارد - حالت روشن و خاموش. با استفاده از رویداد onOff ، که به دکمه ON/OFF متصل است ، می توانید بین هر دو حالت جابجا شوید. در حالت اولیه ، حالت خاموش ، هر دو LED زرد هر ثانیه شروع به چشمک زدن می کنند. پس از روشن شدن چراغ راهنمایی ، در Safestate روشن می شود. پس از 10 ثانیه رفتار معمولی چراغ های راهنمایی کنترل می شود. چراغ قرمز و زرد در حالت StreetPrepare روشن می شود و چراغ راهنمایی بعد از 2 ثانیه دیگر سبز می شود. از این پس ، دستگاه دولتی منتظر رویداد پیاده روی است که به دکمه دوم متصل می شود. پس از ارسال رویداد ، درخواست را با روشن کردن LED زرد در هر ثانیه در حالت PedWating نشان می دهد. 7 ثانیه بعد چراغ راهنمایی ابتدا به رنگ زرد و سپس قرمز تغییر می کند تا زمانی که عابران پیاده سیگنال حرکت در حالت پیاده روی را دریافت کنند. پس از این ، PedestrianRed فعال شده و چرخه تکرار می شود. فقط با خاموش کردن دوباره چراغ راهنمایی می توان این کار را قطع کرد.
مرحله 4: اجرای مثال
مرحله 5: کد C ++ ایجاد می شود
کد C ++ ایجاد شده یک سوئیچ کلاسیک برای اداره منطق ماشین حالت است. این فقط یک قطعه کد از ظاهر آن است:
void TrafficLightCtrl:: runCycle () {clearOutEvents ()؛ for (stateConfVectorPosition = 0؛ stateConfVectorPosition <maxOrthogonalStates؛ stateConfVectorPosition ++) {switch (stateConfVector [stateConfVectorPosition])) {case main_region_on_r1_StreetGreen: {main_region_on_r1_rere_rere_rere_rere_re1_Street_rreen_re1_Street_rre_green_re1_Street_rre_re1_Street_rre_re1_Street_rre_re1_Street_rre_re1_Street_rre_re1_Street_rre_re1_Street_rre_re1_StreetGreen_re1_StreetGreen_re1_StreetGreen: زنگ تفريح؛ } case main_region_on_r1_PedWaiting_r1_waitOn: {main_region_on_r1_PedWaiting_r1_waitOn_react (درست) ؛ زنگ تفريح؛ } پیش فرض: break؛ } clearInEvents ()؛ }
مرحله 6: مثال را دریافت کنید
کل مثال آماده کامپایل و اجرا است. همراه با YAKINDU Statechart Tools ، که برای استفاده غیر تجاری رایگان است. پس از بارگیری ، می توانید مثال را مستقیماً در ابزار وارد کنید:
فایل -> جدید -> مثال -> نمونه های YAKINDU Statechart -> بعدی -> چراغ راهنمایی (C ++) برای آردوینو
> در اینجا می توانید YAKINDU Statechart Tools << را بارگیری کنید
می توانید با یک دوره آزمایشی 30 روزه شروع کنید. پس از آن ، باید مجوز دریافت کنید ، که برای استفاده غیر تجاری رایگان است!
توصیه شده:
DIY GPS Data Logger برای شما درایو بعدی/مسیر پیاده روی: 11 مرحله (همراه با تصاویر)
DIY GPS Data Logger برای شما درایو بعدی/مسیر پیاده روی: این یک GPS Data Logger است که می توانید از آن برای چند منظوره استفاده کنید ، بگویید اگر می خواهید درایو طولانی خود را که آخر هفته برای بررسی رنگهای پاییزی طی کرده اید وارد کنید. یا مسیر مورد علاقه ای دارید که هر سال در پاییز از آن دیدن می کنید و
Xpedit - دستگاه نظارت بر طبیعت برای پیاده روی و پیاده روی: 12 مرحله (همراه با تصاویر)
Xpedit - دستگاه نظارت بر طبیعت برای پیاده روی و پیاده روی: هنگامی که قصد دارید یک سفر ماجراجویی یا طبیعت گردی انجام دهید ، داشتن وسیله ای در کوله پشتی شما که به شما در درک محیط کمک می کند ضروری است. برای سفر ماجراجویی آینده ، قصد داشتم یک دستگاه دستی بسازم که به
ربات پیاده روی با 3 سروو: 4 مرحله (همراه با تصاویر)
ربات پیاده روی با 3 سروو: این یک ربات دوپا ساده است که می تواند راه برود. ساخته شده از آردوینو ، سه سرو و مکانیزم ساده. فرمان به ربات ، می تواند به جلو ، عقب ، حتی چرخش یا چرخش حرکت کند. یک سروو حرکت مرکز ثقل است. دو تای دیگر باید هر دو پا را بچرخانند
نحوه استفاده از Tinkercad برای آزمایش و پیاده سازی سخت افزار: 5 مرحله (همراه با تصاویر)
نحوه استفاده از Tinkercad برای آزمایش و پیاده سازی سخت افزار: شبیه سازی مدار تکنیکی است که در آن نرم افزار کامپیوتری رفتار یک مدار یا سیستم الکترونیکی را شبیه سازی می کند. طرح های جدید را می توان بدون ایجاد مدار یا سیستم آزمایش ، ارزیابی و تشخیص داد. شبیه سازی مدار ممکن است
ارزان ترین آردوینو -- کوچکترین آردوینو -- آردوینو پرو مینی -- برنامه نویسی -- آردوینو ننو: 6 مرحله (همراه با تصاویر)
ارزان ترین آردوینو || کوچکترین آردوینو || آردوینو پرو مینی || برنامه نویسی || آردوینو ننو: …………………………. لطفاً برای ویدیوهای بیشتر به کانال YouTube من مشترک شوید ……. .این پروژه در مورد نحوه ارتباط با کوچکترین و ارزانترین آردوینو است. کوچکترین و ارزان ترین آردوینو arduino pro mini است. شبیه آردوینو