במיקרו:ביט אין באמת חיישן אור מובנה אך בעזרת נורות הלד - ניתן לקרוא את כמות האור ולפעול בהתאם. גם נורות הלד עצמן מובנות במיקרו:ביט וכך ניתן לבצע את כל העבודה בלי לחבר שום רכיב נוסף!
איך זה עובד?
עוצמת האור נמדדת בין 0 ל 255. גם הלד יכול להאיר בעוצמות שונות בין 0 ל 255. כל מה שאנחנו צריכים לעשות זה להציב את הסקלות אחת על השניה הפוך.
בערך ככה:
כלומר, כל נקודה שנבחר בסקלת עוצמת האור הנקלט - תוקבל באיזושהי נקודה בסקלה של עוצמת הדלקת הלד. באופן שכאשר עוצמת האור הנקלט תעמוד על 0 (חושך...) - עוצמת הדלקת הלד תהיה מקסימלית. אם עוצמת האור הנקלט תהיה מרבית - הלדים יהיו בעוצמה מינימלית - כבויים.
שיטת הכתיבה הזאת, הנקראת map, חוסכת לנו המון ifים ותנאים מסובכים שמגדירים ערכים שונים לעוצמות שונות.
במיקרו:ביט זה יראה כך:
בפייתון, השורה הרלוונטית, תראה כך:
- האם תוכלו לתכנת את המיקרו:ביט כך שבעוצמת אור נמוכה הוא יאיר באור חלש ובעוצמת אור גבוהה הוא יאיר באור חזק?
- האם תוכלו לתכנן שעוצמת האור המינימלית של המיקרוביט תהיה אור חלש במקום אור כבוי?
אדיר
השבמחק