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