العدّ على الشاشة
جزء من قسم الشاشات والمستشعرات في رحلة 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، لمدة نصف ثانية لكل رقم
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الشاشات والمستشعرات
1شاشات العرض ذات الأجزاء السبعة
شاشة العرض ذات الأجزاء السبعةأنماط الأرقام في البايتاتالعدّ على الشاشةالعدّ التنازلي حتى الصفرمحاكي رمي النردتدرّب بنفسك: Playground لـ Arduino