Menu
CoddyTech

הבהוב שמאיץ

חלק מהיחידה המעגלים הראשונים במסלול ה-Arduino של Coddy. שיעור 17 מתוך 22.

delay(waitTime) ממתינה למה שהמשתנה waitTime מכיל באותו רגע. שנה את המשתנה בזמן שהסקץ׳ פועל, וההבהוב ישתנה בהתאם.

waitTime = waitTime - 100;   // ההבהוב הבא קצר יותר ב-100 ms

הוסף את זה בסוף loop(), וכל הבהוב יהיה קצר יותר מזה שקדם לו.

צפה במה שקורה כשהסקץ׳ פועל במשך זמן מה. זמן ההמתנה מצטמצם ל־0, ואז יורד מתחת ל־0. delay() לא יכולה להמתין זמן שלילי: היא קוראת את ‎-200 כמספר עצום, בערך 49 ימים, ולכן נראה שנורית ה־LED קפאה. הסקץ׳ צריך להחליט בעצמו מתי להפסיק להקטין את זמן ההמתנה, ועל כך עוסק השיעור הבא.

challenge icon

אתגר

קל

גרמו ל־LED בפין 13 להבהב מהר יותר ויותר:

  • בחלק העליון, הגדירו int waitTime = 1000;
  • ב־loop(), הבהבו עם delay(waitTime) בשתי ההמתנות
  • בסוף loop(), הקטינו את waitTime ב־200

לחצו על Run וצפו עד שהוא קופא, ואז לחצו על Check.

נסו בעצמכם

// הגדר כאן את waitTime

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

void loop() {
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
  // הקטן את waitTime
}
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה המעגלים הראשונים

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