תוכן עניינים:
- אספקה
- שלב 1: הגדר איך זה עובד: רמזור להולכי רגל
- שלב 2: בנה את המעגל
- שלב 3: יצירת מכונת המדינה
- שלב 4: הפעלת הדוגמא
- שלב 5: נוצר קוד C ++
- שלב 6: קבל את הדוגמה
וִידֵאוֹ: מכונת מדינה על ארדואינו - רמזור להולכי רגל: 6 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:14
היי, אני הולך להראות לך כיצד לתכנת רמזור להולכי רגל עבור Arduino ב- C ++ באמצעות מכשיר מצב סופי באמצעות YAKINDU Statechart Tools. זה ידגים את העוצמה של מכונות המדינה ויכול לשמש כשרטוט לפרויקטים נוספים.
אספקה
אתה צריך רק Arduino, כמה לחצנים, נוריות LED, מגשר ונגדים.
חוּמרָה
- כפתור 2x
- 2x רמזורים או שאתה יכול להשתמש נוריות עם 220 נגדים אוהם
- נגדי 2x10k Ohm
- לוח לחם
- קַפצָן
- Arduino Uno/Mega (או כל אחד אחר, שקיבל לפחות 8 GPIO)
תוֹכנָה
- כלי סטטרט של YAKINDU
- Eclipse C ++ IDE עבור Arduino
שלב 1: הגדר איך זה עובד: רמזור להולכי רגל
בהתחלה עלינו לפרט כיצד אמור לפעול הרמזור להולכי רגל. ניסיתי לסכם את נקודות הכדור:
- שני רמזורים משמשים - האחד למכוניות, השני להולכי הרגל
- ניתן להדליק את רמזור באמצעות כפתור
- הולך רגל יכול לבקש לחצות את הכביש על ידי לחיצה על כפתור
- רמזור כבוי מסומן על ידי מהבהב שני הנורות הצהובות
- לאחר ההדלקה, הרמזור ממתין 10 שניות במצב בטוח
- לאחר מצב בטוח, למכוניות תמיד יש שלב ירוק עד שהולך רגל יפתח בקשה
- בקשת מעבר להולכי רגל מסומנת על ידי LED צהוב מתג
בנוסף, ישנם כמה אירועי זמן בהתאם לאופן הפעולה של רמזור.
שלב 2: בנה את המעגל
נתחיל בהקמת המעגל. בדוגמה שלי, כפי שאתה יכול לראות בתמונת התצוגה המקדימה, השתמשתי ב- Arduino Mega 2560, אבל כל ארדואינו אחר עם לפחות שמונה GPIO צריך להיות בסדר. בנוסף, קניתי כמה רמזורים 5V באמזון. חפש רק את רמזור ארדואינו. אחרת, אתה יכול פשוט להשתמש בשש נוריות שונות. יתר על כן, אתה צריך שני כפתורי לחיצה ושני נגדי 10k Ohm.
שלוש הנורות השמאליות משמשות לתנועת המכוניות ושלוש הנורות הימניות להולכי הרגל, כאשר הצהוב יכול להצביע על בקשה.
שלב 3: יצירת מכונת המדינה
אז, כפי שאתה יכול לראות יש שתי מדינות עיקריות עם חברים מורכבים - מצב מופעל ומצב כבוי. אתה יכול לעבור בין שתי המצבים באמצעות האירוע onOff, המחובר לחצן ON/OFF. במצב ההתחלתי, מצב הכיבוי, שני הנורות הצהובות מתחילות להבהב כל שנייה. לאחר שהרמזור נדלק, הוא מתחיל בבטחה. לאחר 10 שניות יטופל ההתנהגות האופיינית של הרמזורים. הנורית האדומה והצהובה תדלק במצב StreetPrepare והרמזור יהפוך לירוק לאחר 2 שניות נוספות. מכאן והלאה, מכונת המדינה ממתינה לאירוע הבקשה להולכי רגל, המחובר לכפתור השני. לאחר שליחת האירוע הבקשה תסומן על ידי החלפת נורית הצהוב כל שנייה במצב PedWating. 7 שניות לאחר מכן הרמזור יוחלל לצהוב תחילה ולאחר מכן לאדום עד שהולכי הרגל יקבלו את האות ללכת במצב PedestrianGreen. לאחר מכן, 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_StreetGreen_rea; לשבור; } case main_region_on_r1_PedWaiting_r1_waitOn: {main_region_on_r1_PedWaiting_r1_waitOn_react (נכון); לשבור; } ברירת מחדל: הפסקה; } clearInEvents (); }
שלב 6: קבל את הדוגמה
כל הדוגמה מוכנה להרכבה ולהפעלה. הוא מגיע עם YAKINDU Statechart Tools, שהוא בחינם לשימוש לא מסחרי. לאחר ההורדה, תוכל לייבא את הדוגמה ישירות בכלי:
קובץ -> חדש -> דוגמה -> דוגמאות ל- YAKINDU Statechart -> הבא -> רמזור (C ++) עבור Arduino
> כאן תוכל להוריד את YAKINDU Statechart Tools <<
אתה יכול להתחיל בניסיון של 30 יום. לאחר מכן, עליך לקבל רישיון, שהוא בחינם לשימוש לא מסחרי!
מוּמלָץ:
מכונת פינבול ארדואינו שמשחקת את עצמה !: 13 שלבים (עם תמונות)
מכונת פינבול ארדואינו שמשחקת את עצמה !: " מכונת פינבול שמשחקת את עצמה, האם זה לא מוציא ממנה את כל הכיף? &Quot; אני שומע אותך שואל. אולי אם אתה לא עוסק ברובוטים אוטונומיים זה יכול להיות. אני, עם זאת, אני מאוד בונה רובוטים שיכולים לעשות דברים מגניבים, וזה
רובוט ארדואינו אוטו עם מכונת מדינה: 4 שלבים
ארדואינו אוטו רובוט עם מכונת מדינה: סקירת הפרויקט בפרויקט זה, אני רוצה להראות לך דרך לתכנת את רובוט אוטו, שהוא רובוט DIY מבוסס ארדואינו. באמצעות YAKINDU Statechart Tools (בחינם ללא מסחרי) אנו יכולים בקלות להשתמש במכונות מדינה כדי לדגמן באופן גרפי את ההתנהגות
פרויקט רמזורים Arduino [עם מעבר להולכי רגל]: 3 שלבים
פרויקט רמזורים בארדואינו [עם מעבר להולכי רגל]: אם אתם מחפשים משהו קל, פשוט ויחד עם זאת אתם רוצים להרשים את כולם עם ה- Arduino שלכם אז פרויקט הרמזורים הוא כנראה הבחירה הטובה ביותר במיוחד כאשר אתם מתחילים בעולם מארדואינו. ראשית נראה את
מכונת מדינה ורב משימות בארדואינו עם מרחיבי SPI: 3 שלבים
מכונת מדינה ורב -משימות בארדואינו עם מרחיבי SPI: בשבוע שעבר ביקשתי ליצור מערכת לניווט זיקוקים עם ארדואינו. זה היה צריך כ -64 יציאות כדי לשלוט בשריפות. אחת הדרכים לעשות זאת היא להשתמש במרחיבי IC. אז 2 פתרונות זמינים:- מרחיב I2C אך הוא זקוק למהפך כאשר אתה עושה
Arduino PLC 32 קלט/פלט+מכונת מדינה+SCADA או HMI: 8 שלבים
Arduino PLC 32 I/O+State Machine+SCADA או HMI: דרכים רבות לתכנת, לשלוט ולפקח על מערכת תעשייתית עם arduino