יום חמישי, 17 בספטמבר 2020

מיקרו:ביט שיעור מספר 5 - חיישן אור (Micro:bit 5#)

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

איך זה עובד? 

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

בערך ככה: 


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

שיטת הכתיבה הזאת, הנקראת map, חוסכת לנו המון ifים ותנאים מסובכים שמגדירים ערכים שונים לעוצמות שונות. 

במיקרו:ביט זה יראה כך: 


בפייתון, השורה הרלוונטית, תראה כך: 


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

ומשימות קטנות לסיום: 

  1. האם תוכלו לתכנת את המיקרו:ביט כך שבעוצמת אור נמוכה הוא יאיר באור חלש ובעוצמת אור גבוהה הוא יאיר באור חזק? 
  2. האם תוכלו לתכנן שעוצמת האור המינימלית של המיקרוביט תהיה אור חלש במקום אור כבוי? 


בהצלחה!!

תגובה 1:

הערות? הארות? יש לך משהו חשוב לספר לכולם? שאלות?

נשמח לשמוע!

(התגובה תפורסם בהקדם בכפוף לאישור מערכת מייקינג)