Menu
CoddyTech

גרף עמודות עם כפתור סיבובי

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

שורה של נוריות LED יכולה להציג מספר כעמודה: ככל שיותר נוריות דולקות, המספר גדול יותר. כאן המספר מתקבל מהכפתור.

תחילה הפוך את הקריאה למספר הנוריות שיש להדליק, מ־0 עד 5:

int count = map(analogRead(A0), 0, 1023, 0, 5);

לאחר מכן עבור על כל נורית באמצעות לולאת for והחלט לגבי כל אחת. הנוריות שלפני המיקום count דולקות, והשאר כבויות:

for (int i = 0; i < 5; i++) {
  if (i < count) {
    digitalWrite(ledPins[i], HIGH);
  } else {
    digitalWrite(ledPins[i], LOW);
  }
}

ה־else חשוב: כשמסובבים את הכפתור כלפי מטה, הוא זה שמכבה את הנוריות שכבר אינן חלק מהעמודה.

challenge icon

אתגר

בינוני

הכפתור מחובר ל-A0 והנוריות נמצאות ב-ledPins. צרו תרשים עמודות:

  • הפכו את הקריאה למספר בין 0 ל-5 באמצעות map()
  • הדליקו את אותו מספר של נוריות, החל מהראשונה במערך, וכבו את האחרות
  • המתינו 10 ms ואז עשו זאת שוב

לחצו על Run וסובבו את הכפתור, ואז לחצו על Check.

נסו בעצמכם

const int knobPin = A0;
int ledPins[] = {2, 3, 4, 5, 6};

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

void loop() {
  // המר את הקריאה למספר בין 0 ל-5
  // הדלק את מספר נורות ה-LED הראשונות בהתאם לערך, וכבה את השאר
}
quiz iconבחנו את עצמכם

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

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

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