היער
יצאתם מהמעבר ומולכם יער. השמש חודרת דרך העלים הצפופים ונופלת על הקרקע — במקומות מסוימים בהיר, במקומות אחרים אפלולי, ויש אזורים שמכוסים לגמרי בצל.
אתם שואלים: "אין פה שלטים ואין שבילים. לאן הולכים?"
המפקח לומי מסתכל סביבו וחושב רגע. "נראה שהאור שחודר בין העלים מוביל לאנשהו. בואו נלך קודם לכיוון המואר. עכשיו תגרמו ל-TinkerBott לעקוב אחרי מקור האור בעצמו."
הידע שצריך
חיישן האור של micro:bit — טריק חכם
ל-micro:bit אין חיישן אור נפרד. אז איך הוא מודד אור?
התשובה מפתיעה: הוא משתמש בנורות ה-LED של המסך עצמו — בכיוון ההפוך.

בחיישן אור רגיל יש רכיב פוטו-אלקטרי (נגד תלוי אור או פוטודיודה) שמשנה את ההתנגדות שלו לפי כמות האור שנופלת עליו. זה נקרא האפקט הפוטואלקטרי.
וכאן הטריק: נורת LED יודעת לעבוד גם בכיוון ההפוך. ה-micro:bit מעביר את 25 הנורות למצב פוטודיודה, ומודד את הזרם ההפוך שנוצר בהן. כשאור פוגע בנורה, הפוטונים מעוררים את מוליך למחצה ויוצרים זרם — וככל שהאור חזק יותר, הזרם גדול יותר.
התוצאה מתורגמת למספר בטווח 0 עד 255. ככל שהערך גדול יותר, האור חזק יותר.
משימה: לעקוב אחרי האור
ההתנהגות שצריך לתכנת:
- הרובוט לא מזהה אור → מסתובב במקום ומחפש
- הרובוט מזהה אור → נוסע קדימה לכיוונו
תרשים הזרימה

שימו לב למבנה: יש שאלה באמצע — האם עוצמת האור גדולה מ-100? — ושתי תשובות אפשריות שמובילות לפעולות שונות. זו בדיוק התבנית שנקראת תנאי, והיא הרעיון החדש של השיעור הזה.
אבני הקוד

light level — קוראת את עוצמת האור, מ-0 עד 255. נמצאת ב-Input (קלט).

if ... then ... else — אבן תנאי. אם התנאי מתקיים, רץ מה שבחלק ה-then. אם לא — רץ מה שב-else. נמצאת ב-Logic (לוגיקה).

אבן השוואה — משווה שני מספרים ומחזירה נכון או לא נכון. גם היא ב-Logic. זו האבן שנכנסת לתוך החור המשושה של ה-if.
התוכנית

התוכנית קוראת את light level בכל סיבוב של הלולאה ומחליטה מחדש. אם האור מעל 100 — קדימה במהירות 100%. אחרת — פנייה שמאלה במהירות 30%, כלומר סיבוב איטי במקום, עד שהאור יימצא.
למה 100? זה סף שרירותי שמתאים לחדר ממוצע. אם החדר שלכם מואר מאוד, הרובוט "יחשוב" שהוא תמיד רואה אור ופשוט ייסע ישר. אם חשוך מדי — הוא יסתובב בלי סוף. הסף הזה הוא הדבר הראשון שכדאי לכוונן.
מריצים
טענו את התוכנית, כבו את האור בחדר, וכוונו אליו פנס של טלפון.

הרובוט מסתובב עד שהוא "רואה" את הפנס, ואז נוסע לכיוונו. תזיזו את הפנס — והוא ירדוף אחריו.
וזה מוביל אותנו קדימה
בעזרתכם הרובוט מוביל את המפקח לומי אל האזורים המוארים ביער.
מה יחכה להם שם?
נסו בעצמכם
- מצאו את ערך ה-
light levelבחדר שלכם: בנו תוכנית קטנה עםshow number (light level). מה המספר בחושך? ומה מול הפנס? - לפי מה שמצאתם — כוונו את הסף 100 לערך שמתאים לחדר שלכם.
- החליפו את הסימן מ-
>ל-<. מה עושה עכשיו הרובוט? (רמז: הוא בורח מהאור) - הוסיפו תנאי שלישי: אם האור חזק מאוד (מעל 200) — הרובוט עוצר. איך מוסיפים ענף נוסף ל-
if?


