ספירה בתצוגה
חלק מהיחידה צגים וחיישנים במסלול ה-Arduino של Coddy. שיעור 3 מתוך 24.
עם showDigit(), כל ספרה היא קריאה אחת לפונקציה. לולאת for יכולה לקרוא לה עם כל מספר בתורו:
for (int n = 0; n <= 9; n++) {
showDigit(n);
delay(500);
}התנאי קובע מהו המספר האחרון. n <= 9 רץ עד 9 כולל; n < 9 נעצר ב-8.
הכניסו את הלולאה לתוך loop(), וכשהספירה מסתיימת, loop() רצה שוב והספירה מתחילה מחדש מ-0.
אתגר
קלshowDigit() מוכן. הצג את הספירה בתצוגה:
- הצג 0, 1, 2 וכן הלאה עד 9
- השאר כל מספר מוצג במשך 500 ms
- אחרי 9, התחל שוב מ-0
לחץ על Run כדי לצפות בספירה, ואז על Check.
נסו בעצמכם
const int segmentPins[7] = {2, 3, 4, 5, 6, 7, 8}; // a, b, c, d, e, f, g
// תבנית אחת לכל ספרה, נקראת מימין: הביט האחרון הוא המקטע a.
// gfedcba
const byte digits[10] = {
0b0111111, // 0
0b0000110, // 1
0b1011011, // 2
0b1001111, // 3
0b1100110, // 4
0b1101101, // 5
0b1111101, // 6
0b0000111, // 7
0b1111111, // 8
0b1101111 // 9
};
void showDigit(int n) {
for (int i = 0; i < 7; i++) {
if (bitRead(digits[n], i) == 1) {
digitalWrite(segmentPins[i], LOW); // דולק
} else {
digitalWrite(segmentPins[i], HIGH); // כבוי
}
}
}
void setup() {
for (int i = 0; i < 7; i++) {
pinMode(segmentPins[i], OUTPUT);
}
}
void loop() {
// הצג את הספרות מ־0 עד 9, חצי שנייה לכל ספרה
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה צגים וחיישנים
תרגלו בעצמכם: Arduino אונליין