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