Menu
CoddyTech

מונה בינארי באמצעות נוריות LED

חלק מהיחידה פלטים במסלול ה-Arduino של Coddy. שיעור 19 מתוך 24.

ארבע נוריות LED יכולות להציג כל מספר מ־0 עד 15 בשיטה בינארית, כפי שמחשבים מאחסנים מספרים. כל נורית מייצגת ערך כפול מזה שלפניה: 1, 2, 4 ו־8. נורית דולקת מוסיפה את הערך שלה:

  • 5 הוא 4 + 1: הנוריות שערכן 4 ו־1 דולקות
  • 10 הוא 8 + 2
  • 15 הוא כל ארבעת הערכים

כל מקום נקרא סיבית, ומספרים אותו החל מ־0, המקום שערכו 1. bitRead(number, n) מחזירה את הסיבית n של מספר, 1 או 0:

bitRead(5, 0);  // 1: ל־5 יש את ה־1
bitRead(5, 1);  // 0: ל־5 אין את ה־2
bitRead(5, 2);  // 1: ל־5 יש את ה־4

מכיוון ש־1 הוא HIGH ו־0 הוא LOW, אפשר לחבר את הסיבית i ישירות לנורית LED i:

for (int i = 0; i < 4; i++) {
  digitalWrite(ledPins[i], bitRead(count, i));
}

כאן ledPins[0], פין 2, היא הנורית שמימין, שערכה 1, כמו הספרה האחרונה במספר.

challenge icon

אתגר

בינוני

גרום לארבע הנוריות לספור בבינארי:

  • התחל את count ב־0
  • הצג אותו בנוריות באמצעות bitRead(), את הסיבית i ב־ledPins[i]
  • המתן 250 ms, הוסף 1, ואחרי 15 התחל שוב ב־0

לחץ על Run, ואז על Check.

נסו בעצמכם

int ledPins[] = {2, 3, 4, 5};  // ערכם 1, 2, 4, 8
int count = 0;

void setup() {
  for (int i = 0; i < 4; i++) {
    pinMode(ledPins[i], OUTPUT);
  }
}

void loop() {
  // הצג את count בבסיס בינארי, המתן 250 ms, ואז הגדל את count (חזרה ל-0 אחרי 15)
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה פלטים

תרגלו בעצמכם: Arduino אונליין