1 / 39

מערכת NXT לרובוטיקה ובקרה ממוחשבת חלק VI - שערים לוגיים ותכנות דינמי

מערכת NXT לרובוטיקה ובקרה ממוחשבת חלק VI - שערים לוגיים ותכנות דינמי. תכנות דינמי.

glenda
Download Presentation

מערכת NXT לרובוטיקה ובקרה ממוחשבת חלק VI - שערים לוגיים ותכנות דינמי

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. מערכת NXT לרובוטיקה ובקרה ממוחשבת חלק VI - שערים לוגיים ותכנות דינמי

  2. תכנות דינמי • שפת NXT-G מאפשרת לנו לקבוע נתונים מראש אשר ישמשו את המערכת בעת הרצת התוכנית. נתונים אלו יכולים להיות עוצמת המנועים, כיוון הנסיעה, משך פעולה וכו'. כאשר נתונים אלו נקבעים על ידינו במהלך כתיבת התוכנית אין באפשרותינו לשנות אותם כאשר התוכנית כבר רצה. לכן נתונים אלו נקראים נתונים סטאטיים. • שפת NXT-G מאפשרת לנו לתכנת בהתבסס על נתונים דינמיים אשר משתנים בעת הרצת התוכנית. באופן זה אנו יכולים ליצור תוכנית סתגלנית יותר המגיבה לשינויים באופן גמיש הרבה יותר. • התכנות הדינמי מתבצע באמצעות חוטי נתונים – Data Wires

  3. חוטי נתונים – Data Wires • תוכנת NXT-G מאפשרת תיכנות דינמי באמצעות חוטי נתונים. קיימים 3 סוגי חיווט: • צהובים – נתונים מספריים (1,4,226.....) • ירוקים – נתונים לוגיים (True/False) • כתומים – נתונים מילוליים (Left, Start,…..)

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

  5. נתונים סטאטיים

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

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

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

  9. שערים לוגיים • שערים לוגיים הן פעולות חישוביות שאנו מבצעים על ערכים בוליאניים (0 או 1, כן או לא, אמת או שקר, True or False. • תוצאות החישובים של השערים הלוגיים יהיו גם כן בערכים בוליאנים, כלומר 0 או 1. ב NXT-g נשתמש ב True או False • ישנם 3 סוגי שערים לוגיים עיקריים: • And: פעולת And מתבצעת על שני ערכים לוגיים. באם שני הערכים הם True אזי התוצאה תהיה גם כן True. כל מקרה אחר ישיב ערך False. • Or: פעולת Or מתבצעת על שני ערכים לוגיים. באם אחד מהערכים הוא True אזי התוצאה תהיה גם כן True. רק במקרה בו שני הערכים הם False התוצאה תהיה False • Not: פעולת Not מתבצעת על ערך בודד ומשמשת להפוך את ערכו מ True ל False או מ False ל True

  10. שער AND

  11. שער AND

  12. שער OR

  13. שער OR

  14. שער NOT

  15. שער NOT

  16. שער XOR

  17. שער XOR

  18. שערים לוגיים • בשפת NXT-g ניתן לבצע חישובים לוגיים באמצעות הבלוק Logic הנמצא תחת קטגורית Data ב Complete Palette. ערך ראשון ערך שני תוצאה

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

  20. שערים לוגיים • קיימים מס' דרכים ליצור נתון לוגי בשפת NXT-g: • יצירת משתנה לוגי והשמת ערך True או False • שימוש בחיישן דיגיטלי כגון חיישן המגע להעברת ערך לוגי True או False • שימוש בבלוק Compare או Range לקבלת תוצאה True או False

  21. פקודת Range • במרבית המקרים נרצה לבחון מהו ערכו המדויק של משתנה או חיישן (למשל מה המרחק מהקיר?) אך לעיתים נסתפק בתשובה לוגית העונה לשאלה האם הערך נמצא בטווח אותו אנו מגדירים. התשובה לשאלה שכזו תהיה כן או לא, True או False. • לשם כך אנו משתמשים בפקודת Range המאפשרת לנו לבחון האם ערך כלשהוא נמצא בתוך (או מחוץ) לטווח המוגדר על ידינו (כנתון סטטי או דינמי). • פקודת Range נמצאת בקטגורית Data אשר ב Complete Palette

  22. פקודת Range הערך הנבחן התוצאה (True או False)

  23. פקודת Range בתוך/מחוץ לטווח? הטווח המוגדר הערך הנמדד (סטטי)

  24. פקודת Compare • במרבית המקרים נרצה לבחון מהו ערכו המדויק של משתנה או חיישן (למשל מה המרחק מהקיר?) אך לעיתים נסתפק בתשובה לוגית העונה לשאלה האם הערך גדול/קטן או שווה לערך אחר. • לשם כך אנו משתמשים בפקודת Compare המאפשרת לנו לבחון האם ערך כלשהוא גדול, קטן או שווה לערך אחר המוגדר על ידינו (כנתון סטטי או דינמי). • פקודת Compare נמצאת בקטגורית Data אשר ב Complete Palette

  25. פקודת Compare הערך הנבחן ערך הייחוס התוצאה (True או False)

  26. פקודת Compare גדול,קטן או שווה? הערך הנמדד (סטטי) ערך הייחוס

  27. משימת שערים לוגיים • כיתבו תוכנית העושה שימוש בשערים לוגיים להפעלת רובוט דו-מנועי באמצעות חיישני מגע. יש לאפשר באמצעות החיישנים הנעת הרובוט קדימה, עצירה, פנייה ימינה ופנייה שמאלה. • השתמשו בשערים לוגיים לבחון את מצב החיישנים • זכרו: כאשר החיישן מגע לחוץ הוא מעביר ערך True וכאשר הוא משוחרר הוא מעביר ערך False.

  28. משימת שערים לוגיים • בכמה מצבים ניתן להבחין בעת שילוב 2 חיישני מגע? • True-True • False-False • True-False • False-True • סה"כ קיימים 4 מצבים אפשריים. ניתן להגיע לזאת באמצעות חישוב מתמטי של מס' החיישנים בחזקת מס' המצבים האפשריים. ברשותנו 2 חיישנים כאשר לכל חיישן 2 מצבים אפשריים (True / False) ולכן 4=2^2

  29. משימת שערים לוגיים • כעת עלינו לזהות כל מצב ולהקצות לו פעולה מתאימה:

  30. משימת שערים לוגיים

  31. משימת שערים לוגיים

  32. משימת שערים לוגיים

  33. משימת שערים לוגיים

  34. משימת Range/Compare • כיתבו תוכנית העושה שימוש בשערים לוגיים הבוחנת את המידע המתקבל מחיישן המרחק וחיישן האור. על התוכנית לפעול באופן הבא: • כאשר חיישן האור משיב ערך הגדול מ 40 אך הקטן מ 60 וחיישן המרחק משיב ערך הקטן מ 40 תופיעה דמות סמיילי צוחק ע"ג צג הלבנה החכמה. • כאשר חיישן האור משיב ערך הקטן מ 40 או הגדול מ 60 תופיעה דמות סמיילי בוכה על המסך אלא אם חיישן המרחק ישיב ערך הקטן מ 30. במקרה זה על דמות סמיילי להיות נייטרלית (לא בוכה ולא צוחקת).

  35. משימת Range/Compare

  36. משימת Range/Compare האם חיישן האור נמצא בטווח הרצוי? True/False

  37. משימת Range/Compare כאשר חיישן האור אכן נמצא בטווח הרצוי האם חיישן המרחק נמצא בטווח הרצוי?

  38. משימת Range/Compare כאשר חיישן האור אינו נמצא בטווח הרצוי האם חיישן המרחק נמצא בטווח הרצוי?

  39. בהצלחה,

More Related