שיעור 4

פתיחת המחסום

זהו עשינו את כל ההכנות, והגיע הזמן לגרום סוף סוף למסלול המרוצים שלנו לעשות משהו מעניין!
בשיעור זה אנחנו נפתח את המחסום ונגרום לרכבים לצאת למרוץ בצורה מתוזמנת.
זו התוצאה הסופית שנגיע אליה בסיום השיעור:

 

 

מה זה סרבו?

 
בעמדת הבקרה שלנו יש רכיב קטן שנקרא מנוע סרבו , מה שמבדיל מנוע סרבו ממנוע רגיל?
ממנוע רגיל (כמו של מאוורר למשל) מסתובב כל עוד הוא מחובר לחשמל.
סרבו לעומת זאת מקבל פקודה מארדואינו ומסתובב לזוית מסויימת על פי הדרישה של ארדואינו, ברגע שהוא מגיע לזוית שקיבל, הוא עוצר.


בתמונות הבאות תוכלו לראות את מצב מנוע הסרבו בזויות שונות
(זווית 0 מעלות, זווית 90 מעלות וזווית 180 מעלות):


מתחילים להסתובב

 

במקרה שלנו הסרבו מחובר למחסום הכתום בעמדת הבקרה, כשהוא מסתובב המחסום נפתח והרכבים מזנקים.

 

 

נחזור לmBlock ונתחיל לבנות את תוכנה הראשונה שלנו, היא תהיה מאוד פשוטה בהתחלה ולאט לאט תשתכלל.

שלב 1: בלוק ארדואינו בסיסי

כל פעם שנרצה לתכנת ארדואינו נצטרך להשתמש בלוק בסיסי שנקרא ״כאשר ארדואינו עולה״ (הבלוק הזה נמצא תחת תפריט ״אירועים״), גררו אותו פנימה כפי שמוצג בסרטון:

 

עכשיו יש לנו בלוק בסיסי שחייב להיות בכל קוד שנכתוב עבור מכשיר ארדואינו , בשלב הבא נוסיף את הבלוק שיגרום למנוע הסרבו להסתובב.

שלב 2: בלוק סרבו

מתוך התפריט ״שן״ גררו את הבלוק של הסרבו פנימה וחברו אותו לבלוק הראשון, כפי שמוצג בסרטון:

בואו נעלה את הקוד לארדואינו ונראה שהוא עובד, אחר כך נסביר את הפרטים לגבי בלוק סרבו.

שלב 3: העלאת קוד

וודאו שהארדואינו מחובר למחשב וגם לתוכנה, איך יודעים? פשוט מאוד כפתור ״העלאה״ מופיע כמו בתמונה:

אם כפתור ״העלאה״ לא מופיע , חזרו לשיעור הקודם ובצעו שוב את תהליך ההתחברות.

כן מופיע? לחצו עליו , תהליך ההעלאת הקוד אמור להתבצע כמו בסרטון:

מה עושים אם הקוד לא עולה?

אם ההעלאה נתקעת והקוד לא עולה לארדואינו, יש כמה דברים שאפשר לעשות בסדר הזה:

בצעו ריסטרט למחשב על ידי ביצוע השלבים הבאים:
1) שמרו את הקובץ : לחצו על קובץ -> שמור במחשב
2) בצעו ריסטרט למחשב
3) פתחות את התוכנה ואת הקובץ שלכם על: לחצו על קובץ -> פתח מהמחשב שלך
4) נסו להעלות את הקוד שוב

הקוד עדיין לא עולה?
נסו להתקין את הדרייבר של ארדואינו, תוכלו להוריד אותו מכאן.
לאחר ההתקנה, בצעו ריסטר למחשב שוב ונסו להעלות את הקוד.

עדיין לא עולה?
חברו את הקבל של ארדואינו ליציאת USB אחרת, ונסו להעלות את הקוד.

עדיין לא מצליחים?
נסו להתקין את התוכנה ולבצע את כל ההגדרות על מחשב אחר.

אם גם זה לא עבד, כנראה שהקבל או הארדואינו לא תקינים (למרות שאנחנו בודקים את כל הרכיבים לפני הספקת הערכה), פנו אלינו לשירות הלקוחות ונשמח לעזור ולפתור את הבעיה.

אם הקוד עלה בהצלחה, הסרבו יסתובב והמחסום ייסגר חלקית: 

שלב 4: משחקי זויות

עכשיו נסו לשחק עם הזווית שמופיעה בתוך הבלוק , הזווית הזו יכולה להיות בין 0 ל 180 (ערכים אחרים יגרמו לשגיאה). הקלידו זויות שונות , לאחר כל שינוי לחצו על כפתור ה״העלאה״ על מנת שהקוד העדכני יעלה לארדואינו.

בסרטון הבא, אנחנו מדגימים תזוזה לזויות שונות (45,90,150):
 

הסבר על שן 9

בבלוק של הסרבו אפשר להכניס שני נתונים: זווית (אנחנו כבר יודעים מה זה) ושן(נסביר עכשיו).

כפי שסיפרנו לכם בתחילת הסדנא לארדואינו יש "שיניים", לשיניים הללו ניתן לחבר רכיבים אלקטרונייים שונים, סרבו הוא אחד הרכיבים הללו.

כאשר מתכנתים את הארדואינו צריך להגיד לו לאיזו שן חיברנו את הסרבו על מנת שהוא ידע לשלוח לו פקודות, במקרה שלנו הסרבו מחובר לשן 9 ולכן בבלוק של הסרבו אנחנו צריכים לציין 9 באזור של ה"שן". (זה גם ערך ברירת המחדל שנמצא בבלוק ולכן לא נצטרך לשנות אותו במקרה הזה).

איך הסרבו מתחבר לשן 9 של הארדואינו?

יהיה לכם קצת קשה לראות את החיבור בערכה שלכם מכיוון שהחיבורים מתבצעים על ידי חוטים מאוד קטנים המצויירים על הלוח השחור שארדואינו יושב בתוכו, כאן תוכלו לראות תמונה מוגדלת של הלוח ולראות שיש ציורים של חוטים עליו:

שלב 5: זינוק מתוזמן

אומנם הסרבו שלנו מסתובב, אבל זה קורה בצורה די מסורבלת (כל פעם שאנחנו רוצים לסובב אותו אנחנו צריכים להעלות קוד עם זוית חדשה) וזה לא מספיק טוב.

אנחנו שנכלל את הקוד שלנו כך שיעשה את הדברים הבאים לפי הסדר:
1) כאשר הארדואינו ידלק המחסום יסגר (זווית 180)
2) המתנה של 3 שניות
3) המרוץ מתחיל! פתיחה של המחסום(זווית 0)

הסרטון הבא מדגים את התוצאה שאנחנו נרצה לקבל:

 

נתחיל המחלק הראשון: ״כאשר הארדואינו ידלק המחסום יסגר״

את זה אנחנו כבר יודעים לעשות, עדכנו את הקוד שלכם לזווית 180 (זווית 180 משמעותה המחסום סגור לגמרי).

כך הקוד אמור להיראות עכשיו:

 

עכשיו נעבור להמשך, אנחנו רוצים להמתין שלוש שניות ואז לפתוח את המחסום (שלוש שניות זה מספיק זמן על מנת למקם את המכוניות).

תחת תפריט שליטה יש לנו בלוק בשם ״המתן שניות״ , גררו אותו אל מתחת לבלוק הסרבו שלנו ושנו את השניות ל3:

עכשיו הפקודות שלנו אומרות לארדואינו: ברגע שאתה נלדק תסגור את המחסום ותחכה שלוש שניות.

נשאר לנו להגיד לארדואינו מה לעשות לאחר ההמתנה (לפתוח את המחסום).

כמובן שנצטרך להוסיף עוד בלוק של סרבו, הפעם נשתמש בזויות 0 שהיא זוית שבה המחסום פתוח לגמרי.

הוספו את בלוק הסרבו הנוסף, והעלו את הקוד החדש:

אוקי אז ישלנו כבר קוד בסיסי של זינוק, כשארדואינו נדלק, המחסום נסגר ל3 שניות (בזמן הזה אפשר למקם רכבים על המסלול) ואז המחסום נפתח.
אבל יש לנו בעיה… הזינוק הזה קורה רק פעם אחת כשהקוד עולה, כשנרצה לשחק, כמובן שנרצה לעשות הרבה זינוקים ולא נרצה להעלות את הקוד כל פעם מחדש בשביל לגרום לזינוק. 
אז מה הפתרון? 

אולי נשתמש במתג ההפעלה על מנת לכבות ולהדליק את הארדואינו בכל מקצה?

מכיון שהארדואינו שלנו מחובר למחשב, מתג הכיבוי/הפעלה לא עובד, ארדואינו כל הזמן מקבל חשמל מהמחשב וכשהמתג הפעלה מנתק אותו מהסוללות זה לא באמת מזיז לו. אז מה הפתרון?

הפתרון הוא להשתמש בכפתור הריסטרט הקטן שנמצא על הארדאוינו, הכפתור הזה מכבה ומדליק את הארדיאנו.

לחצו על הכפתור ריסטרט בעזרת האצבע או בעזרת המברג הכחול שמצורף לערכה, שימו לב להדגמה בסרטון הבא.

שלב 6: עכשיו אפשר להתחיל לשחק

הקוד שלנו בנתיים מאוד פשוט אבל אנחנו כבר יכולים לשחק משחק בסיסי, כל פעם שנרצה להתחיל מקצה חדש, נעשה ריסטרט לארדואינו, נמקם את המכוניות ונחכה לזינוק, לאחר שהמכוניות יזנקו והמקצה יגמר אפשר לחזור על התהליך שוב ושוב.

לאחר ההורדה תוכלו לפתוח את הקובץ על ידי לחיצה על התיקייה ובחירה ב״פתח מהמחשב שלך״, שימו לב שאנחנו משתמשים באפשרות זו ולא באפשרות ״פתח״ שלא מתאימה לצרכים שלנו. 

שלב 7: (רשות) התקנת סוללות

השלב הזה אינו חובה ונדרש רק אם אתם רוצים למקם את המסלול רחוק מהמחשב שלכם.
תוכלו להמשיך בסדנא ללא התקנת הסוללות כל עוד תשמרו על כך שהארדואינו יהיה מחובר למחשב בכבל USB.

לאחר שהעלנו את הקוד אל הארדואינו, הקשר היחיד שקיים בין המחשב לארדואינו הוא רק החשמל שהארדואינו מקבל מהמחשב, ולכן גם אם ננתק את הארדואינו מהמחשב הקוד האחרון שהעלנו יישמר וימשיך להתבצע כל פעם שנדליק את הארדואינו.

לכן אם נרצה להמשיך לשחק במסלול המרוצים מבלי שהמסלול יהיה מחובר למחשב, נצטרך לדאוג לו למקור מתח חילופי – סוללות (3 סוללות אצבע – לא כלולות בערכה).

על מנת להתקין את הסוללות, הבריגו החוצה את שני הברגים שנמצאים ברמפה הכתומה כפי שמודגם בסרטון הבא.

 

לאחר שפירקנו את הרמפה, נפתח את המכסה של קופסת הסוללות, נכניס את הסוללות פנימה (החלק השטוח של הסוללה הולך לכיוון הקפיץ). לאחר שהסוללות הוכנסו ניתן לסגור את המכסה ולהניח את קופסת הסוללות במקומה:

 

כעת נבריג את הרמפה חזרה, חשוב להסתכל מהצד ולוודא שהברגים נכנסים לתוך החורים שנמצאים במשולשים השחורים.  אין צורך להבריג את הברגים עד הסוף, אין צורך להפעיל כוח בהברגה, ברגע שמרגישים שהבורג ״תופס״ אפשר להפסיק. צפו התהליך ההברגה בסרטון:

 

בעתיד כשתצטרכו להחליף את הסוללות זו תהיה בדיוק הדרך לעשות זאת. הסוללות אמורות להספיק לשעות רבות של משחק (בתנאי שאתם לא שוכחים את המערכת דלוקה).

כעת לאחר שהתקנתם את הסוללות , תוכלו להזיז את המסלול בזמן משחק ולחבר את המסלול למחשב רק בזמן העלאת קוד.

 

עכשיו ארדואינו עצמאי והוא לא צריך את המחשב לידו! 

ממשיכים!

 

המסלול מרוצים שלנו עובד אבל בצורה מאוד בסיסית, יש לו עוד המון רכיבים שאנחנו לא מנצלים אותם בנתיים.
בשיעור הבא ובהמשך הסדנא נשכלל את הקוד שלנו ונוסיף אקשן למשחק!