Menu
CoddyTech

הבהוב לפי פקודה

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

הקלד 3 והנורית אמורה להבהב שלוש פעמים ואז לעצור. loop() כבר חוזרת על עצמה, אז תן לה לבצע את הספירה: שמור משתנה עם מספר ההבהובים שנותרו. בכל פעם ש-loop() רצה, אם נותרו הבהובים, הבהב פעם אחת והפחת אחד.

int blinksLeft = 0;

void loop() {
  // מספר מהצג הטורי קובע את הערך של blinksLeft
  if (blinksLeft > 0) {
    // הבהוב אחד
    blinksLeft = blinksLeft - 1;
  }
}

כאשר blinksLeft מגיע ל-0, התנאי if שקרי והנורית נשארת כבויה עד למספר הבא.

תו השורה החדשה אחרי המספר עדיין גורם ל-parseInt() להחזיר 0 שנייה לאחר מכן. התעלם מ-0 כמו קודם, אחרת הוא ימחק את ההבהובים שנותרו.

challenge icon

אתגר

בינוני

הבהב את ה-LED בפין 13 כמספר הפעמים שהוזן בצג הטורי:

  • כשממתינים תווים, קרא מספר באמצעות parseInt(), ושמור אותו ב-blinksLeft אם הוא גדול מ-0
  • אם blinksLeft גדול מ-0, הבהב פעם אחת (200 ms דולק, 200 ms כבוי) והפחת ממנו 1

לחץ על Run, שלח 3 מצג הטורי, ואז לחץ על Check.

נסו בעצמכם

const int ledPin = 13;

int blinksLeft = 0;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

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

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

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

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