דלגו לתוכן המרכזי
KitLab
שיעור קודם
אקשן! הרובוט זז — מנועים, PWM ונסיעה לפי מסלול· 2 / 16
אקשן! הרובוט זז — מנועים, PWM ונסיעה לפי מסלול
🎬

הסרטון בדרך אלינו

בינתיים — התמלול המלא של השיעור מחכה לכם למטה

אקשן! הרובוט זז — מנועים, PWM ונסיעה לפי מסלול

מה בשיעור?

  • מנוע DC — איך חשמל הופך לתנועה
  • PWM: השיטה לשלוט במהירות המנוע
  • חמש התנועות של הרובוט וטבלת הגלגלים
  • הוספת הרחבת ACEBOTT ל-MakeCode
  • משימה: נסיעה עצמאית במסלול עד הספרייה

ההמשך של החקירה

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

הוא נותן לכם את המסלול מתחנת המשטרה אל הספרייה:

המסלול מתחנת המשטרה אל הספרייה

לפני שמתכנתים — צריך להבין איך הרובוט בכלל זז.


הידע שצריך

מנוע DC

מנוע DC הוא רכיב שממיר חשמל לתנועה. הזרם מסובב את המנוע, והמנוע מסובב את הגלגל. ב-TinkerBott יש שני מנועי N20 — אחד לכל גלגל.

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

PWM — איך שולטים במהירות

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

אבן analog write pin — פלט PWM

PWM — יחס הדלקה וכיבוי קובע את המתח בפועל

בעולם של micro:bit ערך ה-PWM נע בין 0 ל-1023:

ערך PWM Duty Cycle מה המנוע עושה
1023 100% מהירות מלאה
512 50% מהירות בינונית
0 0% עומד

נתוני מנוע N20: מתח 12V · מהירות 200 סל"ד · נשלט באות PWM.

חמש התנועות של הרובוט

לרובוט שני מנועים, ולכל מנוע שני כיווני סיבוב. כל התנועות נובעות מהשילוב ביניהם:

פעולה גלגל שמאל גלגל ימין
קדימה קדימה קדימה
אחורה אחורה אחורה
פנייה שמאלה אחורה קדימה
פנייה ימינה קדימה אחורה
עצירה עוצר עוצר

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


משימה: לנסוע לספרייה

המסלול שצריך לבצע:

המסלול שהרובוט צריך לעבור

תרשים הזרימה

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

תרשים זרימה של המסלול

שלב 1 — מוסיפים את הרחבת ACEBOTT

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

  1. ב-MakeCode לחצו על Extensions (הרחבות) בתפריט הכלים
  2. הדביקו בשורת החיפוש את הכתובת:

כתובת ההרחבה של TinkerBott

  1. לחצו על חבילת ההרחבה שמופיעה

הוספת ההרחבה בממשק MakeCode

אחרי שההרחבה נטענה, תופיע קטגוריה חדשה בשם TinkerBott בארגז הכלים. בתוכה — Microbit car.

שלב 2 — אבני התנועה

אבן Set direction

Set direction — קובעת כיוון נסיעה ומהירות. הכיוונים: Forward (קדימה), Backward (אחורה), Left (שמאלה), Right (ימינה). המהירות באחוזים.

אבן Left wheel speed / Right wheel speed

Left wheel speed / Right wheel speed — שליטה נפרדת בכל גלגל, מ-0% (עצירה) עד 100% (מלא). הפרמטר הראשון הוא הגלגל השמאלי והשני הימני.

Stop — עוצרת את הרובוט.

שלב 3 — התוכנית

התוכנית המלאה של שיעור 2

התוכנית היא רצף פשוט: כיוון, המתנה, כיוון, המתנה. אבני ה-pause הן הלב של העניין — הן שקובעות כמה זמן הרובוט נוסע בכל קטע, ולכן גם כמה מטרים הוא עובר וכמה מעלות הוא מסתובב.

הקשר בין זמן ההמתנה למרחק ולזווית

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

שלב 4 — מריצים

טענו את התוכנית לכרטיס, הניחו את הרובוט על הרצפה, והעבירו את המתג שבגב הרובוט מ-OFF ל-ON.

מתג ההפעלה בגב הרובוט

הרובוט נוסע במסלול שהגדרתם ומגיע לספרייה.


נסו בעצמכם

  • שנו את זמן ההמתנה בפנייה עד שהרובוט מסתובב בדיוק 90°. איזה ערך עבד אצלכם?
  • הריצו את אותה תוכנית על רצפה חלקה ועל שטיח. מה השתנה, ולמה?
  • במקום Set direction, השתמשו ב-Left wheel speed / Right wheel speed כדי לגרום לרובוט לנסוע בקשת רחבה במקום פנייה חדה.

🧰 הרכיבים לשיעור הזה

רוצים את חומרי הקורס והעדכונים?

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