Menu
CoddyTech

הדלקת LED בהדרגה

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

משתנה יכול להכיל את ערך הבהירות. בכל פעם ש־loop() פועלת, כתוב אותו ל־LED, הוסף לו מעט והמתן רגע. ה־LED נעשה בהיר יותר בהדרגה:

int brightness = 0;

void loop() {
  analogWrite(9, brightness);
  brightness = brightness + 5;
  if (brightness > 255) {
    brightness = 0;
  }
  delay(30);
}

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

255 הוא הערך המרבי ש־analogWrite() מקבלת, ולכן ה־if מתחיל את העמעום מחדש מ־0 ברגע שהבהירות עוברת אותו.

הצעד וההמתנה קובעים את המהירות: כ־50 צעדים של 30 ms נמשכים שנייה וחצי.

challenge icon

אתגר

קל

גרום ל-LED בפין 9 להתעמעם ולהאיר שוב ושוב:

  • שמור את הבהירות במשתנה שהוגדר מעל setup(), החל מ-0
  • בתוך loop(), כתוב אליו באמצעות analogWrite(), הוסף 5 והמתן 30 ms
  • כשהערך עובר את 255, החזר אותו ל-0

לחץ על Run והסתכל על ה-LED, ואז לחץ על Check.

נסו בעצמכם

const int ledPin = 9;
// הגדירו כאן את משתנה הבהירות, החל מ-0

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // כתבו את ערך הבהירות, הוסיפו 5, התחילו מחדש אחרי 255, המתינו 30 ms
}
quiz iconבחנו את עצמכם

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

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

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