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