בלוקים חדשניים

## מהם בלוקים?

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

## מדוע אנו משתמשים בבלוקים?

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

לדוג' - בלוק נסיעה לפי סנטימטרים, בלוק פנייה לפי מעלות, עקיבה על קו לבן, פנייה לפי ג'יירו וכו'.

* בלוקים לעקביות - כדי שהתוכנה שלנו תהיה יותר עקבית, בנינו בלוקים המשפרים את העקביות.

לדוג' - עצירה על קו שחור או לבן, התיישרות על קו לבן וכו'.

## בלוקים עם פרמטרים 1: התיישרות על קו לבן

שם: התיישרות על קו לבן

פרמטרים: מהירות

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

## בלוקים עם פרמטרים 2: התיישרות על קו שחור

שם: התיישרות על קו שחור

פרמטרים: מהירות

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

## בלוקים עם פרמטרים 3: נסיעה לפי סנטימטרים

שם: נסיעה לפי סנטימטרים

פרמטרים: מהירות, סנטימטרים, כיוון, היקף גלגל

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

## בלוקים עם פרמטרים 4: פנייה לפי זווית

שם: פנייה לפי זווית

פרמטרים: מהירות, זווית, כיוון סיבוב

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

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

## בלוקים עם פרמטרים 5: עצירה על קו שחור

שם: עצירה על קו שחור

פרמטרים: מהירות, מספר חיישן

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

## בלוקים עם פרמטרים 6: עצירה על קו לבן

שם: עצירה על קו לבן

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

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

## בלוקים עם פרמטרים 7: עקיבה פרופורציונלית

שם: עקיבה פרופורציונלית

פרמטרים: מהירות

איך הבלוק עובד: הבלוק מודד את הסטייה ומחשב על פיה את התיקון.
הבלוק מפעיל לולאה שבה החיישן אור אוסף את כמות האור, מחסר אותה ב60, כך שיוצא אם זה שחור בערך -55, מכפילים ב0.6, כך שיוצא בערך -33, ואז הרובוט זז בכיוון 33 לכיוון שמאלה. לעומת זאת, אם חיישן האור קולט לבן (בערך 100),  אז יוצא אחרי החישוב נסיעה בפנייה של בערך 24, ובגלל נוסחת הפנייה הזאת הרובוט תמיד שואף לערך אור 50 בערך, מה שגורם לנסיעה חלקה.

## בלוקים עם פרמטרים 8: פנייה לפי מעלות בעזרת ג'יירו

שם: פנייה לפי מעלות בעזרת ג'יירו

פרמטרים: זווית רצויה ומהירות לכל מנוע (כמו ב-move tank).

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

## בלוקים עם פרמטרים 9: נסיעה ישרה בעזרת ג'יירו

שם: נסיעה ישרה בעזרת ג'יירו

פרמטרים: מהירות וכמות סיבובי מנוע.

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

## בלוקים עם פרמטרים 10: ספירת סיבובי גלגל

שם: ספירת סיבובי גלגל

פרמטרים: מהירות וכמות סיבובי מנוע.

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