מונה בינארי באמצעות נוריות 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, כמו הספרה האחרונה במספר.
אתגר
בינוניגרום לארבע הנוריות לספור בבינארי:
- התחל את
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)
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה פלטים
4לולאות ומערכים
חזרה באמצעות לולאת forמערך של פיני LEDמרדף של חמישה נוריות LEDגרף עמודות עם כפתור סיבובימונה בינארי באמצעות נוריות LEDתרגלו בעצמכם: Arduino אונליין