מותאם לתוכנית הלימודים
פרק חמישי, חלק שני כיתה ה'
מעודכן לשנת הלימודית תש"ף
|
135 דקות עיוני ומעשי
שלוש יחידות שיעור
התלמידים הכירו את מושג החיישן ודרך פעולתו.
הם למדו לתכנת את חיישן מגע באמצעות לולאות ותנאי פשוט.
בשיעור זה נלמד לתכנת את חיישן המרחק תוך כדי הקניית מיומנות תכנות באמצעות תנאי מורכב. כו כן נלמד להפעיל זרוע ברובוט ולתכנת תוכנית המשלבת שימוש בשני חיישנים: חיישן מגע וחישן מרחק.
מהלך ההוראה:
על מנת לתכנת חיישן מרחק עלינו להיעזר בבלוקים מחוצץ המפעילים (צבע ירוק) בסביבת 3 SCRATCH.
הרובוט ייסע ישר במהירות 30 וייעצר במרחק 20 ס"מ מהקיר.
אלגוריתם התוכנית:
הפעל מנוע B שמאל ומנוע C ימין במהירות 30
חכה עד ש… חיישן מרחק מודד ערך קטן מעשרים.
עצור מנועים.
שימו לב- בעבודה עם חיישנים כדאי לנוע במהירות נמוכה כדי שהתוכנית תמדוד באופן מדויק יותר.
כיצד נגדיר את התנאי "חכה עד ש… חיישן מרחק מודד ערך קטן מעשרים"?
תחילה נבחר בבלוק "חכה עד ש…" , מחוצץ הבקרה,
נגרור פקודה זאת אל שולחן העבודה.
לאחר מכן נבחר בחוצץ המפעילים, משם נבחר בפקודה "קטן מ…"
נגרור אותה אל שולחן העבודה.
נעבור אל פקודות הרובוט, משם נבחר בפקודה "מדוד חיישן אולטרא סוניק"
נגרור אותה אל שולחן העבודה.
נחבר בין הפקודות בדרך הבאה ונרשום את המספר 20
בצד הימני של האופרטור (המפעיל).
הקפידו לציין את הכניסה הנוכנה של החיישן.
בחירה בנסיעה המוגבלת על ידי זמן/מעלות מנוע או סיבובי מנוע תגרום לכך שהרובוט יבצע את הפקודה במלואה, כלומר, יבצע את הפקודה במלואה ורק לאחר מכן יעבור לפקודה הבאה. בדיקת התנאי תהיה רק לאחר סיום הפקודה. יתכן גם שהרובוט יסיים את מנסיעה בטרם התנאי התקיים.
לא נבחר בערך שווה ל-20 כי החיישן מודד לסירוגין ואיננו יודעים כל כמה זמן בדיוק מתבצעת מדידה. יכול להיות שכאשר התבצעה מדידה , החיישן מדד מרחק של 19 ובמדידה הבאה הרובוט הספיק להתקדם והחיישן מדד 21 ס"מ, בעצם כך לעולם לא ימדוד 20.
לקראת משימות ההמשך נבקש מהילדים להתקין על הרובוט מנוע בינוני אליו תתחבר זרוע.
הוראות ההרכבה בעמודים 54-68 בחוברת הרובוט או לחצו כאן
חיבור המנוע לרובוט יעשה, כברירת מחדל, ביציאה A.
בקשו מהילדים להתבונן בזרוע, בצירים, בגלגל השיניים המיוחד המכיל 4 שיניים בלבד.
הסבירו להם שאל המנוע מחובר ציר קטן אדום, אליו חיברנו את גלגל השיניים (4 שיניים).
גלגל השיניים, המחובר למנוע, נקרא גלגל מניע. לגלגל השיניים המניע, חיברנו גלגל, בגודל זהה אך אנך לו. גלגל שיניים זה נקרה גלגל נגרר, תנועתו נובעת מהיגררות אחרי תנועת הגלגל הראשון המחובר למנוע מעצם שילוב השיניים של שניהם אלה באלה. הגלגל הנגרר, בחיבור הזרוע חוברת אנכית עקב תפקידו החשוב בשינוי תנועת המנוע מתנועה אופקית לאנכית. השינוי הזה מאפשר לזרוע לנוע מעלה ומטה בכל פעם שאנו מניעים את המנוע.
היחס בגודל גלגלי השיניים הוא אחד לאחד , לשניהם יש ארבע שיניים בגודל זהה. שניהם עושים דרך זהה בזמן זהה לסיבוב 360 מעלות. (הם בגודל זהה ולכן נעים במהירות זהה).
אם היינו משנים את גלגל השיניים הנגרר לגלגל קטן יותר, היה לו פחות דרך לעשות כדי להשלים סיבוב של 360 מעלות ולכן הוא ינוע מהר יותר יחסית לגלגל המניע. כתוצאה מכך הזרוע המחוברת היתה נעה מהר יותר. הכוח שלה היה פוחת (זה נקרא העלאת הילוך) המהירות היא על חשבון הכח.
אם היינו משנים את גלגל השיניים הנגרר לגלגל גדול יותר, היתה לו יותר דרך לעשות כדי להשלים סיבוב של 360 מעלות ולכן הוא ינוע לאט יותר יחסית לגלגל המניע. כתוצאה מכך, הזרוע המחוברת היתה נעה לאט יותר. הכח שלה היה גדול יותר במקרה זה. (זה נקרא הורדת הילוך).
נפנה את תשומת לבכם לנקודה נוספת. כשחיברנו ציר לגלגל היינו צריכים לחשב את היקף הגלגל כדי לדעת מה המרחק שהגלגל יעבור בסיבוב של 360. להיקף הגלגל יש השפעה על מרחק הנסיעה. בחיבור זרוע החיבור כמעט ישיר בעזרת הציר אל המנוע. זה מאפשר לנו להשתמש בחיישן מעלות המנוע. בזרוע נכון לתכנת עם מעלות. סיבוב של 90 מעלות יגרום להרמת הזרוע ברבע סיבוב כמעט מדויק.
תיאור המשימה- הרובוט ירים את הזרוע 90 מעלות למעלה, ייסע עד שיגיע למרחק מתאים מהקופסה, מרחק שיאפשר הורדת הזרוע על הקופסה ושינוע שלה לאחור לקו ההתחלה בעזרת הזרוע.
נתחיל עם זרוע במצב התחלתי כשהיא פונה למטה. ילדים יתרגלו הנעה של זרוע 90 מעלות למעלה ולמטה.
*אפשר גם לרשום 90 מעלות ולתכנת מהירות חיובית או מהירות שלילית.
המורה ידביק סרט צבעוני או יצייר קו התחלה עליו הרובוטים יסתדרו כקו ההתחלה לביצוע התוכנית. במרחק של לפחות 60 ס"מ מקו ההתחלה, יציין המורה את קו הסיום.
בקו הסיום יונחו הקוביות הצבעוניות במרחק של לפחות 30 ס"מ זו מזו.
התלמידים ירימו את הזרוע וימדדו בעזרת החיווי בבקר את המרחק המתאים מהקופסה, בו הורדת הזרוע תגרום ללכידת הקופסה בתוך הזרוע.
הרמת הזרוע 90 מעלות (מנוע A בערך חיובי)
הפעל מנועים B, C במהירות X ללא הגבלה בזמן, מעלות מנוע או סיבובי מנוע.
חכה עד שחיישן מרחק מודד ערך קטן מ… (התלמידים צריכים למצוא את הערך)
עצור מנועים B, C
הורד זרוע (מנוע A בערך שלילי)
הפעל מנועים B, C בנסיעה לאחור (ערך מהירות שלילי) עד הגעה לקו ההתחלה.
אנחנו בחרנו להניע את הרובוט במהירות 30. במהירות גדולה יותר, מרחק הבלימה של הרובוט יהיה גדול יותר ולכן המרחק בין חיישן המרחק לקופסה צריך להיות גדול יותר.
אפשר לאתגר את הילדים ולתכנת את הרובוט כך שיבצע את משימת הקופסה גם במרחקים משתנים. כלומר נשים כל פעם את הקופסה במרחק שונה והרובוט ידע לבצע את שינוע הקופסה במרחקים משתנים.
לאחר שתכנתנו את הרובוט להגיב לסביבה באמצעות הקלט הנקלט מחיישן המגע או חיישן המרחק, נלמד עתה לתכנת את הרובוט, תוך כדי שימוש בתנאים מורכבים.
נכיר שני סוגי תנאי מורכב:
נתחיל עם האופרטור "גם" המשמש לחיבור שני ביטוים לוגיים (המהווים תנאי יסוד), כאשר התוצאה הסופית של חישוב הביטוי הלוגית מוגדרת באופן הבא עבור שני תנאים שנקרא להם תנאי א' ותנאי ב'.
התנאי "גם" יתקיים ויאפשר המשך ביצוע הפקודות הרשומות לאחר התנאי, רק אם שני התנאים הנבדקים מחזירים תוצאת "אמת" (1).
אם תנאי אחד לא יתקיים, תוחזר תוצאת "שקר" והתוכנית תמשיך בתהליך הבדיקה עד תוחזר תוצאת "אמת משני התנאים.
דוגמה:
תרגול התנאי המורכב "וגם"
המשימה:
הרובוט ייסע קדימה ויעצור רק אם חיישן המגע ילחץ וגם המרחק מהאובייקט יהיה קטן מארבע ס"מ (0.04 מטר).
הפעל מנוע B במהירות 30 קדימה
הפעל מנוע C במהירות 30 קדימה
חכה עד ש… חיישן מגע לחוץ וגם מדידת חיישן אולטרא סוניק קטנה מ- 4 ס"מ.
עצור מנוע B
עצור מנוע C
על מנת שהפקודות לאחר התנאי (עצירת המנוע) יתבצעו, שני התנאים חייבים להחזיר תוצאת "אמת", כלומר גם לחיצה על חיישן המגע וגם חיישן המרחק מקבל ערך קטן מ-4.
אם רק אחד מהתנאים יתקיים התוצאה שתוחזר תהיה "שקר" והפקודות לאחר מכן לא תתבצענה.
רק לחיצה על חיישן מגע לא תענה על התנאי
רק זיהוי מרחק קטן מ-4 ס"מ על ידי חיישן מרחק לא יענה על התנאי.
הערך שיחזור מהבדיקה, במקרה זה, יהיה "שקר" = 0
אם שניהם מתקיימים, כלומר חיישן מגע נלחץ והמרחק מהאובייקט קטן מ-4 ס"מ, יוחזר ערך "אמת" = 1. התוכנית תמשיך לפקודות הבאות.
אז כיצד נתכנת את פקודת התנאי המורכב "וגם"?
2. נגרור את הפקודה "וגם" (מפעילים)
3. נגרור את הפקודה "מדוד אולטרא סוניק" (רובוט)
4. נגרור את הפקודה "קטן מ…" (מפעילים)
5. בצידה השמאלי נכניס את פקודת "מדוד" ובצד ימין נרשום 4
6. נכניס את הפקודה למעלה לתוך בלוק "וגם"
בקשו מהילדים לתכנת את התוכנית ולהוריד אותה אל הרובוט. הזכירו להם להקפיד לבדוק שיציאות 1 ו 4 בDownloader מוגדרות נכון כמו בתמונה המצורפת מטה.
אופרטור "או" משמש לשילוב שני ביטוים לוגיים (המהווים תנאי יסוד), כאשר התוצאה הסופית של חישוב הביטוי הלוגי מוגדרת באופן הבא עבור שני תנאים שנקרא להם תנאי א'; תנאי ב'.
מספיק שתנאי אחד מתקיים כדי שבדיקת שני התנאים תחזיר תוצאת "אמת".
דוגמה:
אקח תפוח או תפוז לארוחת עשר בבית הספר.
הדגמת התנאי המורכב "או"
המשימה:
הרובוט ייסע קדימה ויעצור אם חיישן המגע ילחץ או המרחק מהאובייקט יהיה קטן מארבע ס"מ (0.04 מטר).
התנאי או מתקיים כאשר לפחות אחד מהתנאים בתוכו מתקיים, כלומר:
רק לחיצה על חיישן מגע תענה על התנאי "או" ותחזיר תוצאת "אמת" – 1
רק זיהוי מרחק קטן מ-4 ס"מ על ידי חיישן מרחק יענה על התנאי ויחזיר תוצאת "אמת" – 1
גם לחיצה על חיישן מגע וזיהוי מרחק קטן מ-4 יענה על התנאי ויחזיר תוצאת "אמת" -1
כדי לתכנת תנאי מורכב או נשתמש בבלוק תכנות "או"
מתוך חוצץ המפעילים.
נבקש מהילדים לרשום את האלגוריתם לתוכנית ואז לתכנת ולהוריד לרובוט.
הפעל מנוע B במהירות 30 קדימה
הפעל מנוע C במהירות 30 קדימה
חכה עד ש… חיישן מגע לחוץ או מדידת חיישן אולטרא סוניק קטנה מ- 4 ס"מ.
עצור מנוע B
עצור מנוע C
תכנות תנאי מורכב "וגם" הבודק מרחק קטן מ… וגדול מ…
מנוע B במהירות 30
מנוע C במהירות 30
חזור עד ש… מדוד אולטרא סוניק קטן משש
אם המרחק שנמדד על ידי החיישן גם גדול מ25 וגם קטן מ-75 (כלומר בטווח מרחק שבין 25 ס"מ עד 75 ס"מ)
אז הרובוט ינגן תו (צליל)
הרובוט ידליק נורת לד ירוקה
אם לא (כלומר המרחק הנמדד קטן מ-25 או גדול מ-75)
הרובוט ידליק נורת לד אדומה
ביציאה מהלולאה (מרחק קטן מ-6 ס"מ- הגיע קרוב לאובייקט או קיר). הרובוט יכבה את הנורה ויעצור מנועים.
תכנות תנאי מורכב "או" הבודק מרחק קטן מ… וגדול מ…
הפעל מנוע B במהירות 30
הפעל מנוע C במהירות 30
חזור עד ש… אולטראסוניק קטן משש
אם המרחק שנמדד על ידי החיישן קטן מ- 25 או גדול מ-75 (כלומר מחוץ לטווח מרחק שבין 25 ס"מ עד 75 ס"מ)
אז הרובוט ינגן תו (צליל)
הרובוט ידליק נורת לד ירוקה
אם לא (כלומר המרחק הנמדד הוא בטווח של 25 עד 75)
הרובוט ידליק נורת לד אדומה
ביציאה מהלולאה (מרחק קטן מ-6 ס"מ- הגיע קרוב לאובייקט או קיר). הרובוט יכבה את הנורה ויעצור מנועים
הילדים יתכנתו את הרובוטים, בעזרת חיישן אולטראסוניק, כך שלא יתנגשו בשאר הרובוטים הנעים בחדר. אם יש התנגשות הרובוט ישמיע צליל, ייסע לאחור ויסתובב מעט.
למדנו לתכנת את הרובוט בחוג סגור. השתמשנו בחיישן מגע ובחיישן צבע ולמדנו שבתכנות תנאי מורכב ניתן לגרום לרובוט להגיב לסביבתו בדרך מורכבת וחכמה יותר.
תם ונשלם חומר הלימוד למחצית א' בשכבת ד'.
בפרק הבא נעלה רעיונות לפרויקט סיכום שיעשה שימוש בכל יכולות התכנות שרכשו הילדים במחצית זאת.